Audit — Find-It-First standing sweep #1

Stale absence-claims vs. reality — what already exists

Generated: Wednesday, July 1 2026 · 8:20 PM EDT (NY) · 16 Tamuz 5786
First run of the find-it-first proactive sweep · repo zee78900/hookstreet-workspace · commit 38a6944
Verified against: filesystem + MIS/v2/Code.gs + command-inbox/start-here.gs + ops-api/src/index.ts + LIVE ops-api (/health 200 secrets_ok:true, /hospitable/reservations 200)

TL;DR

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).

A · FOUND — claimed missing, actually exists 14 stale claims

ClaimWhere claimedWhat 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.

B · FORGOTTEN — exists, nothing references it 9 artifacts

1 · Duke Energy + Toho Water bills masquerading as "Unknown*.pdf" / "ViewStatement*.pdf"LIVE MONEY
8 PDFs in STR-Operations/ (uploaded Jun 1, zero doc references): Duke 9332 acct 9100-7270-1799 — Mar 11 FINAL BILL, Apr 28, May 27 showing $674.97 previous-due UNPAID + $243.03 current, total due Jun 17 (now past); Duke 9312 acct 9100-9180-4501 — Mar 24, Apr 24, May 22; Toho Water both LLCs — 9332 $200.37 due ($114.74 past-due), 9312 (ViewStatement 1.pdf). WIRE: rename to convention, feed the v3 obligations run + STR opex actuals; card the past-dues (P0-adjacent — Duke disconnects). Note the Mar 11 "Final Bill" on 9332 = account closed/reopened event worth understanding.
2 · Full-year Airbnb earnings reportWIRE
STR-Operations/06_01_2025-05_11_2026_airbnb_earnings.pdf — official Airbnb earnings Jun 1 2025 → May 11 2026, host "Zee Treitel" (user 107356936), incl. tax withholdings. Nothing cites it. This is the STR revenue ground-truth for: 2025/2026 taxes (Z&E), the STR yield math in resource-monetization, and the abnbcalc/Deal-Snapshot STR module reconciliation.
3 · 9332 P&L 2025 (manager-produced)WIRE
STR-Operations/9332 SH - P&L 2025.pdf — property-level 2025 P&L for "Champions Gate Unique Luxury 8BR". Unreferenced. Pair with #2 + #4 for the CPA package.
4 · 2024 income/expense workbook (830KB)KEEP → CPA
STR-Operations/9312-9332_2024 Review_Income_expense .xlsx — only its Drive twin appears once in a cleanup log. Tax-relevant (ties to the $9,750 PV / 2025-filing thread in reference_cpa_and_2025_tax_status).
5 · Chase 2528 + 6651 activity CSVs (May 11)WIRE or ARCHIVE
STR-Operations/Chase2528_Activity_20260511.CSV + Chase6651_...CSV — the STR LLC bank feeds; referenced exactly once (the session-34 "say go" that never ran). Either feed the v3 run or mv → archive/ after ingest.
6 · "Thoughts on Updated Pricing & Next Steps.pdf" — letter to GittyIDENTIFY
STR-Operations/, May 11. A pricing/relaunch letter ("financing costs dropped ~0.75%... buyers have 10–11% more purchasing power") to a broker/agent named Gitty. No doc/memory names this deal. Ask Sam which listing this is — if it's a live sale thread it deserves a queue card; else archive.
7 · contacts_clean.csv at workspace rootARCHIVE
106KB, Jun 30, 1,375-contact PII export — the intermediate behind the now-canonical "Contacts — Clean (CRM)" Sheet. Untracked, unreferenced, sitting at root. Once the Sheet is confirmed complete: mv → archive/ (policy: no root strays, no PII loose files).
8 · Uncommitted research: US reprocessing licensing pathwaySAM'S CALL
outputs/2026-06-26_12-56_research_us-reprocessing-licensing-pathway.html — a full research artifact, untracked (never committed → never reached the portal), referenced by nothing. Commit to the portal or graveyard it.
9 · 9MB of Apr-28 voice notes + transcripts inside scripts/ARCHIVE
.m4a + 6 transcript files + the clean-summary, all Apr 28, living in the tooling folder. Already distilled into 2026-04-28_voice-notes_clean-summary.md. mv → archive/ to keep scripts/ clean. (Also noted: dist/no-op-worker.js from the 6/30 clobber fix is intentionally gitignored — fine where it is.)

C · CONFIRMED ABSENT — claims that held up trust these

ClaimVerified how
Schwab creds not seeded on ops-api (Schwab-in-Worker inert; quotes correctly ride v2 instead)Live /healthschwab_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 bodiesNo 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.

⭐ Top-5 highest-value unlocks

  1. The Duke/Toho bills (FOUND-A14 + FORGOTTEN-B1). Eight live utility statements sat unnamed for a month while a placeholder ($1,100/mo utilities) stayed unconfirmed — and they carry a $674.97 past-due (9332 Duke, due Jun 17, now past) + $114.74 Toho past-due. One rename-and-extract pass kills a stale placeholder AND surfaces real disconnect-risk money.
  2. Wash-sale / Do-Not-Buy / Re-entry gates are BUILT (A2). The memory that says "not optional to build before v2 scales past 2 tickers — NOT YET BUILT" is wrong: GATE 0 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.
  3. The .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.
  4. The proactive-assistant modules already exist (A3+A4). EMAIL SCAN (the parked "before-you-ask" email module) and 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.
  5. CONNECTIONS.md is the rot amplifier (A11). Its own rule ("if it isn't here, it's not wired") turns every missing row into a false absence-claim for future sessions. Ten minutes adds Hospitable (live-verified tonight), schwab-v2 quotes, D1 price_history, and the v3 obligations feed — and stops the next agent from re-deriving any of them.

Method + exclusions (for the next sweep)

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.

Source trail
File: C:\Users\ztrei\OneDrive\2. Hook Street\05. 2026 BH\outputs\2026-07-01_23-00_audit_find-it-first-sweep.html
Last commit: 38a6944 · Working dir: C:\Users\ztrei\OneDrive\2. Hook Street\05. 2026 BH
Live checks: ops-api /health (200, build bundle-2026-07-01-quotes) · /hospitable/reservations?days=7 (200, 3 reservations) · both read-only with x-ops-key.