One person signs up in Paonia. One advisor is born for them — no team, no specialists. It quietly goes and zeroes homes, and the buyer watches them appear on their board over the next ten or twenty minutes. They install the extension, zero a home themselves, and the advisor writes them a personalized punch list on it. The advisor tends the board from there. That whole loop, closed and proven once, live — that's the beginning.
Seven steps, one real buyer. The point of this plan is to close every seam and walk a stranger through it end-to-end. Each step is tagged for where it actually stands today.
Not from memory. From the live deployment (nautical-rabbit-780), the fleet, and the bridge logs, today.
Two real wizard completions on Jun 20 (Paonia, real answers). Both rang the doorbell, the bridge accepted both and submitted a birth job — and no advisor was born. The intakes still read status: new, advisorCell: empty.
The same path did birth "Josh" on Jun 17 (identical log lines, born 8 min later). So the live birth isn't unbuilt — it's flaky, and the failures are silent. That silence is the real enemy: an intake can rot forever and no one notices.
What this means for the four things you asked about:
zero-pulse is alive but the advisor's heartbeat isn't wired to it, and the tend skill is on an unmerged branch. Nothing wakes a born advisor to react.homezero.md/board. The on-listing window doesn't exist yet.In the real HomeZero design language. These are the things this plan builds toward.
The spine is fix the birth → make a zero land + the advisor react → put a window on Zillow. Phase 1 is the gate; nothing downstream matters until a stranger's signup reliably births an advisor.
Two delivered doorbells, zero advisors. Fix the silence first.
Not the birth logic — a dead credential. The proxy's Anthropic Max token expired (~Jun 19) and its refresh token went invalid (400 invalid_grant). zero-mother runs on the claude-code/Max harness, so every birth since hung on the first model turn (0-byte out.jsonl, idle, watchdog SIGKILL). codex-based cells were unaffected — why nothing else looked broken.
Cells-team framework bug, shipped (PR #35, deployed): the proxy's refresh manager only treated HTTP 401 as "revoked"; Anthropic returns 400 invalid_grant, which fell through to a silent retry — no flag, needs_login:false. Fixed: detect by error code regardless of status; /_proxy/health now reports needs_login:true + degraded:true on a failed refresh; the flag auto-clears on the next healthy refresh.
cells pi → /login (re-auths the Max token; proxy picks it up within its 5-min tick) → re-fire intakes jx711zkrx6… · jx7dtzwehe9…The live path still births a "team." Strip zero-mother's cell-resident zero-birth skill to advisor-only, remove specialist reasoning, and commit it to git (today it's lost on any cell refresh). The bridge stops saying "team." Fewer steps = far less to fail.
~/.claude/skills/zero-birth/SKILL.md (un-git'd!) · bridge/src/http.ts, index.ts (rename + advisor-only)cells birth test → advisor only, no roster rowsA watcher detects "doorbell delivered + job submitted, but advisorCell still empty after N minutes" → retry once, then surface it. The intake shows birthing / failed on /home instead of rotting at new. This is the real bug.
Verify the birth actually passes the intake answers into the advisor's seed (BUYER.md / advisor.db / memory) and that its first zeroes reflect them. The advisor must wake already knowing this buyer.
Three real wizard runs → three advisors born, untouched, each with a first board that reflects that buyer's answers.
Provenance, the punch list, and a clock for the advisor.
Add zeroedBy: "advisor" | "buyer" and punchList: [{ tag: good|watch|question, text, tiedTo? }] to the board card. tiedTo links a flag back to an onboarding answer (that's the "for you" line).
/api/star creates the board card immediately (provenance buyer, state "your advisor is looking…") so the home shows on the kanban the instant it's zeroed. The punch list fills in after the advisor's pass. Instant fill, advisor reconciles over it.
The advisor authors the personalized punch list — 3–5 flags read off the Zillow listing through this buyer's yearnings — for both its own zeroes (scout) and human zeroes. Writes via the extended authorHomeCard.
Merge feature/advisor-tend-loop and wire the advisor's HEARTBEAT.md to the live zero-pulse. The 30-min backstop pass: place inbox homes, digest taps/moves, re-sort, ask the next question.
"✦ zeroed by your advisor" vs "○ zeroed by you" on every card; the empty→filling state ("your advisor is finding homes…") while it spins up.
Zero a home on Zillow → instant card → the advisor's punch list lands → move it / answer its question → the advisor digests on the next pass.
A zero or an answer wakes the advisor now instead of waiting up to 30 min. The backstop already catches it; this just makes it feel instant.
cells run the advisor's tend passYour pick: a window onto the board card, under each listing. One-way; actions stay on the web board.
Return this buyer's card for a zpid: provenance, the top punch-list flag, stage, and a deep link. Covered-Paonia homes can return the market take instantly even before the advisor's personalized pass.
Inject the card under the listing in the content script: the top flag, provenance, "open your board →". Market take shows instantly; the advisor's personalized flag swaps in after its pass. Silent + graceful if signed out or uncovered.
On a zeroed Paonia listing, the window mirrors the web board's top flag for that home.
zero-mother's birth skill lives only on the cell — any refresh wipes hand-patches. Getting it into git (1b) is load-bearing for everything.