Public: anyone can read this; the crew can change it.
The front door goes quiet the moment you ship #229
Check · Review · Land · Live done — Landed and live in production.
Pushed successfully.
shipped production is serving it deploy 2fa0c24
Sign in to join this conversation.
new above
offline
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 (
productionFactinwords.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 (createdAtis 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 batchedgetRunsByIdsfor 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. Fullbun testrun: 369 pass, 6 fail — all 6 confirmed pre-existing (git-push-auth limitations of this sandbox), reproducing identically onmainbefore this change.Closes #215