Uh oh!
There was an error while loading. Please reload this page.
feat(governance): govern the published skills/ catalog under the ADR maintainer approval gate - #9511
Merged
Merged
Conversation
…ner approval gate (#9404) Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XqDQYVU5smx29ts9pAErja
This was referenced Aug 18, 2026
os-steve
marked this pull request as ready for review
August 18, 2026 06:23
Uh oh!
There was an error while loading. Please reload this page.
os-zhuang pushed a commit
that referenced
this pull request
Aug 18, 2026
instruction scan gains the retirement ledger row The modify/delete conflict on scripts/check-adr-merge-approval.mjs resolves as deletion: #9511 widened the per-PR gate's predicate to the published skills/ catalog under the pre-retirement regime, and that semantic content survives in the audit's GOVERNED_SURFACES (skills/** was already governed there by the 2026-08-18 unified definition). The #9504 instruction-surface scan lands intact; per its append-only ledger contract this merge adds the 'ADR maintainer approval' retirement row (replacedBy: null) in the same PR that removes the registry entry. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Rn7aaamsR99FXRqLcpL99q
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 freeto 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.
Fixes#9404
What
The published
skills/**catalog joins theADR maintainer approvalgate as its third governed surface, alongsidedocs/adr/**and.claude/skills/**— implementing the maintainer's 2026-08-18 ruling on #9404 (option A, verbatim 「同意」). All three of the pm-dispatch ACCEPT fork's human-merge prefixes are now machine-enforced by the same required check.One file changed:
scripts/check-adr-merge-approval.mjs(its self-test lives inside it, behind--self-test).How
GOVERNED_SURFACEStakes a third row (id: 'published-skill', prefixskills/) with its own rule wording: it cites the finding: the publishedskills/catalog is human-merge by convention but is not gated — two of the pm-dispatch fork's three prefixes are enforced #9404 ruling, the outward-propagation rationale, and the accepted cost (~148 commits/month ≈ 5 extra human merges/day) — never another surface's rule.PUBLISHED_SKILL_PATH_PREFIXandpublishedSkillFilesIn()helper, matching the existing per-surface pattern.Self-test (96 → 108 assertions)
the-published-skills-catalog-is-NOT-governedis kept as a case, inverted:the-published-skills-catalog-IS-governedpins the same fixture on the opposite verdict, and pins that ONLY the published surface claims it (no double-catch by the internal prefix)..claude/skills/**does not double-match;packages/spec/skills/x.md,skillsets/overview.md,skills.mddo not match — the trailing slash is load-bearing, as for the other two prefixes.docs/adr/**PR today, which would have made the maintainer's approval the merge trigger #8012 emptiness proof (identical reviews, only the arming bit differs, opposite verdicts); mixed diff gate-scoped in full.(skills/**)is asserted in its parenthesised spelling because.claude/skills/**containsskills/**as a substring.)skills/objectstack-ui/SKILL.mduntil this change made it governed) is proven on near-neighbours alone, with both lazy thunks still throwing on invocation.Verification at a679947
node scripts/check-adr-merge-approval.mjs --self-test→ 108 assertions, green (origin/main baseline: 96).GOVERNED_SURFACESrow turned 18 of 108 assertions red (the inversion anchor, table order, the whole published path class, and the wording pins), including the emptiness proof reporting armed=true, disarmed=true — the exact pre-finding: the publishedskills/catalog is human-merge by convention but is not gated — two of the pm-dispatch fork's three prefixes are enforced #9404 state. Restored and confirmed byte-identical (git hash-objectmatches the committed blob).check:nul-bytesOK (6136 files scanned); eslint exit 0 on the changed file.Blast radius, measured
skills/— zero near-misses in the tree, and no otherskills/directory exists anywhere (nested or root-adjacent).skills/**, 0 hold the gate script — landing this flips no in-flight PR into maintainer-merge.adr-merge-approval.ymldeliberately carries no path filter, so the widened predicate is live the moment this lands.Not in this PR
.claude/skills/pm-dispatch/SKILL.mdalready names all three prefixes — under ruling A its prose is correct as-is, and that surface is another seat's tier. AGENTS.md Prime Directive #14 names onlydocs/adr/**, but the gate it describes now also holds.claude/skills/**#9403 (the PD#14 sentence) unblocks when this merges, per the ruling comment; AGENTS.md Prime Directive #14 names onlydocs/adr/**, but the gate it describes now also holds.claude/skills/**#9403 remains open and is not addressed here..github/CODEOWNERSroutesdocs/adr/and the enforcement chain but neither skill surface — a pre-existing asymmetry from gate: extendADR maintainer approvalpath predicate to.claude/skills/**— make Prime Directive #14 enforced (#9319 ruling) #9395, recorded as an observation, not changed here.Generated by Claude Code