Repository navigation
feat(ci): enforce skill identity and version rules (3/4) - #128
Draft
miscreantmoogly wants to merge 3 commits into
Draft
miscreantmoogly wants to merge 3 commits into
miscreantmoogly wants to merge 3 commits into
Conversation
1 task done
Contributor
|
Holding this one, and #125 likewise: @aadimch and @miscreantmoogly have each built the same check independently, and the two are not compatible as they stand — most pointedly, I have asked the two of you to agree on which set to keep. |
With --base-ref, each skill is compared with its merge-base copy. A skill folder can't be removed or renamed, and a path removed earlier in main's first-parent history can't be reused. A change to any published file needs a higher metadata.version, the version never goes down, and a bump without a CHANGELOG.md change is a warning. The content hash is SHA-256 over sorted <path>NUL<file sha256>LF records of the published files, pinned by a golden fixture in conformance-cases.json that any other implementation can share. History cases join the conformance corpus.
git log reports a rename as R, not D, so --diff-filter=D missed a folder renamed on main and a later pull request could reuse its path. Turn rename detection off for the retired-path scan.
A version now goes up one step at a time, to the next patch, minor or major release, so a typo can't jump a skill to a version that can never come down. A new skill starts at 1.0.0. README.md is no longer published, so a README-only change needs no bump. A skill folder may be deleted only in an emergency: the pull request also lists the skill in skill-rules/removed-skills.json with a reason, the approving maintainer and a date. A listed skill's folder must be gone, and its path stays retired.
miscreantmoogly
force-pushed
the
validate-skills/3-versions
branch
from
October 9, 2026 17:35
c58bf3a to
1a2191f
Compare
miscreantmoogly
added this pull request to stack #134
October 9, 2026 20:09
This branch has not been deployed
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.
Description
With
--base-ref, each skill is compared with its merge-base copy.Identity:
skill-rules/removed-skills.json, with a reason, the approving maintainer and the date. A listed skill's folder must be gone.main's first-parent history can't be reused. Today that'seks-operation-review.Versions:
metadata.version. A published version is immutable.3.4.0to3.4.1,3.5.0or4.0.0, never79.5.0. It never goes down.1.0.0.CHANGELOG.mdchange is a warning.2.6, is compared as2.6.0.Content hash. SHA-256 over sorted
<path>\0<file sha256>\nrecords of the published files. A golden fixture inconformance-cases.jsonpins it, so any other implementation can prove it computes the same hash.Type of change
Testing
removed-skills.jsonpasses;main;--base-ref origin/main: 34 skills, 0 errors. The two version fixes from feat(ci): validate skill frontmatter on pull requests (1/4) #126 are single steps.