Suni's definition of production, in his words: voice memo in, task completed and sent to email, zero prompts, STP. The bottom of the funnel is built and the loop is now proven end-to-end. What remains is the third criterion — a live surface showing what is moving through the pipeline and what is stuck.
Drift drop landed and confirmed clean 2026-07-30. Remaining: the laptop half, and a detector so drift is noticed by the machine rather than by us.
Needs the real state list from a live run; mini-local. Completed cards currently land in Backlog — a correctness defect in the production loop.
Convention, not code — needs a decision on what 'brings its tests' binds.
Cut over while the ledger is empty. Decide the OPS state set alongside BLD-57's sandbox target — both create team structure.
Ratified: vault goes desktop-only. Upstream of BLD-57. Open: whole vault vs. design tree, and attachment strategy.
A synthetic transaction through the live pipeline. Wants the disposition rails to exist first to be meaningful.
Largely dissolved by BLD-120 — the parser goes away with the mailbox. Do not harden what is being retired.
Scope the consumer to disposition-labelled cards.
Blocked: Requires Suni physically present in DC — the remedy must be proven against a real dead tunnel, and running it remotely severs the session that would observe it. Unblocks on his return to DC.
Blocked: Needs Kristin's phone in hand to install and test the Shortcut.
Per-location lock plus anti-drift.
DISSOLVED by BLD-120 — server-side ids cannot collide. Left open deliberately; closes when BLD-120 closes. Do not build.
A network-capable unattended agent writing to the vault. The safety posture IS the build. Deferred behind reliability.
Rolled into the BLD-33 rail set — do not estimate twice.
Comment trigger. Partially subsumed by BLD-59.
Todoist + Calendar + Gmail-draft share a shape — one build, not three. They block loudly with a named dep today, which is the correct failure.
Honey-Do intake for Kristin. Rail exists; needs the disposition clients.
The intake rail. Becomes the capture screen of the app.
RE-SCOPED: adopt native sandboxing rather than building the wall. Blocked by BLD-77.
Comment-as-instruction plus present-engine routing.
DEPRIORITIZED — real and unblocked, but nothing user-visible waits on it. Keeps its priority; does not get a session.
voice-pipeline is the top of the funnel and has no version control at all.
Standing container, never closes — not a build.
Must sweep BOTH relation and prose blockers — BLD-85's was prose, so a relation-only sweep returns clean on the case that motivated it.
Published read-only contractor view. Same renderer as this page.
PROMOTED by BLD-120 — machine-as-assignee is what makes 'who owes this' a query rather than a parse.
focus.json, updated
2026-07-30. Refreshing the browser does not rebuild — re-run build.py.