Only a merged or closed pull request is landed; unread and idle are visited once on change, awaiting again on age (#1707) - #1710
Conversation
…isited once on change, awaiting again on age (#1707)
…y other pull-request state is idle (#1707)
|
Dogfood on the live Driver, 2026-08-26 00:28–01:15Z (daemon pid 74851 on Driver keeps cycling on the new script — Item 1 — one bug found, fixed in Item 3 — no age revisit. Neither idle session was visited a second time across 16 cycles (7½ min, the revisit is 5). The awaiting half — revisited on age — was not exercised: no session is awaiting right now; the Side observation, not this PR's: claude.ai refreshes a row's pull-request state lazily — the row said 🤖 automated · Fable 5, effort high |
Implements items 1 and 3 of #1707 as decided in #1707 (comment).
Item 1 —
content.js. A row showing only a pull request islandedonly for#N · Merged/#N · Closed;#N · Openisidle. A status word on the row still wins. Any other pull-request wording staysunknownwith the label carried, as before for labels the bridge does not know.Item 3 —
driver-plan.js.PARKED+ oneREVISIT_MSbecomes two sets:ON_CHANGE = {awaiting, unread, idle}(visited when never seen or when the list's word changed) andON_AGE = {awaiting}(also visited again after five minutes unchanged). A queued answer still forces a visit whatever the status.running,landed,missingare never visited on their own.Note on
idle: the decision says an open-PR session "is visited on change, never on age". On main the planner never visitsidleat all, so honouring that putsidle— the list's own "Idle" rows included — in the on-change set. Cost: one visit per session when it turns idle, and on a fresh worker (emptyseen) idle sessions join the first cycles' backlog, four visits a beat. If you'd rather keepidleunvisited, drop it fromON_CHANGEand item 1 becomes a report-only change (idleinstead oflandedon the dashboard).check.mjs — three cases, each red on main before the fix and each verified to go red again when its rule is reverted:
idle, a merged or closed one aslandedawaitingis visited again;unreadandidleare notSpecs:
content.SPEC.md,driver-plan.SPEC.md(glossary "parked" → "stopped", now including idle),check.SPEC.md, the extensionSPEC.md,FEATURES-SPEC.md:170.Nothing in
dist/changes — the daemon needs no rebuild; the extension needs a reload.🤖 automated · Fable 5, effort high