The repository publishes the rules of the profile and carries none of the rules of working on it.
main is already protected by a repository ruleset — a pull request is required, there are no bypass actors — and nothing in the repository says so. The gap is not cosmetic: an edit gets committed on main before anybody notices, and the protection is only discovered at the push. That happened while drafting the current spec revision.
Three things are missing, and the sibling repository already has the shape of all three:
- The written process. How a need travels from an issue to
main: the life cycle, triage and its outcomes, the branch names, the commit convention, what cuts a version bump.
- The forms. Two issue templates and a pull request template. This repository has an unusual unit of work — a notation lives in
SPEC.md, profile.json and tests/conformance.json at once — and the forms are where that is enforced before a branch exists rather than after.
- A check behind the required pull request. A protection that only guarantees somebody clicked is not a protection. The one claim this repository makes about itself is that its three files say the same thing, and nothing verifies it.
Definition of done
CONTRIBUTING.md states the process, and CLAUDE.md states what an agent has to know before its first edit, referencing the process rather than repeating it.
- The two issue forms and the pull request template exist and are used by this issue's own pull request.
npm run check fails on: a notation with no conformance case, a case naming a notation that does not exist, a section reference that resolves to no heading of SPEC.md, a duplicate identifier, and the three files disagreeing on the version.
- CI runs that check on every pull request, and the ruleset on
main requires it.
Declaredly left out
A markdown linter, a spell checker and a link checker over SPEC.md. They are worth having and none of them protects the claim above.
The repository publishes the rules of the profile and carries none of the rules of working on it.
mainis already protected by a repository ruleset — a pull request is required, there are no bypass actors — and nothing in the repository says so. The gap is not cosmetic: an edit gets committed onmainbefore anybody notices, and the protection is only discovered at the push. That happened while drafting the current spec revision.Three things are missing, and the sibling repository already has the shape of all three:
main: the life cycle, triage and its outcomes, the branch names, the commit convention, what cuts a version bump.SPEC.md,profile.jsonandtests/conformance.jsonat once — and the forms are where that is enforced before a branch exists rather than after.Definition of done
CONTRIBUTING.mdstates the process, andCLAUDE.mdstates what an agent has to know before its first edit, referencing the process rather than repeating it.npm run checkfails on: a notation with no conformance case, a case naming a notation that does not exist, a section reference that resolves to no heading ofSPEC.md, a duplicate identifier, and the three files disagreeing on the version.mainrequires it.Declaredly left out
A markdown linter, a spell checker and a link checker over
SPEC.md. They are worth having and none of them protects the claim above.