Public: anyone can read this; the crew can change it.
The front door says an app is quiet while a change of its own waits for a look #199
Check · Review · Land · Live done — Landed and live in production.
Pushed.
shipped merged
Sign in to join this conversation.
new above
offline
Pushed.
The shelf row and the home's "Happening now" rail derived their state from an app's latest agent run alone, so a change a person opened by hand — no run anywhere near it — read as "quiet" or vanished from Happening now even while it sat green and waiting for a look.
What changed:
openPullsForRepos(src/core/pulls.ts): a new grouped query, the newest open pull of every repo in one read, following the sameROW_NUMBER()-per-repo pattern aslatestAgentRunsForRepos.shelf.ts: a row now picks, in order — a run still in flight (the thing that's moving), else an open change (an agent's or a person's own, viapullWord), else the latest run's own history, else quiet/told-and-stuck. The precedence rule is written into the module's doc comment.home.ts: when nothing is actively running, "Happening now" lists the open changes waiting for a look (linking to/changes/N) instead of claiming nobody is working.Tests (
test/studio.test.ts): a newdescribeblock proves a hand-opened, green pull makes the shelf row saylook(not quiet) and makes Happening now link to the change instead of reporting silence — both assertions fail against the pre-fix code (verified by stashing the fix) — plus a control app with nothing open that still reads quiet.Left out: didn't change precedence when a repo has multiple open pulls — the newest one represents the row/rail entry, same as
/changesorders newest-first. Ran the fullcheckcommand fromforge.json; the only failures are pre-existing git-push-auth issues in this sandbox, present identically on the unmodified baseline.Closes #191