Public: anyone can read this; the crew can change it.

The front door goes quiet the moment you ship #229

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

Pushed successfully.

shipped production is serving it deploy 2fa0c24

opened this

Pushed successfully.

Fixes the front door going quiet right after a ship: shelfRows/the home rail read only an agent run's history, so once a merged pull closed, there was nothing left to say a deploy had landed.

The rule (productionFact in words.ts): production's own status already carries the fact worth telling — the deploy now serving, or, when a newer one failed behind it (#200's case), that failure — provided a push actually asked for it (createdAt is unset for a boot reconcile or a manual redeploy, so neither counts as news) and it happened within the last 24h (DEPLOY_NEWS_MS); past that the row settles back to quiet rather than reading "shipped" forever. The shelf prefers this fact over a stale run's own word unless that word already says "shipped" itself, so credit stays with whoever's own history carries the ship rather than being reattributed to the deploy behind it. The home rail's "Happening now" reads the same batched facts for a third tier, so it links to what shipped instead of claiming nobody is working.

Reads stay bounded: runtime.status() is in-memory already; the only new query is one batched getRunsByIds for whatever run ids a fact points to, across the whole shelf.

Left out: I didn't fold #200 into the badge/tone side of the row — that's already implemented (production.failedDeploy, landed under #216). This PR only wires the text half. I also didn't make the "shipped" carve-out fully recency-aware against an old agent run's stale "shipped" claim when a newer, unrelated production fact exists — a known, narrow gap noted in the code's comments, not something the issue's report hit.

Tests added to test/studio.test.ts: a merged change's row reads "shipped" with who/when (not quiet); an untouched app stays quiet; a redeploy/boot reconcile isn't mistaken for news; a deploy past the window goes quiet again. Full bun test run: 369 pass, 6 fail — all 6 confirmed pre-existing (git-push-auth limitations of this sandbox), reproducing identically on main before this change.

Closes #215

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs