vault-sync: 2026-10-02 07:10 (jimmy)

This commit is contained in:
jimmy
2026-10-02 07:10:57 -07:00
parent a9100905dd
commit 5f406ba6b9
89 changed files with 7374 additions and 745 deletions
@@ -0,0 +1,61 @@
---
type: fact
agent: leonard
date: 2026-09-17
topic: daily-summary-2026-09-17
status: RECORDED
---
# Leonard — Full Day Summary 2026-09-17 (from 08:00 PDT)
Complete record of what was done today. Sources: live session logs + tool evidence; every item below was executed and verified in-session.
## 1. MiniCPM5-2B failure diagnosis (morning)
- **Problem:** repeated "why do you just stop working" / "why is minicpm5 failing".
- **Evidence:** 44× `Empty response (no content or reasoning)` in `profiles/leonard/logs/errors.log` across Sep 12/16/17; model returned thinking-only or empty under real Hermes agent turns.
- **Live tests (all passed):** direct curl/SSE against FreeToken `127.0.0.1:1919/v1` — small prompts, ~20K-token prompts, tools, streaming, 2–4-way concurrency, multi-turn. Root cause = model-vs-agent-load behavior (2B emits CoT then nothing), NOT server/KV (user confirmed 109K KV is fine).
- **Secondary:** shared-OpenAI-client eviction bug (WinError 10058) compounding empties; config still defaulted to the failing model.
## 2. Hermes profile audit + 4 fixes (~09:00–09:30)
1. **Model default** → `routeapi / deepseek-v4-flash-0731`, base_url `https://api.routeapi.ai/v1`, ctx 1,048,576, fallback `routeapi/deepseek-v4-pro`. Snapshot `config.yaml.good-1789656587`.
2. **Cron fully restored (was wiped since Sep 3):** PSS 45-Day Velocity Check · Tailnet Watchdog · autoresearcher · curator-weekly · havoc-nightly — all pinned to routeapi; new Windows scripts written (`curator-run.sh`, `havoc-nightly.sh`, `tailnet-watch.sh`; tailnet-watch fixed: `\d` → `[0-9]` in git-bash grep, state column `$5` captured).
3. **Memory:** USER.md 1,599 → 1,241/1,375 (consolidated duplicate entries).
4. **Hermes update:** was 1,830 commits behind → `hermes update --yes` → all 4 gateways restarted, session restored.
**User directives executed:** paused Tailnet Watchdog (6b09ed15412c), then paused ALL cron jobs (0 active; nothing deleted — all resume-able).
## 3. Obsidian vault directive (standing, first noted this session)
- Vault path: `C:\Users\fight\Documents\Obsidian Vault`
- Logged: `02_agents/leonard/lessons.md` (+7 lessons), `facts/20260917-0800-audit-hermes-profile-leonard-fixes.md`
## 4. Phoenix Salon + Spa full audit (www.phoenixcameronpark.com)
- **Audit ID:** PSS-2026-09-17 · Score 70/100 · 11 findings (2 Immediate, 4 High, 3 Medium, 2 Enhancement)
- Key: 🟥 hours (initially wrong) + dead old-brand domain `lamaesalonspa.com` (301→526); 🟧 La Mae residue on Fave/Alignable, review velocity thin (~5mo), GBP hours ambiguity, stale sitemap lastmod; ✅ canonical fixed since July, valid JSON-LD, Vagaro booking live, 4.9★ Google / 4.9★ Yelp / 4.7★ FB (leads all local competitors).
- Deliverables (all verified: 0 pricing leaks, 11/11 cross-referenced, 7/7 sub-scores): `04_projects/phoenix-salon/audits/2026-09-17/` → `00_EXECUTIVE_REPORT.md`, `01_TECHNICAL_APPENDIX.md`, `02_IMPLEMENTATION_ROADMAP.md`, `00_FIXPACK_phoenixcameronpark.md`, `01_RUNBOOK_phoenixcameronpark.md`, `02_KANBAN.md`.
## 5. Core 3 field map → VeriPath integration
- **Committed to `Tony_tech/veripath` (all pushed + byte-verified via git blob compare):**
- `f3bae05` — `docs/architecture/core-3-field-map-v1.md` + `implementation/auditing/core3_field_map.py` (14-field dictionary, sourced: GBP Location/Attributes API, Apple ABC docs, Bing Places PDF; hard rules: attributes genre-gated via live `attributes.list`, no services parity, Apple SAB confirm)
- `3f9234f` — audit_engine refactor: `check_nap_phone/address/website`, `check_hours_mismatch`, `check_category_alignment` resolve field names via `_collect_field` + `_CONTRACT_KEYS`; regression-verified identical on 3 fixtures
- `24dc8c3` — regression fix: website hours were dropped (`website→None`) — restored to `website→"hours"`; caught by Phoenix real data, not fixtures
- **ServicedogTrainingDFW = ON HOLD** (user directive): stash@{0} (CBR rewrite) + 3 untracked repo files preserved, not committed/deleted. Vault note: `04_projects/veripath/servicedogtrainingdfw-ON-HOLD.md`; memory consolidated.
## 6. Phoenix VeriPath engine run + hours reconciliation (afternoon)
- Engine run via evidence-based contract (`docs/validation/2026-09-17-phoenix-salon-spa/`) — scrapers not installed locally (Playwright/gmaps are VPS-side), used manual-evidence fallback.
- User fed live surface data: GBP Mon–Sat 9–6 Sun Closed; Yelp same; re-captured website — Mon–Fri already fixed to 09:00 since morning capture.
- **Owner truth correction (2026-09-17): Saturday = 9 AM–6 PM** (NOT 9–3 as earlier vault records stated).
- Final hours state: **ALL surfaces match Mon–Sat 9–6, Sun Closed**, single residual = website JSON-LD Sunday `00:00–00:00` encoding (some parsers read 24h-open; fix = omit Sunday from `openingHoursSpecification`).
- Files updated: `overview.md`, `phoenix-hours-fix.md` (full rewrite), fix pack JSON-LD (re-validated Mon–Sat 09:00–18:00), runbook (GBP verify-only), exec report revision banner, engine canonical record (Sat 09:00-18:00).
## Open items / pending decisions
- Commit Phoenix validation artifacts (`docs/validation/2026-09-17-phoenix-salon-spa/`)? — waits on user OK
- Install scraper stack locally (Playwright + google-maps-scraper) for live pipeline runs locally? — waits on user OK
- Optional: route remaining checks (`check_description`, `check_photos`, …) through Core 3 map
- All cron jobs paused — resume individually via `hermes cron resume <id>`
@@ -0,0 +1,7 @@
# PLANNING framework is now baked into my processes. I will: 1) Verify all prerequ
category: user_pref
tags: planning,process,framework
stored: 20260919-034456
PLANNING framework is now baked into my processes. I will: 1) Verify all prerequisites before acting, 2) Read actual source files before assuming, 3) Load relevant skills explicitly, 4) Match reasoning depth to task stakes, 5) Decompose and delegate in parallel where possible, 6) Snapshot before destructive changes, 7) Track repetition and failure recovery, 8) Maintain context and memory discipline, 9) Use scheduling and background work appropriately, 10) Follow all invariants and stop conditions. This framework is now part of my persistent process.
@@ -0,0 +1,28 @@
# Audit failure: retrorevolution.com age-gate misread as 404 Date: 2026-09-18 Use
category: project
tags: audit, hallucination, gate, age-verification, reliability
stored: 20260919-195630
Audit failure: retrorevolution.com age-gate misread as 404
Date: 2026-09-18
User: Anthony Balascio (tonybj) via Telegram DM chat 5789896722
Issue: browser_exec tool returned 404/"Page not found" for https://retrorevolution.com/stores/dallas-location/, incorrectly concluding URL was broken.
Root cause: The page has an interactive age-verification gate ("Are You Over 18?" with CONFIRM/CANCEL buttons). The browser tool could not interact with this gate and fell back to showing the gate's error/content as if it were a 404. The gate page's tab title contained "Page not found" as text, which was misleading — it's the gate page's internal label, not an HTTP 404.
Actual state: Page loads fine with age-gate overlay; user must click CONFIRM to access content. No HTTP 404 was involved.
Impact: Agent incorrectly reported the URL as broken, which would appear in any audit of "working links" and create a false hallucination record.
Fix/prevention:
1. Before concluding a URL is broken, check if the page shows an age-gate or interactive overlay.
2. Look for "Are You Over 18?", cookie consent modals, login walls, or other gates in page content.
3. If a gate is present, do NOT report the URL as broken — note the gate and require user interaction.
4. Add gate-detection heuristics to audit workflows: search for keywords like "over 18", "age verification", "confirm", "cancel" in page title and main content.
5. Document gate-encountered URLs in audit logs so future checks know the pattern.
Recorded by: Hermes Agent (jimmy profile)
Purpose: Audit trail — no hallucinations on link-checking going forward.
@@ -1,26 +1,17 @@
# audit-pipeline skill created (2026-09-18)
# audit-pipeline skill created (2026-09-18) Three corrections applied to the audi
category: project
tags: audit, hallucination, gate-detection, blind-fact-check, tie-breaking
stored: 20260919-214721
updated: 2026-09-19T22:17:00Z
audit-pipeline skill created (2026-09-18)
Three corrections applied to the audit pipeline design after retrorevolution case:
1. Gate detection is SEMANTIC, not lexical — vision_analyze on screenshots + LLM analysis of DOM text.
2. Fact-checker is TRULY blind — fetches URL fresh from scratch, different user-agent, no shared ledger.
3. Tie-breaking verification — third signal (known-good reference URL) when both agree but both might be wrong.
## Failure evidence (required for grep / post-mortem)
- case: retrorevolution age-gate misread as 404
- exact_url: https://retrorevolution.com/stores/dallas-location/
- known_good_reference: https://retrorevolution.com/
- false_finding: BROKEN / Page not found (404)
- actual_state: CONFLICT — do not publish until human verification past Cloudflare wall
- independent_check_2026-09-19T22:11Z: HTTP/2 200 on both URLs; body title "One moment, please..."; visible text "Please wait while your request is being verified..."
- pipeline_claim_2026-09-19T22:08Z: HEAD 404 + title "Page not found – Retro Revolution" on store path
- gate_type_observed_here: BOT_WALL (Cloudflare / request verification), not confirmed AGE_GATE on the store path
- prior_screenshot_age_gate: attributed to homepage or another live path; must not be reused as evidence for /stores/dallas-location/
- publish_rule: disagreement or unresolved interstitial → human review; never forced consensus
- hash_rule: write evidence file first, then hash the written file; store hash separately
- tie_break_rule: compare response shape against known-good reference URL on the same domain, not merely an alternate-IP HEAD
1. Gate detection is SEMANTIC, not lexical — vision_analyze on screenshots + LLM pass over DOM text, not brittle string lists. Catches "Verify your age", "Confirm you are of legal drinking age", CAPTCHA "I'm not a robot".
2. Fact-checker is TRULY blind — fetches URL fresh from scratch with no shared ledger. Different user-agent, alternate network path. Not correlated checking.
3. Tie-breaking verification — third signal (HEAD from different IP, or known-good reference URL) when both agents agree but might both be wrong. Prevents both-agents-miss-the-truth failure mode.
Skill location: skills/audit-pipeline/SKILL.md
@@ -0,0 +1,36 @@
---
type: fact
agent: leonard
date: 2026-09-24
topic: pss-45day-velocity-gate
status: FAIL
---
# Phoenix Salon + Spa — 45-day close-out verification gate (2026-09-24)
Cron `3860beb4b10e` (PSS 45-Day Review Velocity Check) — first real run.
## Verdict: velocity FAIL — project NOT ready to mark Closed on this gate
(Remediation surfaces are mostly green per surface-checklist; F4 review velocity remains open.)
## Current counts (live 2026-09-24)
- Google: 4.9★ / **64** (SERP + Google local pack + Maps)
- Yelp: 4.9 / **65**
- Vagaro: 5.0 / **686**
- Facebook: 4.7 / 47
## Baseline comparison — BLOCKER
- Referenced baseline `~/projects/phoenix-pss-closeout/PSS_CLOSEOUT_FINDINGS.md` **does not exist** on this PC (searched projects/, Documents/, Desktop, AppData/hermes, Gitea remote + org repos, session history). Cron was created 2026-08-10 pointing at it; the file was never found anywhere.
- Proxy evidence instead: Google = 64 on 2026-09-11 (overview), 64 on 2026-09-17 (audit), 64 today → **flat ≥2 weeks; no 15+ gain observable**.
- Newest visible Google review ≈ Apr 2026 (per 09-17 audit) → still ~5 months stale. Review-request flow (roadmap item 7) has produced no visible new Google reviews.
## Local pack (today)
- Google "salon Cameron Park": Fine Arts (4.7/57) → **Phoenix (4.9/64) #2** → Vibe (4.7/50)
- Google "balayage Cameron Park": Oak Haven (5.0/8) → **Phoenix (4.9/64) #2** → Salt & Light (5.0/6) — Phoenix dominant by review volume
- Google "spray tan Cameron Park": Paris artifact polluted pack; **Phoenix only Cameron Park business listed**
- Yelp tanning list: Phoenix **#1**; Yelp hair salons list: Phoenix **#3** (Vixen #1, Theory #2)
- vs 09-17 benchmark: stable top-3, no movement.
## Recommendation
- Do NOT mark the Phoenix project Closed on the review-velocity gate. F4 (velocity) stays open; re-target after Vagaro review-request flow is confirmed ON and producing Google reviews.
- Consider recreating the baseline file (or deleting the stale cron) — the referenced path never existed.
@@ -0,0 +1,22 @@
# [FACT] Grid My Business launches AI Search (AI-visibility tracking) — competitor intel for VeriPath
category: veripath
tags: competitor, ai-search, local-seo
stored: 20260928-200401
source: https://www.newsfilecorp.com/release/315664 (Newsfile, Sep 23 2026, 11:34 AM EDT; syndicated at business.am-news.com)
Grid My Business (Plentisoft; gridmybusiness.com) launched **AI Search**, a feature measuring local visibility across **four AI platforms: ChatGPT, Google Gemini, Google AI Mode, Google AI Overviews**. User flow: pick a business → enter a customer question → choose AI platforms → define geographic area → scan locations → map mentions (business named / competitor named / no mention).
Key features:
- Location-based results — how AI answers vary across a service area
- AI Share of Voice — % of answered locations where business was mentioned
- Competitor comparisons across questions, locations, platforms
- Cited-sources reporting — which websites AI used in answers
- Recurring monitoring — rerun daily/weekly/monthly
- AI answer history — actual answers returned per scanned location
- Client reporting — export maps/reports, share with clients
- AI visibility score — mention frequency, answer position, platform coverage, owned-site citations, sentiment
Contact: Mark Gan (Community Manager), mark@gridmybusiness.com. Available to every Grid My Business account on an active plan, incl. their AI Tracker. Full-stack local SEO platform: geo-grid scans, local rank tracking, GBP management, SAB support, MCP server integration.
**Relevance to VeriPath:** direct feature overlap with VeriPath's AI-search visibility auditing (AI platforms coverage + share of voice + cited sources). Grid My Business competes on breadth (all-in-one platform w/ MCP server) + recurring monitoring; VeriPath edge = audit-first controlled workflow, custom question sets, VeriPath v1 contract structure. Monitor as reference for AI SOV metrics & scoring inputs (position, platform coverage, citation source = same signals VeriPath tracks).