14 absence-claims in docs/memory are FALSE — the thing exists. Biggest: the wash-sale/Do-Not-Buy engine gates are BUILT in MIS v2 (memory says "not built"); the .remember self-learning writer is ALIVE (three docs say "broken, 0 bytes"); bot EMAIL SCAN + get_calendar are LIVE (docs say "parked / not built"); and 8 unnamed PDFs in STR-Operations are the exact Duke Energy + Toho Water bills a May briefing said we needed to go derive — including a $674.97 past-due on 9332's Duke account. Sections: FOUND (the 14) → FORGOTTEN (9 orphan artifacts) → CONFIRMED ABSENT (5 claims that held) → Top-5 unlocks. Excluded per sweep spec: REVIVE_LOG's 5 dormant builds + tonight's already-cataloged finds (mortgage screenshots, v3 tabs, Plaid liabilities flag, watchlist HTML).
| Claim | Where claimed | What actually exists (verified) | One-line doc fix |
|---|---|---|---|
".remember/now.md writes empty (0 bytes) — self-learning auto-capture broken" |
docs/SCOPE_BACKLOG.md 38-K5 + 38-K7 · memory project_self_learning_loop_gap · docs/REVIVE_LOG.md #3 · docs/FABLE_READINESS.md INF-7 |
.remember/now.md = 1,151 bytes, written TODAY 8:05 PM, 5 real session-close entries; recent.md/archive.md rolling; today-*.md continuous daily since 5/20 (32 files). The writer works. |
Close 38-K5; re-scope 38-K7 to the remaining pieces (health-check-at-open, mobile surface); fix the memory + REVIVE #3 caveat. |
| "Wash-sale gate NOT YET BUILT; Do-Not-Buy + Re-entry-zone 'neither built'" | memory reference_sam_wash_sale_constraints (L14, L30) · MIS_V2_GAP_ANALYSIS.md |
MIS/v2/Code.gs: Wash_Sale tab schema (L275), misV2WashSaleAll_() (L302), GATE 0 WASH_SALE_BLOCK in the verdict path (L323–325), wash flags on book rows (L634); Ticker_Memory tab carries Do_Not_Buy, Wash_Until, Reentry_Zone (L266). Matches CONTEXT 6/11 "wash-sale guard live". |
Update the memory: BUILT + live in verdict path; residual = verify auto-detection populates from broker-email imports. |
| Bot EMAIL SCAN — "PARKED spec (not built)" | docs/BOT_EMAIL_SCAN_MODULE.md L1–2 (status header) |
EMAILSCAN/EMAIL SCAN command live in the bot (command-inbox/start-here.gs:1969, allowlisted :3593) + ops-api GET /morning/emailscan (index.ts:2610) feeding the cloud spine generator. |
Rewrite the doc header: BUILT + wired into the morning spine; keep the judgment/privacy guardrails as the operating notes. |
| Bot calendar tool — "carded, greenlit, NOT built" | docs/CONTEXT.md:282 |
get_calendar tool in start-here.gs:269 — reads ALL calendars (work+personal+family+Mildred+Hebcal), today/week ranges; gatherTodayEvents_() also feeds every brief. |
Strike the line (it's inside a dated session entry — add "(since built)" rather than rewriting history). |
| Cameras tile "NOT WIRED YET — depends on the Home Assistant hub build" | docs/HOME_DIRECTIVE.md:50 |
outputs/cameras.html + camera-live.html (since 6/7), Cameras tile live in home.html:353, ops-api /camera/snapshot NVR-direct PC-free (/health shows cam_set:true). No Home Assistant needed. |
Update HOME_DIRECTIVE item 4: SHIPPED via NVR-direct; remaining = tunnel/port-closure (CAMERA_STEP2 runbook). |
| MIS cockpit/dashboard page "planned, not built" | docs/STACK_MAP.md:178 |
outputs/mis-cockpit.html (updated today) + peek.html (Gate-D live pcts) + MIS tile on the home Money lane (6/30). |
Refresh STACK_MAP §MIS: cockpit page shipped; the "institutional chart" remains optional polish. |
| Deal Snapshot "Stripe link never filled (placeholder)" | docs/REVIVE_LOG.md #2 · docs/SCOPE_BACKLOG.md 39c-2 |
HookStreetServices-Site/deal-snapshot.html:120 — real link buy.stripe.com/cNifZi04f6m77OigdNeQM00 ($2,500 one-time, created 7/1; activates when Stripe clears business review — email CTA is interim path). |
Close 39c-2; amend REVIVE #2 state line. Residual gate = Stripe review clearing, not a build. |
| "A true server-side Mildred-safe endpoint doesn't exist yet" | memory project_grand_central_consolidation:41 |
GET /queue/mildred live (index.ts:2581), gated by x-mildred-key (rotated strong 7/1) + scoped CF Access apps (host-wide policy cleaned). |
Update the memory GOTCHA: endpoint exists; the stale part is only the skill-doc wording about MILDRED command. |
| "/rethink returns anthropic_key_missing — cards never consolidated" + "/mis/peek dark" | memory reference_ops_api_blockers (as-of 6/3) |
ANTHROPIC_API_KEY in the ops-api secrets manifest; live /health = secrets_ok:true, quotes_ready:true, mis_set:true; peek fixed 6/12; quotes now schwab-v2 237/237. Memory's 4 blockers: 3 of 4 resolved (gmail-personal re-auth likely still real). |
Retire/refresh the memory to "1 of 4 remains: gmail-personal invalid_grant". |
| OpenAI TTS "Path B noted but not built" | docs/BRAIN_FEED.md:41 |
OpenAI TTS is the LIVE default voice-out on /voice/speak (verified live 6/1 per CLAUDE.md + telegram-voice skill; OPENAI_API_KEY in manifest; MeloTTS retired). |
One-line strike in BRAIN_FEED (it's a feed log — annotate "since shipped"). |
| CONNECTIONS.md registry — "if a connection isn't here, it's not wired" (missing: Hospitable, Schwab-via-v2 quotes, D1 price_history, v3 obligations feed) | docs/CONNECTIONS.md (last updated 6/1 — its own rule makes silence a false absence-claim) |
Hospitable verified LIVE this sweep (/hospitable/reservations?days=7 → 200, 3 real reservations: Lakia/Jessika/Deztany); /mis/quotes schwab-v2; D1 price_history; V3_OBL_URL/TOKEN set (v3_obl_set:true). |
Add 4 rows to the hub (10 min). This registry is the one doc whose rot creates false gaps by design. |
| MIS "Jewish-calendar awareness NOT wired (no Shabbos no-action rule)" | docs/MIS_V2_NEXT_STEPS.md:81 |
PARTIAL Shabbos quiet gate exists: MIS/v2/Code.gs:2016 if(d===6)return{quiet:true,why:'Shabbos'}. Residual gap = Yom Tov (needs Hebcal, day-of-week won't catch it). |
Amend to "Shabbos gate live; Yom Tov via Hebcal still open". |
| CADENCE.md "still unbuilt" table (Mildred Gmail delegation, MILDRED_TODAY tab, forwarding rules) | docs/CADENCE.md:161–168 (April-era, cites "before Tuesday Apr 28") |
The Mildred surface shipped in a different form: outputs/mildred.html board (live Hospitable bookings 7/1) + /queue/mildred + mildred-briefings.json cascade. The v2-BOS-tab plan is superseded. |
Replace the table with a pointer to MILDRED_SERVER_SCOPING.md + the board. |
| STR utilities actuals "to be derived" — "pull last 3 months' Duke + Toho bills from the Chase CSVs... say go and I'll produce the actuals" (never done) | outputs/2026-05-12_14-03_briefing_session-34...html Q8 ($1,100/mo Utilities placeholder unconfirmed) |
The actual bills are already ON DISK, uploaded 6/1 and never renamed or referenced — see FORGOTTEN #1 below. Duke 9312 + 9332 Mar–May 2026 + Toho both properties. | Rename per convention, extract actuals, kill the placeholder. See the live-money flag below. |
contacts_clean.csv at workspace rootARCHIVEscripts/ARCHIVE| Claim | Verified how |
|---|---|
| Schwab creds not seeded on ops-api (Schwab-in-Worker inert; quotes correctly ride v2 instead) | Live /health → schwab_set:false |
| No session-open enforcement hook (issue #31 / card #202) | No .claude/hooks/ dir exists (only scripts/hooks/pre-commit, a different thing) |
scripts/ledger-refresh automation not built (PORTFOLIO_LEDGER.md:88) | scripts/ listing — absent; ledger refresh stays manual |
Cloud Memory Layer Phase-1 body-sync (brain-sync.ps1) not built — cloud holds titles, not the ~130 topic-file bodies | No such script in scripts/; the flagship's premise is genuine, not doc-rot |
Voice extras absent: voice morning brief, MIS BRIEF VOICE, READ #NNN, realtime voice (memory project_voice_customization) | No handlers found; only SPEAK/VOICE live (that part IS built) |
Not re-verified this sweep (out of scope / needs other access): gmail-personal invalid_grant, Interactive Brokers ledger gap (#32), LevSMS Sam-side flips.
WASH_SALE_BLOCK is in the live verdict path. A false "must-build" blocker on the 200–250-ticker scale plan is now removed; the only residual is verifying loss-detection populates from broker imports..remember self-learning writer is alive (A1). Three docs (SCOPE_BACKLOG 38-K5/K7, the loop-gap memory, REVIVE #3) still direct sessions to "fix the broken writer first" — a phantom prerequisite that could stall the Voice-Intake revive and the loop-gap card. Close it and re-scope what's actually left.get_calendar are both live in the bot + ops-api. The BOT_EMAIL_SCAN spec's park-gate conditions were met and the thing got built without the spec noticing — unpark the doc and start USING EMAILSCAN in rituals.Grepped docs/ + .claude/.../memory/ for absence-patterns (missing / not built / never run / not wired / doesn't exist / TBD / blocked / unverified), collected the consequential claims, then verified each per the find-it-first pass: filesystem → nested repos (MIS/v2/Code.gs, start-here.gs, ops-api/src/index.ts) → PDF contents (pypdf) → live endpoints (read-only: /health, /hospitable/reservations; token read from ops-api/.secrets.json, never printed; note: the Worker 403s python's default user-agent — send a browser UA). Excluded as already cataloged: REVIVE_LOG's 5 dormant builds; tonight's CONTEXT-logged finds (mortgage-proof screenshots, BOS v3 populated tabs, Plaid liabilities product-flag, watchlist-HTML shape). No files edited, nothing committed, no write endpoints touched.
C:\Users\ztrei\OneDrive\2. Hook Street\05. 2026 BH\outputs\2026-07-01_23-00_audit_find-it-first-sweep.html38a6944 · Working dir: C:\Users\ztrei\OneDrive\2. Hook Street\05. 2026 BHops-api /health (200, build bundle-2026-07-01-quotes) · /hospitable/reservations?days=7 (200, 3 reservations) · both read-only with x-ops-key.