ci(2396): flip .github and rfcs to required, and delete the anchor they emptied - #319
Conversation
…ops being stale (backend#2396) Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
bugbot run |
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 c49edb0. Configure here.
saqlainsyed007
left a comment
There was a problem hiding this comment.
Reviewed — approving. This flips release-train's customer-priority-bump.yml row from exempt to required now that its caller landed (release-train#117), and rewrites the shared exemption reason because it genuinely expired: backend#1408 is CLOSED COMPLETED, all four reusable inputs are consumed, and the hard-coded priority label is RFC-BACKEND-0008 D5 as decided — so the old "sequenced behind cleanup" justification is no longer true, and the rewrite says so rather than leaving a stale excuse. The citation-count comment (3x→2x) tracks the flip correctly (.github and rfcs still cite it, flipping in #316/#47). The whole change is gated by this repo's own caller-drift audit, which is green — so the flip matches reality. Green: checks pass, no open threads.
…#320) Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Rebased onto develop. The row flip in this PR is now redundant — #320 landed the same What remains is the half #320 did not touch: the anchor's reason is factually expired. Retitled accordingly. If you'd rather fold this into the next flip (.github#316 / rfcs#47), |
saqlainsyed007
left a comment
There was a problem hiding this comment.
Re-approving. My earlier approval was auto-dismissed by a develop merge that pulled in #314 and the release-train row flip. After that merge, the customer-priority-bump.yml: exempt→required flip is already on the base, so this PR's remaining diff is just the customer_priority_bump_caller_missing shared-reason rewrite — recording that the original blocker (backend#1408) has expired: #1408 is CLOSED COMPLETED, all four reusable inputs are consumed, and the hard-coded priority label is RFC-BACKEND-0008 D5 as decided. Accurate, single-file (repo-inventory.yml), and consistent with what I verified before. CI green, no open threads.
…ey emptied Both callers are live on their default branches (.github#316, rfcs#47), so the `exempt` rows became the stale-exemption finding caller-drift.py:2309 exists to catch. Flipping them takes the anchor to zero citations, so its definition is deleted in the same PR rather than left as dead prose. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Repurposed as flip 2 now that both callers are live ( Rewriting the anchor's reason (the previous contents of this PR) is moot once the anchor itself
This closes the red-audit window that opened when the two callers landed against Verified locally: 0 anchor definitions, 0 aliases, YAML parses, all three rows read |
saadqbal
left a comment
There was a problem hiding this comment.
Approving — the sequencing is right and I checked it rather than taking the description's word for it,
which turned out to matter.
What I verified:
- the anchor is genuinely at zero citations:
grepfinds no surviving*customer_priority_bump_caller_missing
alias, and the file still parses (19 repos), so deleting the definition can't orphan an alias; - the two flipped rows are
.github(:545) andrfcs(:1264); - both prerequisite callers landed this morning —
.github#316at 09:32,rfcs#47at 09:31 — so the
flip is on the safe side of this file's own "land the caller first" rule; - and the audit branches line up, which is the part that could have quietly gone red.
.githubis
release_train: trueso it's audited ondevelop, wherecustomer-priority-bump-caller.ymlnow
exists;rfcsisrelease_train: falseso it's audited on its default branchmain, where its
caller exists.rfcshas no caller ondevelop, so had it been a train repo this flip would
have been red.
I also nearly flagged .github's trailing comment for saying customer-priority-bump-caller.yml
where all eighteen other rows say customer-priority-bump.yml. It's correct: .github hosts the
reusable under that name, so its caller needs the suffix. Worth the two minutes.
One thing to fix before merge: the body is stale. It describes the single-row version that
shipped as #320 — "Flips one row: release-train's" and "Only release-train, deliberately. The
other two citations (.github, rfcs) flip when their callers land — .github#316 and rfcs#47,
both open." All three of those are now false, and the title is the accurate one. In this repo of all
places that reads oddly, and it's the text that survives into the merge commit.
Flips one row:
release-train'scustomer-priority-bump.yml,exempt→required.Why now, and why only one row
release-train#117merged, so that repo's caller exists — and a caller that exists whileits row says
exemptis itself a finding. The org audit ondevelophas been redsince 06:47 today, naming it exactly:
That is
caller-drift.py:2309working as designed. The window is the price of thisfile's own rule — land the caller first, flip the entry after — because the audit reads
caller presence from the audited branch over the API, so a combined PR can never go
green. It is not a regression.
Only release-train, deliberately. The other two citations (
.github,rfcs) flipwhen their callers land —
.github#316andrfcs#47, both open. Flipping all three nowwould go red on the two missing callers, which is the mirror image of the same rule.
Splitting costs one extra serialised guarded-file merge. Worth it: the alternative is
leaving the fleet audit red for as long as two reviews take, and a persistently red check
trains people to skip the tier — the "arm while green" rule exists for exactly this.
Two things this PR falsified, fixed in the same PR
A comment asserting the anchor "is cited 3x and stays." True until this flip, false
after it. Now says 2x, names which two repos still cite it, and points at the PRs that
will flip them. Counted by hand because nothing asserts it — the paragraph directly
above already records that gap (no check flags an orphaned YAML anchor, and
stale_exemptions()inkanban-columns-check.pyis a different mechanism entirely).The anchor's stated reason, which had expired. It read "three dead inputs and
hard-codes the
prioritylabel (backend#1408 P3), so wiring more repos to it issequenced behind that cleanup." Measured 2026-08-23:
backend#1408 P3trigger-label×1,bug-label×2,project-number×1,org×1priorityThe rewrite says what is actually true (the callers are not wired yet), names
backend#2396 as the work wiring them, and carries a self-destruct clause: if the anchor
outlives #2396 it has become the same finding as
wip_limit_check_has_no_callers— awritten excuse — and is to be treated as a defect. It also records the red-window cost
so a future reader does not misread it as a regression.
Verification
Real audit, this branch, against the live org:
Closes tracebloc/backend#2396 is not claimed here — #2396 also covers the two
remaining callers and their row flips. Part of tracebloc/backend#2396.
Note
Low Risk
Inventory-only contract update after callers already landed; no workflow or auth logic changes. Wrong flips would fail caller-drift rather than silently weaken a gate.
Overview
Closes the last two
customer-priority-bump.ymlexemptions now that those callers exist..githubandrfcsflip fromexempttorequired, matching the live callers (.github#316,rfcs#47).Deletes the unused
customer_priority_bump_caller_missinganchor (0 citations after the flips) instead of leaving dead prose. Thekanban_closure_router_caller_missingnote is updated to use that deletion as the bookkeeping example for whenrfcs#41lands.Reviewed by Cursor Bugbot for commit 4374998. Bugbot is set up for automated code reviews on this repo. Configure here.