Audit — Knowledge-Layer Full Rethink

KB Rethink: locked rules, skills, cadences, hardcoded rot

Generated: Wednesday, July 1 2026 · ~8:35 PM EDT (NY) · 16 Tamuz 5786
Sam-ordered FULL RETHINK ("nothing's hardcoded") · repo zee78900/hookstreet-workspace · commit 38a6944
Method: knowledge-base-health-check skill + 3 parallel audit agents (locked rules / cadence+HOW-TO / hardcoded values) + hands-on skills pass

TL;DR (index — details in the sections below)

  • §1 Locked rules: 3 premises DIED inside CLAUDE.md itself (ops-api "FROZEN", Gmail-draft "still required", the whole Jun-7 status block); 3 need re-verify (MIS "frozen" persona wording, obligations system-of-record, one doc still teaching UI-redeploy).
  • §2 Skills: 8 skills factually refreshed in .claude/skills/; 10 verified current; mirroring to hookstreet-skills/ SKIPPED — all build-source copies are git-dirty (another session's uncommitted sync).
  • §3 Cadence + HOW-TOs: CADENCE.md top relock is fresh, its bottom "Recurring artifacts" stratum (L178–242) contradicts it; 8 of 20 runbooks carry staleness, 1 fully superseded.
  • §4 Hardcoded rot: 13 files still quote $22,135 equity as fact; 6 still assert Chanie $30K/mo; three contradictory ticker-universe sizes; a 3-way National Grid conflict.
  • §5 The unlearn list — 10 things we "knew" that are now wrong.

§1 — Locked-rules verdicts

🔴 PREMISE DIED — fix text proposed (CLAUDE.md NOT edited; parallel sessions)

Rule (lock date)WhereVerdict + proposed fix
"ops-api FROZEN on 8523bfaf until deploy-safety passes" (6-25) CLAUDE.md:6 (flagship block) DEAD. Deploy-safety PASSED: 32 secrets wrangler-owned + durable, cd ops-api && npx wrangler deploy is safe, master push keeps /health secrets_ok:true; ops-api shipped repeatedly 6/25→7/1 (morning brief, cameras, Hospitable, /mis/quotes). Bonus: feedback_ops_api_master_push_clobber.md:32 flags 8523bfaf itself as INCOMPLETE. Fix: "ops-api deploy-safety PASSED (2026-07-01): secrets wrangler-owned; deploy via wrangler; rollback = version ad740523."
"Gmail draft (still required)" sub-section CLAUDE.md:341-345 vs the portal-first header at :323-327 DEAD — internal contradiction. The 5/24 portal-first relock says "do NOT auto-draft to Gmail," but numbered step 2 of the same rule still says drafts are required. Fix: retitle to "Gmail draft (ONLY when forwardable/paste-able — not the default)."
CURRENT SESSION STATUS block dated 2026-06-07 CLAUDE.md:386-387 DEAD — ~4 weeks stale with past dates presented as urgent: Orlando trip "Jun 14–16", "Jun 15 = $9,854 mortgage cluster / fund by Jun 13", "June 3 waivers", "5/22 wire", "46 open / 39 loops", and "Phase 2 = scale to 200–250 tickers" in the same line that was half-patched to say the freeze lifted. Fix: regenerate the block from the two 7/1 CONTEXT.md entries.

🟠 NEEDS RE-VERIFY / RECONCILE

  • MIS "(frozen)" persona wordingdocs/OPERATORS.md:7,9,44,48-49 still says "HARD FREEZE… NO new score/state/factor/scale"; docs/MIS_OPERATOR.md:26-37 keeps a 6/12 freeze-gate section under its own fresh "✅ FREEZE LIFTED 7/1" banner (:8). Scoring freeze LIFTED 7/1 (Sam sign-off, docs/MIS_FREEZE_FIX_LIST.md, scaled to 237); only Track-B calibration stays window-gated. Mark the 6/12 section HISTORICAL.
  • Obligations system-of-recordCLAUDE.md:146 says v1 Sheet canonical / v2 stale, but BOS v3's fn=obligations endpoint went LIVE 7/1 and now feeds the cloud morning brief. Sam must call which is canonical going forward (v3 numbers predate the 7/1 bug-fixes until re-migration per docs/BOS_V3_RUN_PLAN.md).
  • One doc still teaches the retired UI-redeploy habitdocs/CLAUDE_TOOLS_AVAILABLE.md:54 ("Use UI: Manage Deployments → New version") contradicts the locked 6/04 self-deploy rule (CLAUDE.md:312). Reconcile that line (+ its outputs/lib/ copy).

🟢 STILL VALID (spot-checked)

Never-hard-delete (graveyard policy) · clasp self-deploy · evidence-and-confidence (6/16) · Rule 9 proof-artifact · Rule 10 sacrificial-test · operational compression · privacy guardrails · parallel-sessions law · forced-light briefing theme (6/08) · Quick-Trade-Calc-not-Trade_Planner. Cosmetic: the "⚠ PARALLEL SESSIONS" header is pasted twice (CLAUDE.md:288-292).

§2 — Skills: fixed, verified, skipped-dirty

✅ FIXED tonight (in .claude/skills/<name>/SKILL.md — the copies that actually run)

SkillWhat was stale → fixed
str-ops-davenportCleaner "Luciana via Turno" → Nathali Galvão Oliveira, WhatsApp Business (Portuguese; daughter translates), Hospitable Tasks; Hospitable LIVE added to stack + trigger (ops-api /hospitable/reservationsoutputs/str.html); HOA litigation block updated to the 6/25 Asher decision brief (cure ≈$16.9K vs stip ≈$29.6K, penny-verified, SENT) with both waiver dates marked PAST.
mis-daily-reportBody still said "still under FSE freeze" → scoring freeze LIFTED 7/1 (Track-B window-gated); "Phase 2 vision 200–250 tickers" → SHIPPED: 27→237, Schwab-via-v2 real-time quotes, ops-api /mis/quotes + D1. (Frontmatter was already updated by the earlier session.)
obligations-auditAdded BOS v3 fn=obligations endpoint LIVE 7/1 as a canonical source (with the pre-bugfix caveat); HOA block re-anchored to 6/25 Asher state; "STR mortgages ~6/15–16" → every-month ~15th–16th + 7/1 balance finds; Duke 9332 reframed "was OFF early June — VERIFY restored."
hookstreet-session-operator"Mildred scoping NOT done" → SHIPPED 7/1 (2 scoped CF Access apps, mildred@ removed from host policy, token rotated, /work shareable; new-briefing residual rule); crisis-loop list marked June-era + verify-live.
knowledge-base-health-checkContradiction anchors refreshed: MIS freeze → lifted 7/1 / Track-B gated / equity is live-only; HOA anchor → 6/25 state; Chanie income anchor → ~$19.7K real (was "$30K+/mo").
command-inbox-engineMorning brief note: canonical brief is now the cloud ops-api generateMorningBrief() (6:30 ET, PC-free); the Apps-Script 6:48 one is redundant — TRIPLE-redundancy flagged in docs/AUTOMATIONS_MAP.md; don't add a fourth.
braindump-routerEntity table: Luciana → Nathali; bug fixed: Asher Gulko was listed as "attorney, Di Masi Burton" — he is SAM'S attorney; Di Masi Burton is the opposing firm.
resource-monetization"This week… fund the ~6/15–16 mortgages" → June-era standing list, verify live queue, mortgages monthly ~15th–16th, HOA brief sent 6/25.

🟢 Verified current (no edit needed)

telegram-voice (OpenAI TTS live claim holds; the "~6 stale MeloTTS strings in start-here.gs" claim re-verified tonight — 5 remain) · eden-gardens-status (Asher engaged; #20028 open — unchanged) · levsms (6/19 state; Sam's 3 go-live flips still pending per CONTEXT) · market-why-brief · find-it-first (born tonight) · briefing-compactor · archive-deep-dive · operations-systems-build · passover-program-ops · underwriting-method.

🟠 Flagged but NOT edited (can't verify tonight — test first)

  • DONE/DEFER via scripts/inbox.ps1 "broken, returns ?" — stated as open in command-inbox-engine + mis-daily-report as of 6/05. Many bot deploys since (@126+). One live test (DONE on a junk card) settles it; then update both skills.
  • "Bot MIS BRIEF not live / stale AI-snapshot" (mis-daily-report) — unknown after the 7/1 MIS data-foundation work; re-verify against the bot.

⚠️ Mirroring SKIPPED — build-source dirty

Per instruction, no hookstreet-skills/ file was touched: git -C hookstreet-skills status --short shows ALL ~18 SKILL.md files + dist bundles modified (an uncommitted Jun 5–7 sync plus tonight's mis-daily-report edit by the earlier session; active and build copies were byte-identical before my edits). Follow-up for whoever owns that repo: after committing the pending sync, mirror tonight's 8 edited skills from .claude/skills/hookstreet-skills/ and rebuild the matching dist/*.skill bundles, or they silently diverge (the exact trap the health-check skill warns about).

§3 — Cadences + HOW-TOs (report only, nothing edited)

CADENCE.md — fresh top, stale bottom

The 6/11 relock (L1–160) is correct (portal-first, no auto-draft, cloud two-part morning loop). The stale layer is the old "Recurring artifacts" stratum, L178–242:

  • Morning-brief triple attribution: L186 (MIS Apps Script ~9:55) + L189 (BOS Daily Snapshot ~7:40) still described as generators alongside the cloud Worker loop — matches the TRIPLE redundancy in docs/AUTOMATIONS_MAP.md (6:48 AppsScript + 7:30 routine + 7:45 CF cron). Consolidate to ONE.
  • Always-Gmail-draft lines: L207, L228, L229 ("outputs/ + Gmail draft") + L237 ("find artifacts in Gmail inbox") contradict the portal-first rule at L8 of the same file.
  • L26 locks a "BOS v3 Weekly Digest" firing that the file's own header calls never-built; L18 "Until built" on the two-way morning loop — now shipped; L41 "Desktop Claude triggered" deep-insights — PC-tied wording.

HOW_TO library (20 runbooks): 12 fresh · 7 partly-stale · 1 superseded

RunbookVerdictWhy
build-mom-wholesale-os.mdSUPERSEDEDSelf-declared: CM_Invoice_System v2 is the answer; clone graveyarded.
hookstreet-ai-automation-playbook.mdPARTLYMorning brief as Apps-Script trigger (L13/128/203) — now ops-api Worker; its "next skills" now exist as command-inbox-engine etc.
pwa-private-deploy.mdPARTLYTargets ops.hookstreetcapital.com + Apps-Script backend; live stack = ops.hookstreetservices.com + ops-api Worker.
fix-mis-earnings-penalty-bug.mdPARTLYDeploy = bare git push; predates clasp self-deploy lock; domain absorbed by mis-daily-report skill.
gmail-delegation-mildred-access.md / gmail-labeling-audit-execution.mdPARTLYFramed as pending; Mildred scoping SHIPPED 7/1 — now historical runbooks.
audit-installment-card-routing.md (+ audit-cancel-subscriptions.md)PARTLYAbsorbed by obligations-audit skill; "TBD" routing entries stale.
Other 12 (hosting rule, read-drive-sheets, monday-pro, whatsapp-extraction, str-reimbursement, bos-cleanup, eden-sweep, consulting-package, LLC filing, engagement prompt, migrate-chatgpt, README)FRESHEvergreen or self-flagged complete. (README says "17+"; 20 exist.)

§4 — Hardcoded-values hitlist (worst 10)

#ValueLives inLive lookup instead
1$22,135 "equity" — a 6/04–05 snapshot quoted as fact in 13 files (docs already contradict it: relay-log says $21,020, steering says ≈$21.6K)MIS_SYSTEM_STATE, PORTFOLIO_LEDGER, MIS_OPSAPI_CONTRACTS, CONTEXT, WORKER_BEE, 2 skills, memories…MIS fn=portrecon GREEN / broker CSV — never a written number
2Chanie "$30K/mo" — still asserted in 6 files; corrected 6/11 to ≈$19.7K/mo real payroll (−$6.7K/mo structural gap rides on this)ARCHITECTURE:86, CONTEXT:114/440, MEMORY.md:13, user_cash_inflow_structure:13, project_chanie_bot:20user_chanie_income_30k_monthly.md (whose own filename is stale) / Rocket-Money CSV
3Ticker universe: 183 vs "200–250" vs 237 — three contradictory sizes across MIS docs; live = 237 as of tonightMIS_SYSTEM_STATE:15/46, MIS_V2_REQUIREMENTS:70, MIS_LINEAGE:104, CLAUDE.md:387MIS live universe (fn=state / MIS_UNIVERSE.md) — reference, don't restate
4CLAUDE.md:387 — one line carrying 7 rotted values (past deadlines as urgent, stale queue counts)CLAUDE.md:387Regenerate from 7/1 CONTEXT; queue counts from inbox.ps1 QUEUE
5National Grid 3-way conflict: $356.77 vs $831.77 vs ~$1,100 (shutoff stakes)PROPERTY_UTILITIES_MAP:9/39/44 vs MAY_AUTOPAY:30/45/80 vs CONTEXT:669Monthly Obligations v1 Sheet + the National Grid portal balance
6"~130 topic files" sizing the flagship Cloud Memory ingest — actual ≈161 (CONTEXT itself says 160/161 indexed)CLAUDE.md:6, CLOUD_MEMORY_LAYER:73/193/203, FABLE_READINESS:18live file count of memory/
7"1,375 contacts" — restated as fact in 3+ files while the read-drive-sheets runbook warns the connector truncates and to "never trust its size"CONTEXT:305, WORKER_BEE:40, FABLE_READINESS:66live row count of Contacts — Clean (CRM) sheet 1f1VoLue…
8"$15.2K unused 0% BT" — a deployment decision input the same doc calls "BLIND"FABLE_READINESS:19/55/100, reference_credit_stack memoryPlaid /plaid/liabilities live balances/limits
9HOA "$5,609.30 by Fri 5/22" still framed as an open action in LIVE BOT CODEcommand-inbox/start-here.gs:2143-2145, CONTEXT:456, CURRENT_STATE:48str-ops-davenport skill + court dockets (matter is with Asher since 6/25)
10Jun-15 "$9,854 cluster / fund by Jun 13" + Orlando "Jun 14–16" — past dates as urgent in 7+ filesCLAUDE.md:387, MASTER_SESSION_KICKOFF:80/164, OBLIGATIONS:55, WORKER_BEE:90, steering docsamounts → MORTGAGE_ROUTING/OBLIGATIONS table; status → live Plaid + Action_Queue

Root cause across all 10: bare literals with no "as of" date and no pointer to the live source — they read as standing fact instead of snapshot. New-writing rule worth locking: any money/date/count in a doc gets either an "as-of" stamp or a pointer to its live source; never both omitted.

§5 — The UNLEARN list (things we "knew" that are now wrong)

  1. "MIS is HARD-FROZEN — no engine deploys." The v2 SCORING freeze was LIFTED 2026-07-01 (Sam sign-off after the executed 7-fix window; universe 27→237, recon GREEN). Only Track-B calibration (weights/thresholds/new factors) stays window-gated. Docs still saying "frozen" (OPERATORS.md, MIS_OPERATOR.md §6/12) are the stale layer now.
  2. "ops-api is FROZEN / deploys strand secrets / never push." Root-caused 6/25 (a CF build deploying the portal OVER ops-api) and cured 7/1 — 32 secrets wrangler-owned + durable; npx wrangler deploy is the normal path; every deploy verified secrets_ok:true. The fear is dead; the discipline (check /health after deploy) lives on.
  3. "The cleaner is Luciana via Turno." It's Nathali Galvão Oliveira ("Natalie") via WhatsApp Business, tasks via the now-LIVE Hospitable (API token in the ops-api vault; portal check-ins page str.html). Luciana lingers in live bot code (start-here.gs:230/238/1001), MILDRED_SCOPE.md, MASTER_ACTION_MAP.md — worth a sweep.
  4. "The morning brief is the Apps-Script/desktop thing." The canonical brief is the CLOUD ops-api Worker (generateMorningBrief(), 6:30 ET, PC-free, now carrying live BOS-v3 obligations) — and we're actually running three morning-brief generators in parallel (6:48 AppsScript + 7:30 routine + 7:45 CF cron per AUTOMATIONS_MAP.md). The unlearning is double: it's not desktop anymore, and there isn't "a" brief until two of the three are retired.
  5. "Mildred's link can't be shared — scoping isn't done." SHIPPED tonight (~7:35 PM): two scoped CF Access apps, mildred@ removed from the host-wide policy, her token rotated (the deployed one was a corrupt 9-char string — a real find), CORS fixed. Her /work link is shareable; residual rule = new shared briefings must be added to her briefings Access app.
  6. "Chanie brings $30K/mo." Real payroll ≈ $19.7K/mo (CSV-corrected 6/11); the $30K was gross 5609 inflows incl. 401(k) loans/transfers. Six files still teach the wrong number.
  7. "BOS v3 was built but never run." False — the v3 tabs exist and are populated; fn=obligations returned real data tonight and feeds the morning brief. The absence-claim rotted faster than the artifact (the exact lesson the new find-it-first skill encodes).
  8. "Every briefing also gets a Gmail draft." Portal-first since 5/24 — CLAUDE.md's own §2 "Gmail draft (still required)" is a stale fossil inside the current rule.
  9. "Ask Sam to UI-redeploy Apps Script." Retired 6/04 (clasp self-deploy) — but CLAUDE_TOOLS_AVAILABLE.md:54 still teaches it.
  10. "$22,135 is the equity number." That was a 6/05 broker-verified snapshot; only a GREEN recon may produce today's number. Any doc quoting it as present-tense is wrong by construction.

Follow-ups (owner: next session with write access to the respective surfaces)

  1. Apply the 3 CLAUDE.md fixes (§1) — needs the parallel-session protocol (fetch/rebase, re-read before edit).
  2. Mirror the 8 edited skills to hookstreet-skills/ + rebuild dist bundles AFTER the pending sync there is committed.
  3. Test inbox.ps1 DONE/DEFER live; update the two skills that call it broken.
  4. Consolidate the morning-brief triple redundancy (pick the cloud Worker; retire/disarm the other two).
  5. Luciana→Nathali sweep in live bot code (start-here.gs) + MILDRED_SCOPE.md; fix the 5/22-HOA framing at start-here.gs:2143 (needs clasp push + deploy -i).
  6. Refresh CADENCE.md L178–242 + mark the superseded HOW-TOs with SUPERSEDED headers.
  7. Sam call: obligations system-of-record now that v3's endpoint is live (v1 Sheet vs v3).
  8. Lock the "as-of stamp or live-source pointer" writing rule (§4) into CLAUDE.md + the health-check skill.
Source trail
File: C:\Users\ztrei\OneDrive\2. Hook Street\05. 2026 BH\outputs\2026-07-01_23-10_audit_kb-rethink.html
Last commit at write time: 38a6944 · Working dir: C:\Users\ztrei\OneDrive\2. Hook Street\05. 2026 BH
Inputs: CLAUDE.md · docs/CONTEXT.md (7/1 entries) · .remember/now.md · docs/CADENCE.md · docs/HOW_TO/ (20) · memory/ (~161) · .claude/skills/ (18) · hookstreet-skills git status · 3 parallel audit agents. No commits made by this session.