<!--
Seeded 2026-06-06 from the one-time root td export (cold start, spec §1 + Implementation order step 3).
PROVENANCE: every entry cites docs/archives/td-export-2026-06.md + its td item id, quotes the item
verbatim, and carries status: provisional — Zach confirms or closes each via the first vigil brief.
The two td epics (td-164e13 Claude Code Improvements, td-1a0b1f Meal Planner) are grouping containers,
not obligations, so they are not seeded as standalone loops; their actionable children are listed below.
All seeded loops are >14 days untouched (last DB write 2026-05-08), so all would flag stale on day one;
items that additionally look self-evidently dead/superseded are noted inline for the brief to offer closure.
-->
loop:0f860d [2026-03-17] Flesh out ~/Claude as a proper workspace (CLAUDE.md, index.md, cross-project /today, shared-infra docs)
— source: docs/archives/td-export-2026-06.md (td-161d8e)
— quote: "~/Claude has been a loose container for project folders but lacks its own workspace identity. Needs: proper CLAUDE.md (beyond the global ~/.claude/CLAUDE.md), index.md linking all workspaces, a /today that spans all projects, shared infrastructure docs"
— status: provisional
— note: LIKELY SUPERSEDED — root ~/Claude/CLAUDE.md now exists with a workspace map and shared-infra table; the original "No CLAUDE.md, no index, no conventions" premise no longer holds. Offer for closure (or re-scope to index.md / cross-project /today if those are still wanted).
loop:175767 [2026-06-06] Implement td-retirement v2 spec via subagents (spec approved 2026-06-06; codex review complete; implementation not yet executed)
— source: voice/2026-06-06.md ("ok review the spec with codex, then implement it (all in subagents)")
— status: open
loop:76c8d2 [2026-06-05] Bali trip: book airport transfer (decide villa vs direct counter-offer), villa chef night (Wed 17), Kecak tickets day-of; confirm 14-pax + luggage fit on Hiace+Innova; verify Ohana/Palmilla/Sundays hours before going
— source: sessions/2026-06-05-2151-bali-trip-planning.md ("Book: airport transfer (decide villa vs direct counter-offer), villa chef night for Wed 17, Kecak tickets day-of if doing the split")
— status: open
loop:4ebf60 [2026-06-08] Draft WhatsApp inquiry to Bali villa photographer for Jun 17 golden-hour shoot (14 pax / 8 kids); Gusmank (+62 812 3738 4361) top pick, Silangit + Martin Dewata as backups — trip ~1 week out
— source: sessions/2026-06-08-1240-bali-trip-recs-photoshoot-laundry.md ("I offered to draft the WhatsApp inquiry to Bali photographers (Gusmank +62 812 3738 4361 top pick; Silangit, Martin Dewata backups) for the Jun 17 villa photoshoot, 14 pax / 8 kids — not yet written; trip is ~1 week out so this needs doing soon.")
— status: open
loop:9f5f4c [2026-06-08] Confirm with Family Nest 5BR villa whether there's a dryer or same-day laundry service (washing machine confirmed, dryer not listed)
— source: sessions/2026-06-08-1240-bali-trip-recs-photoshoot-laundry.md ("I need to confirm with Family Nest villa whether there's a dryer or same-day laundry service (5BR villa has washing machine but no dryer listed).")
— status: open
loop:8de519 [2026-06-11] Confirm Palmilla beach club entry/voucher policy (IG @palmillabali) before Bali trip — sheet says "no min spend" but current listings show IDR 150k entry fee incl. IDR 100k F&B voucher
— source: sessions/2026-06-11-1337-bali-trip-schedule-rework.md ("I need to confirm the Palmilla beach club entry/voucher policy (IG @palmillabali) before the Bali trip — sheet says 'no min spend' but current listings show an IDR 150k entry fee incl. IDR 100k F&B voucher.")
— status: open
loop:384ddf [2026-03-17] Upgrade ReferralCandy to new workspace patterns (playbooks/, .claude/rules/, /today, /close nagging)
— source: docs/archives/td-export-2026-06.md (td-234ead)
— quote: "Adopt playbooks/ folder, .claude/rules/ pattern, /today skill, deferred-item nagging in /close. Adapt from generic template where applicable."
— status: provisional
— note: LIKELY MOSTLY DONE — referralcandy/.claude/ now has commands, skills, hooks, settings. Confirm whether playbooks/ + the remaining template patterns are still outstanding or this can close.
loop:656863 [2026-03-23] Merchant KB: rebuild embeddings (build-embeddings.py needs disk for torch)
— source: docs/archives/td-export-2026-06.md (td-4cb579)
— quote: "build-embeddings.py needs disk space for torch."
— status: provisional
loop:d523e2 [2026-03-23] Fix rc-merchant-sync Drive cron (timing out at 300s) + rescan Drive for missing transcripts
— source: docs/archives/td-export-2026-06.md (td-99632a)
— quote: "rc-merchant-sync has been timing out at 300s (3 consecutive failures visible in Slack). No manifest created. Also need to rescan Google Drive Merchant calls folder to find missing transcripts including Brandon Patton / Evan Alexander Grooming pilot calls"
— status: provisional
— note: POSSIBLY DEAD — references a Mar-2026 cron-timeout incident; cron infra has changed substantially since. Verify current rc-merchant-sync health before keeping open; the transcript-rescan half may still be valid.
loop:94f203 [2026-06-06] Await Sanjeev/Piyush replies on comfort with $2–2.5M range; if Sanjeev engages, written-acceptance gate applies before any process
— source: sessions/2026-06-06-2154-sanjeev-piyush-valuation-email.md ("Await Sanjeev/Piyush replies on comfort with the $2–2.5M range. If Sanjeev declines → log + done; if he engages → written-acceptance gate applies before any process.")
— status: open
loop:332ddd [2026-05-29] Verify $7M SAFE-trigger threshold against SAFE/M&AA docs before anything goes to Sanjeev in writing
— source: voice/2026-05-29.md ("the $7M SAFE-trigger threshold is unverified — must confirm against SAFE/M&AA docs before anything goes to Sanjeev in writing.")
— status: open
loop:56e842 [2026-05-29] Put AI on the marketing website (Piyush's hard demand from the 1:1)
— source: voice/2026-05-29.md ("put AI on the website now" — "must have," rejecting Zach's "AI isn't a differentiator" line)
— status: open
loop:03e31f [2026-05-26] Gate PROD-50 kill decision on Gopika's unanswered question: does Segment fire server-side for Shopify merchants?
— source: voice/2026-05-26.md ("Gated on whether Segment fires server-side for Shopify merchants (Gopika's unanswered question)")
— status: open
loop:672472 [2026-06-04] Re-run agent-activation impact analysis ~June 25 when Apr-May NZS cohort is 30+ days mature
— source: sessions/2026-06-04-0950-marketing-meeting-net-nnzs-agent-dilution-test.md ("Re-run agent-activation impact analysis around June 25 when Apr-May NZS cohort is 30+ days mature")
— status: open
loop:c4dc58 [2026-06-06] Zach ↔ Glenn chat on chargeable-merchants falloff + file 4 ticket candidates (referral-inactivity alert, Pinter data check, broken-integration sweep, Skylight recovery outreach)
— source: sessions/2026-06-06-2227-chargeable-merchants-decline-investigation.md ("Zach ↔ Glenn chat next week — artifact: referralcandy/projects/referral-team/analysis/2026-06-05-chargeable-merchants-falloff-deep-dive.md")
— status: closing? (Glenn 1-1 happened 2026-06-09, analysis advanced, referral-softening early-warning alert promoted to ticket; 3 other candidates — Pinter data check, broken-integration sweep, Skylight recovery outreach — status unclear)
loop:0939a0 [2026-05-27] Product monitoring: resolve Redshift write-path credential (redshift-mcp is read-only) + wire deployment (talk to Glenn per §13 first)
— source: sessions/2026-05-27-2230-product-monitoring-validators-port.md ("Open question (still): what Redshift credential will the cron use for the write path? redshift-mcp profile is read-only. Needed before items 2 + 4 can proceed.")
— status: closing? (write credential resolved — reuse RC's RunBusinessSQLScripts ETL daemon which inherits write creds; deployment re-tracked as loops c90fd0/f299dd/09288d)
loop:dc8bc6 [2026-06-04] Leverage RC's existing canonical ETL (dataWarehouseETL/sql/shared) for product-monitoring derived_referral_merchant_day rather than standing up a separate cron
— source: voice/2026-06-04.md ("our code base has an automatic refresh that reruns these queries [dataWarehouseETL/sql/shared] on a regular basis. Can we just leverage that?")
— status: closing? (decision made + executed — flat SQL generated at sql/pipeline/derived_referral_merchant_day.sql commit 8de6da81; RC PR + DDL re-tracked as loops f299dd/09288d)
loop:681dd5 [2026-05-22] Active product pilot: resolve 6 open decisions (cohort choice, RACI/owner, eng sequencing, team comms, merchant comms, ramp-down protocol) + finish 5 deferred doc sections + confirm eng landing dates for June launch window
— source: sessions/2026-05-22-1330-active-product-recalibration-and-pilot-draft.md ("D1 — Pilot cohort: mid-tier vs large-merchant (biggest open, gates everything else)")
— status: open
loop:8efc6f [2026-05-28] Run anafore-monthly-overview skill to refresh Apr 2026 (payments now settled); verify Mar 2026 chargefail # (elevated by settlement lag); decide on partial May column
— source: sessions/2026-05-28-1543-anafore-monthly-overview-skill.md ("Run the new skill to refresh Apr 2026 (payments now settled — ~3 weeks past month-end).")
— status: open
loop:2aa0aa [2026-05-26] Re-run onboarding-analysis skill end-to-end on real 90-day cohort to validate refactored output
— source: sessions/2026-05-26-1440-onboarding-analysis-harden-review-merge.md ("Fresh session will re-run the onboarding-analysis skill to determine next steps (per Zach).")
— status: open
loop:6c6b76 [2026-06-06] Run all-hands-prep skill end-to-end for July all-hands (the real eval); also file td-017774 /slide-deck layout improvement session
— source: sessions/2026-06-06-2226-all-hands-prep-skill.md ("July all-hands: run the skill end-to-end (the real eval)")
— status: open
loop:c90fd0 [2026-06-08] Product monitoring: settle codex P1 (freshness gating) with RC data-eng — either schedule RunBusinessSQLScripts daemon strictly after derived_client_daily_sales + derived_client_daily_advocate_events ETLs and exclude in-flight days, OR add a freshness precondition inside sql/pipeline/derived_referral_merchant_day.sql — before opening the RC PR
— source: sessions/2026-06-08-1410-product-monitoring-canonical-cutover-pipeline-flatten.md ("I need to settle codex P1 (freshness gating) with RC data-eng — either schedule the RunBusinessSQLScripts daemon strictly after the derived_client_daily_sales + derived_client_daily_advocate_events ETLs (and exclude in-flight days), or add a freshness precondition inside sql/pipeline/derived_referral_merchant_day.sql, before opening the RC PR.")
— status: open
loop:f299dd [2026-06-08] Product monitoring: open RC PR to drop sql/pipeline/derived_referral_merchant_day.sql into referralcandy-main dataWarehouseETL/sql/shared/ and request SQS schedule entry from RC data-eng
— source: sessions/2026-06-08-1410-product-monitoring-canonical-cutover-pipeline-flatten.md ("I still need to open the RC PR placing projects/product-monitoring/sql/pipeline/derived_referral_merchant_day.sql into referralcandy-main dataWarehouseETL/sql/shared/ and request an SQS schedule entry from RC data-eng.")
— status: open
loop:09288d [2026-06-08] Product monitoring: execute DDL + first backfill + stand up validators-as-alerts read-only cron to bring product-monitoring v1 live
— source: sessions/2026-06-08-1410-product-monitoring-canonical-cutover-pipeline-flatten.md ("I still need to execute the DDL + first backfill and stand up the validators-as-alerts read-only cron before product-monitoring v1 is live.")
— status: open
loop:bb83a7 [2026-06-08] Wire cron-loop subscription router into heavy cron tasks (ahead of Jun 15 claude -p / Agent-SDK billing split); shadow-test real tasks NOW — don't wait for the billing split to validate the integration
— source: voice/2026-06-08.md ("Wire the cron-loop subscription router into the heavy tasks." — 13:24; "we shouldnt wait till sdk credit split is live. what if it doesnt work when we finally make the switch?" — 19:29)
— status: closing? (rc-digest + rc-brief graduated to repl-mode — commits d2a25eb, 725b0ad; rc-context-update held for submodule handling, tracked as loop:791e8e; rc-standup-prep cutover tracked as loop:9edb20)
loop:73279e [2026-06-08] Rebuild referral-standup-prep as a scripted, LLM-agnostic pipeline (deterministic data pull + HTML template filled programmatically, shrinking the LLM hand-assembly surface) — LLM stays for judgment but is a swappable backend (claude or codex)
— source: voice/2026-06-08.md ("I'm of the mind to rebuild it by scripting most of the things (the data pull, the html template as a static template that is programatically filled in, and whatever else we can script) so that it is less error prone.")
— status: closing? (pipeline built from 5 plans, merged to master; §10 acceptance met on first uncapped shadow run — 237 tests green, exit 0; cron cutover pending Plan 5 Task 4, tracked as loop:9edb20)
loop:be72e8 [2026-06-09] Verify Atlassian MCP streamable-HTTP repoint in next session: run an Atlassian call (e.g. fetch AC-182) and confirm it returns without the mcp.atlassian.com/v1/sse deprecation banner; if it fails, restore from backup at ~/.claude/backups/.claude.json.pre-atlassian-repoint.*
— source: sessions/2026-06-09-1644-ac182-enter-test-mode-groom-review.md ("I repointed the Atlassian MCP server to the streamable-HTTP endpoint (~/.claude.json, both Claude + referralcandy scopes) but couldn't verify it on the live transport — MCP config only loads at session start. Next session: run an Atlassian call (e.g. fetch AC-182) and confirm it returns WITHOUT the mcp.atlassian.com/v1/sse deprecation banner — banner gone = on the new transport.")
— status: open
loop:0fdb8f [2026-06-09] F0 billing verification on/after 2026-06-15: fire two tagged probes (one via run-prompt-rc.sh REPL, one via claude -p), confirm the REPL probe does NOT decrement the $200 SDK credit while the -p probe does — the unverified premise the whole subscription-routing migration rests on
— source: sessions/2026-06-09-2101-cron-loop-canary-scheduling-durability.md ("I still owe the F0 billing verification on/after 2026-06-15 (Console check: REPL probe should NOT decrement the SDK $200 credit; -p probe should) before claiming any cost saving from the cron-loop migration.")
— status: open
loop:ad76e6 [2026-06-09] Root-cause the ~80% advocate sharing drop on the 97/108 active-live fall-off cohort (Dec→May cliff; program/engagement decay upstream not a detection gap)
— source: sessions/2026-06-09-2108-chargeable-decline-glenn-followup.md ("NEW SESSION: root-cause the ~80% sharing drop on the 97/108 cohort (see follow-up prompt handed to Zach).")
— status: closing? (root-caused 2026-06-10 — Jan-19 share-click tracking break on email surfaces, not lost sharing; report shipped to Glenn via doc-shared; billing funnel unaffected; eng investigation now with Glenn)
loop:99804a [2026-06-09] Fix dead friend-landing-page tracking columns and flag to Glenn — blind spot where the detection rebuild needs visibility (columns dead across ALL clients, not just fall-off cohort)
— source: sessions/2026-06-09-2108-chargeable-decline-glenn-followup.md ("Fix dead friend-landing-page columns (flag to Glenn) — blind spot where the detection rebuild needs visibility.")
— status: closing? (flagged to Glenn via Glenn report shipped 2026-06-10 in doc-shared; column fix is eng-side work now with Glenn)
loop:97f300 [2026-06-10] Write the full AC-184 situated-opener copy matrix in Option C's voice (state class × resume/fresh), including neutral-fallback and multi-campaign disambiguation strings
— source: sessions/2026-06-10-1336-ac-184-session-management-ui-design.md ("I still owe the full situated-opener copy matrix in Option C's voice (state class × resume/fresh), including the neutral-fallback and disambiguation strings.")
— status: open
loop:791e8e [2026-06-11] Decide + execute rc-context-update graduation path onto repl-mode (submodule handling, substitute a clean task, or leave on -p) — held pending Zach's call; rc-digest + rc-brief already live on repl
— source: sessions/2026-06-11-1401-cron-loop-option-b-build.md ("I need to decide + execute the rc-context-update graduation path (submodule handling, or substitute a clean task, or leave on -p) — held this session pending Zach's call; rc-digest + rc-brief are live on repl.")
— status: open
loop:45f555 [2026-06-11] Build hardened 3-signal stall verification into referral prep + post-standup skills (via skill-creator); eval against AC-190 case before any auto-file graduation
— source: sessions/2026-06-11-1404-post-standup-ac190-verification.md ("I'll build the hardened 3-signal verification into the referral prep + post-standup skills (via skill-creator) in a new session, and eval it against today's AC-190 case before any auto-file graduation.")
— status: open
loop:6bf4cf [2026-06-11] AC-190 and AC-193 unassigned — ownership must land at the Jun 12 standup (one standup before Zach's Jun 16 leave)
— source: sessions/2026-06-11-1404-post-standup-ac190-verification.md ("AC-190 and AC-193 are unassigned with one standup left before Zach's Jun 16 leave; ownership still needs to land tomorrow.")
— status: open
loop:8f51dc [2026-06-11] Claude autonomous spend cut (~$500–600/mo) — still not actioned; deadline before Jun 16 leave
— source: sessions/2026-06-11-1404-post-standup-ac190-verification.md ("Claude autonomous spend cut (~$500–600/mo) still not actioned — deadline before Jun 16 leave.")
— status: open
loop:06f95b [2026-06-11] Pull p_0 (no-program 7-day activation baseline) from Redshift to set the AC-184/AC-31 activation rollback gate threshold
— source: sessions/2026-06-11-1435-ac-184-direction-v5-groom.md ("The activation rollback bar value for AC-184/AC-31 is still unset — p_0 (no-program 7-day activation baseline) must be pulled from Redshift before the gate threshold can be fixed.")
— status: open
loop:c63053 [2026-06-11] Reconcile referral-standup-prep env-name mismatches before cron cutover: build_live_config reads ATLASSIAN_API_TOKEN/ATLASSIAN_EMAIL/SLACK_BOT_TOKEN but secrets store exports JIRA_API_TOKEN/JIRA_EMAIL/SLACK_USER_TOKEN
— source: sessions/2026-06-11-1438-referral-standup-prep-pipeline-build-and-shadow.md ("Reconcile env-name mismatches before cutover: build_live_config reads ATLASSIAN_API_TOKEN/ATLASSIAN_EMAIL/SLACK_BOT_TOKEN, but the secrets store exports JIRA_API_TOKEN/JIRA_EMAIL/SLACK_USER_TOKEN. Fix in the cron env or rename in run.py.")
— status: open
loop:9edb20 [2026-06-11] Execute referral-standup-prep cron cutover (Plan 5 Task 4): reconcile env-names → rewrite rc-standup-prep.sh → manual end-to-end dry-run → arm timer for autonomous live run before leave
— source: sessions/2026-06-11-2112-referral-standup-prep-judge-live-path.md ("cron cutover (Plan 5 Task 4) + env-name reconciliation, then a real autonomous live run tomorrow morning (before SGT standup) while Zach is on leave.")
— status: open
loop:a745cd [2026-06-11] Send two Slack replies to Raúl: (1) v0b/launch-feedback reply, (2) identity-question TLDR proposing a 15-min call before June 15
— source: sessions/2026-06-11-1237-identity-selling-website-pages-raul.md ("Zach to send the two Slack replies: (1) the v0b/launch-feedback reply, (2) the identity-question TLDR proposing a 15-min call before June 15.")
— status: open
loop:94cb9c [2026-05-02] Add /share/next link resolving to the upcoming week's plan
— source: docs/archives/td-export-2026-06.md (td-26b565)
— quote: "Add a stable URL like https://meals.farscry.io/share/next that resolves to the next-Monday-onwards weekly plan, complementing /share/latest (current week)... the household wants to forward NEXT week's plan to the helper for grocery shopping, but /share/latest still resolves to this week."
— status: provisional
loop:98596c [2026-06-07] Fix meal-planner MCP daemon RAM leak (1.4GB): backport idle eviction, 404-on-stale-session, compiled node, MemoryMax
— source: sessions/2026-06-07-2024-expenses-backend-and-bot-iteration.md ("I gave Zach a prompt to fix the meal-planner MCP daemon RAM leak (1.4GB; backport idle eviction, 404-on-stale-session, compiled node, MemoryMax) — pending execution")
— status: open
loop:4cd1e2 [2026-05-02] Fix partial-match ambiguity in update_meal recipe_name (bug)
— source: docs/archives/td-export-2026-06.md (td-27f8d7)
— quote: "MCP tool update_meal uses partial-match (substring LIKE) on recipe_name, which silently picks the wrong recipe when one name is a substring of another. Reproduced 2026-05-02: passing 'Bao' set the slot to 'San choy bao' instead of the standalone 'Bao' recipe."
— status: provisional
loop:ef5262 [2026-03-20] Farscry Product Vision: separate core product from personal extensions
— source: docs/archives/td-export-2026-06.md (td-4a0efe)
— quote: "Farscry should be usable by others for their own Claude projects, not just Zach's personal dashboard. Core product (ships for everyone): Sessions... Schedules... Dashboard... Auth... Personal/extension layer (configured per-user): Todos: td integration via TD_WORKSPACES env var... Separation principle: if TD_WORKSPACES is not set, Todos page shows 'No td databases configured.'"
— status: provisional
— note: This is vision/decision framing more than a discrete task (labelled decision; the decision itself is captured in decisions.md). Was in_progress since 2026-03. Confirm whether any open execution remains or this should close as a recorded decision only.
loop:e3a515 [2026-06-05] TAA (The Arsenal Archives) v0: provide ANTHROPIC_API_KEY to unblock Task 14 smoke run; then run Tasks 14-16 (seed_sources, run-cron.sh, systemd install, nginx, final code review, tag v0)
— source: sessions/2026-06-05-2150-taa-v0-implementation.md ("User needs to provide ANTHROPIC_API_KEY.")
— status: open
loop:a18e06 [2026-06-09] Rotate the secrets exposed in the agentic-os build session transcript (TELEGRAM_BOT_TOKEN, OPENAI_API_KEY, SLACK_USER_TOKEN(_JB), GITHUB_MCP_TOKEN, JIRA_API_TOKEN, GOOGLE_CLIENT_SECRET, INTERCOM_AUTH_HEADER, RECRAFT_API_KEY, FIGMA_ACCESS_TOKEN); Zach rotates upstream, then run sops set updates
— source: sessions/2026-06-09-1918-agentic-os-control-center.md ("Rotate the secrets exposed in this session's transcript (TELEGRAM_BOT_TOKEN, OPENAI_API_KEY, SLACK_USER_TOKEN(_JB), GITHUB_MCP_TOKEN, JIRA_API_TOKEN, GOOGLE_CLIENT_SECRET, INTERCOM_AUTH_HEADER, RECRAFT_API_KEY, FIGMA_ACCESS_TOKEN); I can run the sops set updates once Zach rotates them upstream.")
— status: open
loop:7ffcbb [2026-06-09] Clean up the temporary brainstorm.farscry.io Caddy block — it still points at dead port 51336 (server stopped at 52618→51336); harmless but unrestored
— source: sessions/2026-06-09-1918-agentic-os-control-center.md ("I left the temporary brainstorm.farscry.io Caddy block pointing at a now-dead companion port (52618→51336, server stopped); harmless but unrestored.")
— status: open
loop:fb7166 [2026-06-11] Broader agentic-os dashboard layout review for os.farscry.io to make it easier to use (separate session — handoff prompt already provided)
— source: sessions/2026-06-11-2053-agentic-os-staleness-cadence-fix.md ("Zach wants to look at broader dashboard LAYOUT changes on os.farscry.io to make it easier to use (separate session — handoff prompt provided).")
— status: open
loop:cdc3ee [2026-03-23] Product toolkit README: make more readable/useful for PMs/designers
— source: docs/archives/td-export-2026-06.md (td-a26c90)
— quote: "README was cut from 250 to 95 lines but could be better. Consider: who reads this (PMs/designers, not engineers), what they need on first visit... maybe a getting started guide vs reference split. Also check if CLAUDE.md and README overlap"
— status: provisional
loop:e0d402 [2026-06-10] Re-review PR #45 (CSE escalation assistant) once @migzginete pushes fixes 1–3: frontmatter contract (skill output must include YAML frontmatter), full READY_REQUIRED_FIELDS list, section-scoped field validation
— source: sessions/2026-06-10-1544-pr45-cse-escalation-review.md ("I told @migzginete on PR #45 I'd re-review once items 1–3 (frontmatter contract, full READY_REQUIRED_FIELDS, section-scoped field validation) are pushed.")
— status: open
loop:7ee3ee [2026-06-07] Wire up Bali expenses Telegram group (copy trips/ko-samui shape, seed Bali families, bot allowlist entry) when Zach creates the group
— source: sessions/2026-06-07-2024-expenses-backend-and-bot-iteration.md ("I will wire up the Bali expenses Telegram group (copy trips/ko-samui shape, seed Bali families, bot allowlist entry) when Zach creates the group")
— status: open
loop:fcf60c [2026-06-07] Run Bali readiness checklist (expenses/trips/bali-jun-2026/READINESS.md) by Jun 13 — needs Zach's family/portions breakdown for 14 pax first
— source: sessions/2026-06-07-2034-expenses-review-and-hardening.md ("I will run the Bali readiness checklist (expenses/trips/bali-jun-2026/READINESS.md) by Jun 13 — needs Zach's family/portions breakdown for the 14 pax first")
— status: open
loop:0fd5ef [2026-06-07] Review and redesign ledger page UX (farscry.io/ledger/ko-samui): multi-model UX/product/design reviews + external design references, then fix
— source: sessions/2026-06-07-2034-expenses-review-and-hardening.md ("I will review and redesign the public ledger page UX (farscry.io/ledger/ko-samui) in a dedicated session — multi-model UX/product/design reviews + external design references, then fix")
— status: open
loop:bc7c8f [2026-06-08] Expenses UX: implement Jun 8 feedback — family display names (e.g. "Hazhi"), linkified Receipt #xx anchors in bot confirmations, receipt image storage on ledger page
— source: voice/2026-06-08.md ("family names - like my family is 'hazhi'. so use they instead of zhi family")
— status: open
loop:22c9bc [2026-06-08] Re-check ~/Claude/telegram-bot/tools/cost_tally.py once Ko Samui Telegram group is active again to report actual bot API cost (cost tracking shipped after last message — no usage data yet)
— source: sessions/2026-06-08-1349-expenses-ledger-redesign-hardening.md ("I'll re-check ~/Claude/telegram-bot/tools/cost_tally.py once the Ko Samui group has been active again, to report actual bot API cost (no usage data yet — tracking shipped after the last message).")
— status: open
<!-- Closed loops move here with a close date; pruned quarterly. -->
loop:24acd1 [2026-04-26] Service Sheet: compressed weekly-meal scan view — closed 2026-06-08
— evidence: shipped + committed — planner-grid-scan.tsx + density toggle (Scan/Detail) in service-sheet.tsx/page.tsx. Verified in meal-planner repo, clean tree.
— source: docs/archives/td-export-2026-06.md (td-2b9372, log 2026-04-26 15:43:16)
loop:6f228d [2026-04-26] MCP 2-item-slot fix: update_meal DELETE+INSERT + get_weekly_plan find→filter — closed 2026-06-08
— evidence: fixed in mcp-server/setup.ts (commit 6b44ff3, meal-planner repo). update_meal now slot-scoped DELETE+INSERT (mirrors HTTP PUT route); get_weekly_plan renders 2-item slots as "A + B". DB-level repro confirmed old orphan bug + fix; MCP tsc clean; dist-mcp rebuilt + meal-planner-mcp.service restarted and serving on :3010.
— source: docs/archives/td-export-2026-06.md (td-59ffbe handoff 2026-05-08 21:30:23)
loop:27eada [2026-06-08] Explore and build a personal Agentic OS dashboard — closed 2026-06-09
— evidence: shipped v0 live at os.farscry.io (behind auth, Telegram completion pings verified end-to-end, DNS + TLS provisioned). Full brainstorm→spec→plan→build→deploy→activate completed in session.
— source: sessions/2026-06-09-1918-agentic-os-control-center.md ("Shipped the Agentic OS control center v0 (live at os.farscry.io, behind auth, pings verified) — full brainstorm→spec→plan→build→deploy→activate completed this session.")
loop:f43f75 [2026-06-09] Verify rc-digest REPL canary + graduate tasks onto run_claude_loop — closed 2026-06-11
— evidence: F15 (worktree isolation mismatch) fixed via Option B commit path; rc-digest re-cut and proven live (commit d2a25eb, via:repl, exit 0); graduation unblocked; rc-brief also graduated (725b0ad).
— source: sessions/2026-06-11-1401-cron-loop-option-b-build.md ("F15 (cron-loop worktree-isolation mismatch) — FIXED via Option B; rc-digest re-cut off the -p stopgap and proven live (commit d2a25eb).")
loop:d9d6ed [2026-06-10] Build cron-loop Option B commit path (F15 fix) — closed 2026-06-11
— evidence: Built lib.sh repl-mode commit path (5 codex fixes + 2 review-pass fixes), 3 codex review passes, throwaway tests all green, rc-digest + rc-brief graduated (commits c0d1178, ccf9c60, d2a25eb, 725b0ad). First live repl-mode production run green at 13:47.
— source: sessions/2026-06-11-1401-cron-loop-option-b-build.md ("Built, reviewed (3 codex passes), tested, shipped, and proved live the Option B commit path that fixes F15.")
loop:99265b [2026-06-10] Apply referral-standup-prep Plan 2 rev-2 punch-list — closed 2026-06-11
— evidence: Both P0s closed (chat_memory keyed per-conversation via conversationId; outcome picks latest-per-client campaign); codex re-review verdict "P0s CLOSED". 46 tests green. (commit b8c74cdb)
— source: sessions/2026-06-11-1029-referral-standup-prep-plans-2rev-3-4.md ("Applied the Plan 2 rev-2 punch-list (2 P0 + 6 P1 + adversarial tests) and confirmed via codex that the P0s are closed.")
loop:293cff [2026-06-10] Deliver Plans 3, 4, and 5 of referral-standup-prep rebuild — closed 2026-06-11
— evidence: Plan 3 (judge adapter, commit 92edfad7, 68 tests, codex P1+P2 CLOSED); Plan 4 (assemble/standup/write, d6ce27ee, 51 tests, codex P0+P1 CLOSED); Plan 5 (run.py + cutover, 8a9ef1f0, 215 tests, codex P0+P1 CLOSED). All extraction-verified.
— source: sessions/2026-06-11-1029-referral-standup-prep-plans-2rev-3-4.md + sessions/2026-06-11-1131-referral-standup-prep-plan-5-final.md
loop:8c4112 [2026-06-10] Run AC-184 multi-perspective design review (td-48ee29) — closed 2026-06-11
— evidence: Delivered v1→v3 adversarial 6-review chain (commit 0fa006f3); then v4→v5 via data-backed e3 resolution (lazy binding), 6-review + 2-model verification; groomed to 50 ACs + 21 edge cases + 32 test scenarios. AC-184 split → AC-184/AC-194.
— source: sessions/2026-06-11-1135-ac-184-adversarial-review-chain.md + sessions/2026-06-11-1435-ac-184-direction-v5-groom.md ("AC-184 design review (td-48ee29) — closed: taken through v4→v5, 6-review + 2-model verification, and groomed into an engineer-ready spec.")
loop:25b4b3 [2026-06-09] Design AC-184 session-management UI (Q2 resolution) — closed 2026-06-11
— evidence: Q2 (situated-opener copy / signposting boundary) resolved via lazy campaign binding as the general opener principle (v5 direction); v4→v5 delivered + groomed. Sub-obligation loop:8c4112 also closed.
— source: sessions/2026-06-11-1435-ac-184-direction-v5-groom.md ("AC-184 design review (td-48ee29) — closed: taken through v4→v5, 6-review + 2-model verification, and groomed into an engineer-ready spec.")