feat(ci): apply the ADR-0022 branch shape check and issue link - #490
Merged
Conversation
z-shell/.github decisions/0022 moves traceability off the branch name and onto the pull request. This repository carries the same commit-lint jobs with their patterns inlined, so it moves in step or the two copies drift, which ADR-0022 step 5 warns about. Validate Branch Name becomes a shape check: <type>-<id> with an optional slug, which stays valid and recommended, or <type>/<slug> over the Conventional Commits types plus feature, bug and hotfix. next keeps its persistent-integration exemption. Validate Issue Link is added, matching the organization copy. It passes on an automation branch, next, a meta:no-issue label, or an issue reference in the body, and says which applied. It reads only the pull_request event payload, so it needs no token. code is not in the Conventional Commits type set, so code/ branches remain rejected here as in the organization repository. That was the accepted scope. Closes #489
ss-o
added a commit
to z-shell/.github
that referenced
this pull request
Sep 2, 2026
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. '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#490 carries the matching change. 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.
Applies
decisions/0022-issue-traceability-on-pull-requests.mdhere, matchingz-shell/.github#600 and z-shell/.github#601. This repository carries the same
commit-lint.ymljobs with their patterns inlined, so it moves in step or thetwo copies drift, which ADR-0022 step 5 warns about.
Validate Branch Name becomes a shape check
feature-<id>stays valid and recommended.nextkeeps itspersistent-integration exemption under
decisions/0019, and the automationprefixes are unchanged.
Verified against the extracted pattern:
feature-489,bug-1code/foofix/labeler-audit,docs/adr-rolloutss-o-thingfeature/no-idfix/Bad-Caps,bugfix-12Validate Issue Link is added
Passes on four outcomes and prints which applied, so an exemption is visible in
review rather than silent: an automation branch,
next, ameta:no-issuelabel, or an issue reference in the body. It reads only the
pull_requestevent payload, so it needs no token.
Reference forms accepted, each verified:
Closes #489, the cross-repositoryz-shell/.github#595shorthand, and a full URL. A body with no work item andan empty body both fail.
Two things to know before merging
code/branches are still rejected.codeis not in the ConventionalCommits type set that ADR-0022 scoped the
<type>/<slug>form to. That was theaccepted decision, not an oversight here.
meta:no-issuedoes not yet exist as a label in this repository. It isdeclared in the organization catalog at
z-shell/.github:lib/labels.ymlandreaches here through label sync. Until then the exemption path is simply
unusable; nothing breaks, because the check falls through to the body
reference. Worth syncing before anyone needs the exemption.
actionlintis clean.Closes #489