fix(inventory): arm the public repos' promotion branches (backend#1681) - #250
Open
LukasWodka wants to merge 1 commit into
Open
fix(inventory): arm the public repos' promotion branches (backend#1681)#250LukasWodka wants to merge 1 commit into
LukasWodka wants to merge 1 commit into
Conversation
model-zoo, start-training and docs required no content gates on staging or
prod. All three are PUBLIC. Measured 2026-08-13:
docs/main, docs/staging no required status checks AT ALL
model-zoo/{main,staging} gate / gate only, no gitleaks, no house-rules
start-training/{main,staging} gate / gate only, no gitleaks, no house-rules
`quality / gitleaks` was required on all three develops and on none of their
six promotion branches, so a credential reaching develop was scanned and the
same content arriving on a public prod branch was not.
Armed to the fleet baseline on all six roles, then this file follows. Safe to
arm because each repo's code-quality caller triggers on `pull_request` with no
branch filter (docs' fr-gate caller names staging/main/master explicitly), so
every context reports on promotion PRs -- a required check that never reports
bricks the branch, which is the failure this org has already had twice. And
all three were measured green first, including on release-train/to-main PRs.
docs keeps `min_reviews: 0` -- the 2026-06-04 content-only exemption is about
REVIEW and is untouched. Its shared reason already claimed the divergence
"names `min_reviews` alone"; that was false while `required_checks: []` sat
beside it, and is true now.
Verified: selftest 162/162; a live audit with this inventory exits 0 across
19 repos; and under a mutation adding an unrequired context to the prod policy
floor, all three repos go red -- so these cells evaluate rather than pass by
being unasserted.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
LukasWodka
requested review from
saadqbal and
shujaatTracebloc
and removed request for
saadqbal
August 13, 2026 22:50
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes one of the documented divergences carried by backend#1681, and part of epic backend#1680.
The gap
model-zoo,start-traininganddocsrequired no content gates on either promotion branch. All three are public repos.docs/maingate / gate,quality / gitleaks,quality / house-rulesdocs/stagingmodel-zoo/maingate / gatemodel-zoo/staginggate / gatestart-training/maingate / gatestart-training/staginggate / gatequality / gitleakswas required on all three develops and on none of their six promotion branches. A credential reaching develop was scanned; the same content arriving on a public prod branch was not.The branches were armed via the API first; this file follows so the guard's contract matches reality.
Why arming was safe, checked rather than assumed
code-quality-caller.ymltriggers onpull_requestwith no branch filter, and docs'fr-gate-caller.ymlnamesbranches: [staging, main, master]. A required check that can never report bricks the branch permanently — this org has already hit that withpii-gate/pii-checkandclient#665.release-train/to-mainpromotion PRs (start-training, 2026-08-12 15:55).soft-fail: falsewas armed on all three on 2026-08-11, so these checks can genuinely fail.What is deliberately NOT changed
docskeepsmin_reviews: 0. The 2026-06-04 exemption is about review, and it stands. Its shared reason already claimed the divergence "namesmin_reviewsalone" — that sentence was false whilerequired_checks: []sat beside it, and is true now.The
docsprotection PUT restated every other setting (enforce_admins,required_conversation_resolution, force-push/deletion blocks,required_pull_request_reviews: null); a full-object diff before/after confirms onlyrequired_status_checksmoved, on all six branches.Verification
caller-drift-selftest.py— 162/162 passprotection_policy.prod.required_checks; the anchor applied (canary present in the parsed file) and the audit went to exit 1 with 16 findings, all three of these repos among them — includingdocs, proving itsdivergentcell now evaluatesrequired_checksinstead of overriding it away. Reverted; 0 canary lines remain.Still open on backend#1681
quality / action-pinsis required on 16/16 develops and 1/16 prod branches (only.github). That asymmetry is still unexplained rather than decided, and this PR does not bless it either way.Note
Low Risk
Inventory-only documentation aligned with live GitHub protection; no application or workflow logic changes in this diff.
Overview
Updates
repo-inventory.ymlso the caller-drift contract matches branch protection already armed on three public train repos (docs,model-zoo,start-training).For
model-zooandstart-training,stagingandproddrop documenteddivergentblocks that only requiredgate / gateand now use plainrequired, so the fleet baseline applies:gate / gate,quality / gitleaks, andquality / house-rules.For
docs,stagingandprodkeepdivergentwithmin_reviews: 0(review exemption unchanged) but removerequired_checks: [], so those branches are no longer documented as requiring no status checks and inherit the same fleet baseline as the other train repos.Comments record the 2026-08-13 closure of backend#1681 and that
docs' shared reason about namingmin_reviewsalone is accurate again now that emptyrequired_checksis gone.Reviewed by Cursor Bugbot for commit 0bef0a5. Bugbot is set up for automated code reviews on this repo. Configure here.