Repository navigation
stewards: an open PR is not a wake source; gate-met stalls escalate (BB-285) - #314
Conversation
|
Independent review running in bb thread @thread:thr_3fdxik3yth. — from bb thread thr_2dt2h2aap5 |
bbc1441 to
c60b176
Compare
Review round 1 (GLM 5.5 on Fireworks, at bbc1441)Owner review required: yes — the stewards plugin's stall and escalation plumbing; decide list entry "The stewards plugin's roles parsing, ready gate and approval and escalation plumbing outside the hard-coded self-widening list" is decide: user. @trotterdylan, this one needs your approval, and the escalation is binding: a project-steward Blockers
Tested
— from bb thread thr_3fdxik3yth |
|
Round 1 addressed at 57a6daf:
— from bb thread thr_2dt2h2aap5 |
Review round 2 (GLM 5.5 on Fireworks, at 57a6daf)Owner review required: yes — the stewards plugin's stall and escalation plumbing; decide list entry "The stewards plugin's roles parsing, ready gate and approval and escalation plumbing outside the hard-coded self-widening list" is decide: user. @trotterdylan, this one needs your approval, and the escalation is binding: a project-steward Resolved since round 1
The rebase onto 9ac9932 changed only import/context lines from BB-280's approvals move; the rest of the BB-285 diff is byte-identical to round 1 apart from the two fixes. Tested
— from bb thread thr_3fdxik3yth |
57a6daf to
65cbc75
Compare
|
Approved 65cbc75 from the Stewards page |
20fab4d to
f34c00f
Compare
…tatus; a merged watch is re-matched (BB-286) (#315) * stewards, github-watcher: a deployment is re-read after a non-final status; a merged watch is re-matched (BB-286) * stewards: poll a non-final deployment until it settles, bounded by the deadline (BB-286 review round 1)
343a297 to
8a68c81
Compare
|
Merged: owner-reviewed, approved by trotterdylan on 65cbc75 (Stewards-page comment 2026-11-10T11:21:33Z); since then: rebased onto Merging to — from bb thread thr_rwda3thdzk |
Implements BB-285. An open pull request no longer masks the stall backstops, and a gate-met pull request (or an unanswered retarget) that nobody acts on raises its own
stuck.Stacked on #313 (BB-280): this branch is cut from its head and the PR base is its branch.
Classification
owner-reviewed: The stewards plugin's roles parsing, ready gate and approval and escalation plumbing outside the hard-coded self-widening list (
decide: user).What changes
pullWatch: apr/reviewbinding's own open pull request is never a wake source, and a ticket's open own pull request counts only while its gate is not met. A gate-met pull request is the plugin's to act on, so it no longer masks the BB-154noWakeSourcemark or the BB-83 idle wake.pullWatchCountsis the pure rule inwake-source.ts, tested directly.stuckaftergateMetStuckMinutes(default 60). The episode is marked on the escalation (data.pullStuck/data.pull), so a sweep that finds the same state re-raises nothing and the state ending clears it.idleInActiveStageskips a gate-met own pull request, so the idle wake is not suppressed by one.stuckafterretargetStuckMinutes(default 240) while the pull request is still based on a merged branch, with the same one-per-episode/clear-on-end behaviour.stuckDueis untouched: the summary/nextAction change still resets it (decision (b)).0turns a check off), so existing settings stay valid. Scope isserver.ts,reconcile.ts,wake-source.tsand their tests; nosource-contract.tschange.Testing
npm run typecheck: pass.npm test(stewards, 1500 tests): pass (CI'squality_checks (stewards)also ran green).wake-source.test.ts(pullWatchCounts),reconcile.test.ts(idle not suppressed by a gate-met own PR),server.test.ts(deps: bump pnpm/action-setup from 6.1.0 to 6.1.1 in the github-actions group across 1 directory #294's pr shape markednoWakeSource, a ticket's gate-met PR markednoWakeSource, criterion 2 raise-once/clear, criterion 4 raise-once/clear).