fix(repo-inventory): record design-system-v2's armed protection and client-runtime's strict develop as measured - #443
Draft
LukasWodka wants to merge 1 commit into
Conversation
…lient-runtime's strict develop as measured
Six of the eight findings in caller-drift run 34232408109 were inventory-side.
Re-measured 2026-09-08 and reconciled:
- design-system-v2 protection.develop: exempt -> divergent. Classic protection
is present and matches the develop baseline on every key except
required_checks; the measured set (the repo's four suites) is asserted, the
three fleet quality gates are recorded as UNREMEDIATED.
- design-system-v2 rulesets.promotion_merge_commit_only + tag_trust_root:
exempt -> required. Both rulesets (22171656, 22171688) match every asserted
property, so both land green.
- design-system-v2 protection.staging / prod: stay exempt with the measured
state written down. Both branches are covered by the merge-commit ruleset
ALONE (classic endpoint 404s), which `required`/`divergent` cannot describe
by design; the stale-exemption finding is correct and names the arming owed.
- client-runtime protection.develop: required -> divergent { strict: true },
the 2026-09-04 decision of record after two same-day green-onto-green breaks.
Local audit against the fleet: 8 -> 4 findings. The remaining four are the two
ruleset-only promotion branches above and two live-setting changes (.github
staging `selftests`, rfcs main conversation resolution) that need an org admin.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Contributor
Author
|
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 e2d5b1a. Configure here.
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.
Summary
Reconciles
repo-inventory.ymlwith the protection state measured on 2026-09-08. Caller-drift run 34232408109 reported 8 findings; 6 were inventory-side (the inventory still describeddesign-system-v2as fully unarmed, andclient-runtimedevelop as fleet-defaultstrict). Every cell below was checked against whatevaluate_protection/evaluate_rulesetsactually assert before it was changed - two rows were deliberately NOT promoted, see below.Local audit against the live fleet (this branch): 8 findings -> 4. All 20 repos read, none unreadable.
Rows changed, with the measured evidence
design-system-v2protection.developexempt("carries NO protection of either kind")divergent-required_checks= the repo's four suitesbranches/develop/protection200: 1 review,dismiss_stale_reviewstrue, no bypass allowances,allow_force_pushes/allow_deletionsfalse,required_conversation_resolutiontrue,strictfalse.rules/branches/develop=[]. Required contexts:Unit tests (Vitest),Lint (ESLint),Type check,Format (Prettier),set-status / closing-ref- none of the three fleetquality / *gates, sorequiredwould produce a new real finding. All three quality gates run and passed on the last merged PR (design-system-v2#306, head38ee4e84), so arming them is a branch setting, not caller work.set-status / closing-refis required today but not asserted (advisory by design since .github#434;required_checksis a floor).design-system-v2rulesets.promotion_merge_commit_onlyexempt("ZERO rulesets")requiredpromotion-branches-merge-commit-only, created 2026-09-03T08:26:29+02:00,enforcement: active, target branch, onepull_requestrule withallowed_merge_methods: ["merge"], includesrefs/heads/main+refs/heads/staging,bypass_actors: []. Matches every policy property.design-system-v2rulesets.tag_trust_rootexempt("ZERO rulesets")requiredProtect v* release tags (supply-chain trust root), created 2026-09-03T08:26:58+02:00, active, target tag, rulescreation/update/deletion, includesrefs/tags/v*, bypass exactlyOrganizationAdmin+Team:18304481(release-managers). Matches the policy allowlist exactly.design-system-v2protection.stagingexempt("NO protection of either kind")exempt, reason rewritten to the measured statebranches/staging/protection-> 404Branch not protected;rules/branches/staging-> only ruleset 22171656 (0 required reviews, no thread resolution, no deletion rule, no required checks, no train bypass).design-system-v2protection.prodexempt("NO protection of either kind")exempt, reason rewritten to the measured statebranches/main/protection-> 404Branch not protected;rules/branches/main-> only ruleset 22171656, same shape as staging.client-runtimeprotection.developrequireddivergent-strict: truerequired_status_checks.strict: true(set 2026-09-04 after two same-day green-onto-green breaks on this repo: client-runtime#503 merged onto client-runtime#498, client-runtime#500 onto client-runtime#497). Every other key matches the develop baseline: 1 review, no bypass, force-push/deletion blocked, conversation resolution on,quality / gitleaks,quality / house-rules,quality / action-pins+pytest,quality / ruff,quality / shellcheck,Schema drift checkrequired. The fleet default staysstrict: false(decision 2 of the protection policy); this is a per-repo override on this repo's own incident, following the existingdivergentpattern.Why
design-system-v2staging and prod were NOT promotedrequiredon either branch would failclassic_protection,min_reviews(0 < 1),bypass_reviews(train bypass missing),block_deletions(apull_requestrule does not block deletion),require_conversation_resolutionandrequired_checks(nothing required) - and onmainalsoenforce_admins.divergentcannot help:classic_protectionandblock_deletionsare not inOVERRIDABLEby design. There is no cell shape that reads green over a ruleset-only promotion branch, and there should not be one - a branch the train promotes through with zero required checks and zero required reviews is a gap.So both rows stay
exemptwith the measured state written down, and the audit will keep reporting them as stale exemptions. That finding is correct. It clears the moment an admin applies the fleet staging/prod classic shape todesign-system-v2stagingandmain(1 review,App:tracebloc-release-trainreview bypass,gate / gate+ the threequality / *gates required, force-push/deletion blocked, conversation resolution,enforce_adminsonmain) - then both cells flip torequiredin the same hop. This needs a decision + an org admin; it is not fixable from this file.The 4 findings that remain after this PR
design-system-v2protection.staging- stale exemption (see above; needs classic protection armed).design-system-v2protection.prod- stale exemption (same)..githubstagingdoes not REQUIREselftests- live setting, the inventory already asserts it correctly; an org admin has to add the context.rfcsmainconversation resolution=True, policy (divergent cell) wants False - live setting; either flip the branch setting or re-decide the cell. Not touched here.Consequence:
conformance-gateon this PR stays red until (1)-(4) are resolved live, because it requires the audit to pass on this exact head. That is the gate working as designed; this PR is a draft for that reason.Related
Reconciles the inventory-side half of caller-drift run 34232408109. No ticket is closed by this PR.
Type of change
Test plan
python3 -c "import yaml; yaml.safe_load(open('repo-inventory.yml'))"- clean.make selftest-caller-drift-pass=197 fail=0.python3 scripts/reason-citations.py(live) - 37 citations across 131 reasons, 0 findings. New reasons cite only open issues or merged PRs; PR citations are written owner-qualified (client-runtime#498, not#498, which would resolve against this repo).make house-rules- no findings.python3 scripts/caller-drift.py --inventory repo-inventory.yml --source-dir .against the live fleet - exit 1 with 4 findings (listed above), down from 8;client-runtimeand bothdesign-system-v2ruleset cells now read OK in the matrix.Checklist
exemptprotection/ruleset row fordesign-system-v2was re-measured (5 rows); no other repo's protection rows were reported by the audit.grep -n "measured 2026-08-27" repo-inventory.ymlnow returns nothing for this repo's cells.Note
Low Risk
YAML inventory and audit-contract documentation only; no application or workflow logic changes, though conformance-gate may stay red until unrelated live branch settings are fixed.
Overview
Brings
repo-inventory.ymlin line with 2026-09-08 live measurements so caller-drift stops flagging inventory cells that still described August’s “fully unarmed” state.For
design-system-v2,protection.developmoves fromexempttodivergent, documenting classic protection plus repo Vitest/ESLint/type/format checks instead of the fleetquality / *gates (still owed on the branch). Both ruleset rows flipexempt→requirednow that promotion merge-commit-only andv*tag trust rulesets exist and match policy.stagingandmainstayexemptwith rewritten reasons: ruleset-only today, classic fleet shape still UNREMEDIATED—the guard will keep reporting those as stale exemptions until an org admin arms the branches.For
client-runtime,protection.developchanges fromrequiredtodivergentwithstrict: true, recording the 2026-09-04 per-repo override after same-day green-on-stale-base merges; fleet default remainsstrict: false.Block comments document why staging/prod were not promoted and which audit findings remain (four total after this PR).
Reviewed by Cursor Bugbot for commit e2d5b1a. Bugbot is set up for automated code reviews on this repo. Configure here.