Uh oh!
There was an error while loading. Please reload this page.
ci(1979): arm the stale sweep — .github joins the wave, and the flip lands last - #293
Conversation
…p lands last The final PR of the backend#1979 wave, and the last exit-criterion work for backend#1680. Two things, in one PR because they cannot be separated: 1. THIS REPO GETS ITS CALLER. It was deliberately left out of .github#288 (Bugbot): `exempt` plus a caller on the audited branch is itself a finding (caller-drift.py:2260), so shipping the caller with the reusable would have gone green on a repo the audit was told to skip. 2. ALL 17 MIGRATION ENTRIES FLIP `exempt` -> `required`, and the `stale_backlog_migration_in_flight` anchor is DELETED rather than left behind. Its own text says so: "if this anchor is still here after that, it has become the same finding as wip_limit_check_has_no_callers -- a reusable that shipped and was never wired up, with a written excuse." `release-train` and `rfcs` keep their exemptions untouched, because those rest on different reasons that are still true: release-train because enrolling the repo that drives promotions into an unattended closing sweep is a decision somebody should take deliberately (still UNDECIDED, and the note says so), and rfcs because it holds decision documents rather than a backlog -- an RFC nobody has acted on is a decision nobody has taken. ORDERING, which is the whole reason this is a separate PR: flipping to `required` before a repo caller lands would redden the org audit for every repo still waiting -- the drift window made to look permanent, which is how a tier teaches people to ignore it. So this merges LAST, after the 16 caller PRs. Verified: 17 entries required and 2 deliberately exempt (asserted by reading the parsed inventory, not by counting the diff), the spent anchor at zero occurrences, `make check` green (41/41 house-rules cases), and caller-drift-selftest 197/0. backend#1979 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
LukasWodka
commented
Aug 22, 2026
bugbot run |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
… green Bundling the caller with the flip deadlocks: the audit reads caller presence from the audited branch via the API, so `.github`'s caller is absent from `develop` until it merges, and `gate` is a required context. The caller now lands in .github#307; this PR is purely the 17-entry flip. Refs backend#1979 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
LukasWodka
commented
Aug 22, 2026
Split: |
LukasWodka
commented
Aug 22, 2026
bugbot run |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit a8c5174. Configure here.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit a8c5174. Configure here.
saadqbal
left a comment
There was a problem hiding this comment.
Not approving, because gate and audit are both red and a failing required check is a hard no — but the red here is diagnosed, not mysterious, and it isn't this PR's fault.
The audit run reports one finding:
- .github: MISSING required caller for stale-backlog.yml on develop.
and gate then refuses on caller-drift.yml concluded 'failure' ... A contract change must not merge on a failed or skipped audit. That's the deadlock #307 was split out to break: the audit reads caller presence from the audited branch, so .github's own caller does not exist on develop until #307 merges, and a PR that bundles the exempt → required flip with the caller can therefore never go green.
So the sequence is #307 first, then re-run these two checks here. I've approved #307 on the strength of the same log. Nothing to change in this diff on that account — when it goes green I'll review the flip itself on its merits.
Flagging one thing so it isn't a surprise: between #307 merging and this one merging, .github's audit is expected to be red for the opposite reason — exempt in the inventory plus a caller present on the audited branch is itself a finding (caller-drift.py). That window is real and closes on this merge, which is the trade #307's comment argues for. Worth not reading that red as a regression when it appears.
saqlainsyed007
left a comment
There was a problem hiding this comment.
Verified against the tree at head (a8c5174), not the description:
stale_backlog_migration_in_flightanchor: 0 occurrences remaining — deleted as its own text asked, not left behind as a written excuse.- 17 entries flipped to
stale-backlog.yml: required, 2 kept exempt — and the two are exactly the ones the description names:*stale_backlog_exemption_needs_redeciding(release-train, enrolment of the promotion driver still undecided) and*stale_backlog_not_a_backlog(rfcs, decisions not a backlog). Neither rests on the migration, so neither should flip. Correct. - Decisive check:
auditandgateare green at this head. caller-drift reddens the moment a repo flips torequiredwithout its caller present, so the green audit is the derived proof that every flipped entry —.githubincluded — has a real caller on the audited branch. This is exactly the outage the staged ordering exists to prevent, and it isn't tripped.
Bugbot pass, 3 threads all resolved, mergeable. BLOCKED is the ordering/branch-protection gate (this lands last), not a conflict — that's the train's concern, not a code issue. LGTM.
Uh oh!
There was an error while loading. Please reload this page.
…(backend#2242) Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…scribing two repos (#306) * fix(2242): say why rfcs is exempt, accurately, and stop one anchor describing two repos The `rfcs` block asserted "this repo has no `develop`" in two places. It has one, and it takes merges. Corrected both, without touching the `required` flip that is still blocked on the callers reaching rfcs' default branch. Refs backend#2242, tracebloc/rfcs#41 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * fix(2242): name the surviving precedent, not the anchor #293 deleted (backend#2242) Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
LukasWodka
commented
Aug 24, 2026
/fr-pass |

The last PR of the backend#1979 wave, and the last exit-criterion work for backend#1680.
Two things, in one PR because they cannot be separated
1. This repo gets its caller. It was deliberately left out of #288 (Bugbot's
call):
exemptplus a caller on the audited branch is itself a finding(
caller-drift.py:2260), so shipping the caller alongside the reusable would havegone green on a repo the audit had been told to skip.
2. All 17 migration entries flip
exempt→required, and thestale_backlog_migration_in_flightanchor is deleted rather than left behind.Its own text asked for that:
What is deliberately NOT flipped
release-trainandrfcskeep their exemptions, because those rest on reasons thatare still true and are not the migration:
release-trainrfcsOrdering — the reason this is a separate PR
This merges LAST. Flipping to
requiredbefore a repo's caller lands wouldredden the org audit for every repo still waiting: the drift window made to look
permanent, which is exactly how a tier teaches people to ignore it.
.githubpromotesdevelop → staging → main, carrying #288's reusablemainstill has the old 1174-byte copy, develop is 4 aheadVerification
required, 2 deliberately exempt — asserted by parsing theinventory and printing every repo's resolved value, not by counting diff lines
stale_backlog_migration_in_flight: 0 occurrences remainingmake checkgreen — 41/41 house-rules casescaller-drift-selftest.py— 197 pass, 0 failactionlintclean on the new caller🤖 Generated with Claude Code
Note
Medium Risk
This is the org contract the caller-drift audit enforces. Flipping many repos to required will redden the fleet audit if any caller is missing or not yet on the audited branch.
Overview
Closes the backend#1979 migration in
repo-inventory.ymlby flippingstale-backlog.ymlfromexempttorequiredon the repos that were waiting on caller PRs (including.github), and deletes thestale_backlog_migration_in_flightshared reason so it cannot linger as a written excuse.release-trainandrfcsstay exempt on their existing, still-true reasons (undecided enrollment of the promotion driver; RFCs are decisions, not a backlog).Reviewed by Cursor Bugbot for commit a8c5174. Bugbot is set up for automated code reviews on this repo. Configure here.