05. 2026 BH · repo: hookstreet-workspace · commit at write: 7c7b8c5inbox.ps1 STATE (queue+grocery+transcript) · command-inbox/start-here.gs (2246 lines, read end-to-end) · claude mcp list · docs/CHANNELS.md · docs/CAPABILITY_SCAN.md · LevSMS repoA Claude Code session reads your whole world. The bot reads ~8 sentences.
| Claude Code session | Telegram bot (@HSInboxBot) | |
|---|---|---|
| World knowledge | CLAUDE.md + WORKSPACE_AUDIT + CONTEXT + SCOPE_BACKLOG + ~60 memory files + all docs + 6 live MCPs | the Context tab = 8 hand-typed rows + open queue + (mornings only) calendar + flagged email |
| Conversation memory | the entire conversation | last ~12 turns only (recentTranscriptTurns_(12)), then it forgets |
| Learning loop | I write to memory + docs + commit; next session reads it | none — nothing writes conversation back to durable memory |
setupContextTab_(). It has never read one of your docs or memories. The code comment calls this deliberate ("better than dumping every MD file"). That choice is why it feels shallow.The fix is not "make the bot read 60 files per text." Real architecture: Code session authors knowledge → a Context/Profile tab is the bot's distilled brain → the bot reads it every message, plus a remember action so the bot can persist facts itself.
Action not found: extra-house-cleanup), then claimed success. Phantom confirm.| Item | Status |
|---|---|
| Gardener | captured 3× — 001 (P1), 010 (P0), 012 (P0+link) |
| Caretaker | captured 2× — 011, 013 |
| Bulk pickup | captured once — 004 (P2, bookshelf + side desk) |
| "Community" | not a card — closest is the neighborhood info sheet linked on the gardener card (1XR-VIX_eWZq5…). Needs definition: a card to do what? |
| William Penn | dupe — 002 + 005 |
| 1070 East 31st insurance | dupe — 010 (5/25) + 014 (5/26) |
Are reminders firing? Captured yes — surfaced no. The pulse/brief shows only 1-3 and always picks money/legal, so the gardener reminder silently loses to HOA every pulse. 7 redundant cards total — closeable on your word.
✅ Connected: Cloudflare · Netlify · Google Drive · Gmail (business) · Google Calendar · gmail-personal (local). ⚠️ Dead weight: monday.com (needs auth) · Supabase (needs auth) · Circleback (failed) — wire or drop.
Deterministic keyword→sheet service (TIMES/MINCHA/SHABBOS/ZMANIM/WEATHER/SHUL/ZIP). Outbound sheet-driven (APPROVED_RESPONSES + SYSTEM_RESPONSES), content from Hebcal + weather.gov live, NW shul times hardcoded. Per-subscriber data: phone, status, ZIP, tier, timestamps (CONTACTS + INBOUND_LOG). Deliberately ZERO AI in the live path (your hard rule). Live infra (Twilio @31) but only your test number; ZIP gated to 11581. Privacy notes: raw phone storage, no DELETE flow coded, admin list fails open if unset.
capture → INBOX → (deterministic command OR free-text → Claude w/ context+actions) → Transcript log → Telegram. Plumbing solid. The gap is knowledge depth + memory persistence, not wiring.
| Option | What it does | Effort |
|---|---|---|
| A — remember write-back | add a remember op → bot persists durable facts to a Profile tab, fed into every message. Kills phantom-write + no-learning. Your grocery dump would've stuck. | ~1 build, local + redeploy |
| B — bigger feed + window | inject Profile tab; bump transcript 12→25 + rolling summary so long chats don't amnesia. | medium |
| C — Code→Context bridge | a session / Sunday routine distills workspace (status, top loops, key memories) into the Context tab so the bot inherits "what Code knows." The real "same context." | medium, a sync not real-time |
| D — one shared live map | the single always-current view for you + Mildred (your card 009). The destination; A/B/C are the road. | bigger build (say-go) |
Nothing was built or changed this session — this is the map, not a build.