feat(ci): relax the branch check to a type shape - #601
Merged
Conversation
Validate Issue Link is registered in the main ruleset now that it has been observed on a real pull request, so ADR-0022's ordering is satisfied and the branch check can stop standing in for traceability. The pattern becomes a shape check: <type>-<id> with an optional slug, which stays valid and recommended, or <type>/<slug> over the decisions/0003 Conventional Commits types plus feature, bug and hotfix. next keeps its persistent-integration exemption. Record the amendment in ADR-0019 beside the clause it changes, and state the traceability rule in AGENTS.md, so the pointer and the enforcement it describes arrive together. Note that 'code' is not in the decisions/0003 type set, so code/ branches are still rejected. That was the accepted scope; widening the type set is a separate decision. Steps 4 to 6 of #595. z-shell/zi carries the same job and follows separately. Refs #595
This was referenced Sep 2, 2026
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.
Steps 4 to 6 of #595, completing
decisions/0022-issue-traceability-on-pull-requests.mdin this repository.Step 4 is already done, outside this pull request.
Validate Issue Linkwas observed passing on #600, so it is now registered in the
mainrulesetbeside the other three contexts. The other six rules and all four bypass actors
were verified byte-identical before and after.
Step 5: the branch check becomes a shape check
feature-<id>stays valid and recommended.nextkeeps itspersistent-integration exemption, and the automation prefixes are unchanged.
Step 6: the amendment is recorded where people read it
ADR-0019 now carries a blockquote beside the clause ADR-0022 changes, and
AGENTS.mdstates the traceability rule directly. ADR-0022's migration putthis with the enforcement rather than with the record, so the pointer and the
behaviour it describes land together.
Read this before merging
code/branches are still rejected.codeis not in thedecisions/0003-conventional-commits.mdtype set, and ADR-0022 scoped the<type>/<slug>form to that set plusfeature,bug,hotfix.code/*was17 of the 46 non-conforming branches in the sample that started this, so the
single most common shape in recent history still fails.
I implemented the accepted decision rather than widening it here. If
codeshould be an accepted type, that is a one-line change to ADR-0022 and this
pattern, and it should be decided rather than slipped in.
What does now pass that did not:
fix/,docs/,chore/,ci/,feat/,and the other Conventional Commits types, with no identifier.
Verification
The policy suite grows to 56 checks, with the branch table rewritten for the
new shape:
fix/labeler-audit-reject-malformedcode/promotion-precondition-ancestrydocs/adr-0022-rolloutss-o-govern-plugin-standardchore/tidy-workflowsfix/Bad-Capsfeature/no-identifierfix/All six steps of
Validate Agent Instructionspass locally, plusdecision-records.py --check,actionlint,shellcheckandtrunk check.Refs #595