Skip to content

closing-keywords: per-repo gate inventory, Templates reach, selftest cases, successor-hash lesson (Refs #5195) - #5244

Draft
EHotwagner wants to merge 1 commit into
mainfrom
routine/5195-closing-keywords-inventory
Draft

EHotwagner wants to merge 1 commit into
mainfrom
routine/5195-closing-keywords-inventory

Conversation

@EHotwagner

@EHotwagner EHotwagner commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Refs #5195

Follow-up to #5196 and FS.GG.Templates#835 (both merged). Source and documentation only; nothing is armed.

  • docs/coordination/reusable-workflow-contract.md: Templates is no longer the exclusion (the kit job reached all seven receivers once feat(engine): D.4 — delete bash, retire the shell corpus, dispose the five 51-fs-flip assertions (ADR-0040 Phase D COMPLETE) #835 merged); the three arming preconditions carry their measured status; a per-repo inventory lists, for each repository, the gate route (kit, receiver, standalone), whether the check is required, and whether arming is possible. Private repositories are advisory only on the fixed plan. Measured 2026-11-02 from each default branch's protection and rulesets. Finding: FS.GG.Algorithms already requires its standalone closing-keywords; no other repository requires any form of it.
  • tests/producer-fence-attacks/selftest.py: cases for the pinned checkout without its trailing comment (accepted), a different commit, the pin dropped back to the tag, and an unreviewed action behind a trailing comment (each refused with a matching hash).
  • Atlas github/kit-materialize-edit-rerecords-producer-fence-successor: any edit to kit-materialize.yml must re-record read-only-route-successors.json in the same PR. Mirrored into both skill seeds; registry/driver-skill-manifest.json regenerated.

Checks run locally: python3 tests/producer-fence-attacks/selftest.py prints "pass (66 exact tests)" (the count is the oracle's; the new cases are inside it); python3 tests/atlas/check.py passes (516 records); generate-driver-manifest --check current; bash tests/closing-keywords/product-lint.sh 180 passed, 0 failed.

The inventory's receiver rows describe the seven caller pull requests as open at measurement; each is true once its caller merges.

…fence selftest and the successor-hash lesson (Refs #5195)

- contract page: Templates now reports the kit job (FS.GG.Templates#835), the three arming preconditions with
  their measured status, and an inventory of the gate per repository (route, required state, whether arming
  is possible; a private repository on this plan can never be protected).
- producer-fence selftest: the pinned checkout, a trailing comment on a uses: line, a different commit, a
  dropped pin and an unreviewed action behind a comment.
- Atlas: github/kit-materialize-edit-rerecords-producer-fence-successor, mirrored into both skill seeds;
  driver manifest regenerated (generate-driver-manifest --write, --check current); tests/atlas/check.py passes.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant