You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
T-rollup: rollup bot merges ready PRs into one commit (≤200 lines via gh, close constituents only after SHA on main) #5737
Refs #5510 (EPIC 20 merged/h), #5394. Ordered by aprender-57 (operator ruling 4); intake line from aprender-flow (T-rollup). Owner aprender-w5404.
Operator ruling (verbatim, relayed)
"Rollup bot checks the <=200-line rule itself via gh additions+deletions, not blocked on #5733. Bot may close a constituent only after the rollup commit is on main, with the SHA posted; never on red; ejected PRs stay open with a reason."
Loss
Green PRs queue up behind each other and every merge dirties the rest (#5394). A bot that rolls ready PRs into one merge removes the per-PR queue cost.
Change
A rollup bot (new crate aprender-rollup, work in flight on branch feat/rollup-bot): pure selection/split/outcome core first, then the gh I/O layer and a bin.
Overlapping files between candidates: not rolled together.
A red candidate: ejected, stays open with a stated reason.
A constituent is closed only when the rollup commit is on main and its SHA is posted; never otherwise.
Process
One ticket, owner w5404. The new crate touches Cargo.toml/Cargo.lock: a3 confirms. No PR until open ≤10 (operator freeze). Workflow or gate changes need "gate/workflow sign-off: YES".
LAB red (not a gate): deep-nightly run 39513981499, job deep-bins-smoke, fails because the aprender-rollup binary does not answer --version (rc=2, prints usage). Owner: w5018, after #5815. Fix: make --version exit 0 (or drop the binary from the smoke list with the reason). One ticket, one owner; no further reports unless it stays red 7 days.
Activity
chore(roadmap): PMAT-5737 T-rollup ticket (Refs #5737, #5394)
feat(rollup): parse gh pr list JSON into candidates, failing closed (…
feat(rollup): plan subcommand and report text, binary-debt row (Refs #…
feat(rollup): branch builder steps and build subcommand, ejects confl…
feat(rollup): gh args to close with SHA or keep open with reason (Refs …
feat(rollup): merge-group verdict, halves bisect, close plan (Refs #5737
feat(rollup): verify command wires merge-group verdict, bisect halves…
feat(rollup): cap a rollup at 3 entries until p_red is measured (Refs #…
fix(rollup): bind verdict to head SHA, check SHA on main, name over-c…
feat(rollup): bind build to judged head, all-skipped checks are not g…
Merge main into feat/rollup-bot (Refs #5737)
Merge origin/main into feat/rollup-bot
Regenerate roadmap.yaml from entries (make roadmap-aggregate)
noahgift commentedon Oct 20, 2026
LAB red (not a gate): deep-nightly run 39513981499, job deep-bins-smoke, fails because the aprender-rollup binary does not answer --version (rc=2, prints usage). Owner: w5018, after #5815. Fix: make --version exit 0 (or drop the binary from the smoke list with the reason). One ticket, one owner; no further reports unless it stays red 7 days.
noahgift commentedon Oct 22, 2026
Tracked in #5510 (triage 2026-10-22).
noahgift commentedon Oct 22, 2026
tracked in #5962