ci(commit-lint): enforce disallowed-trailer and commit policy - #517
Merged
Conversation
…ell/.github Promotes z-shell/zi's next-branch-only commit-lint.yml into a reusable workflow (workflow_call), per the proposal in #464, and wires it in on this repository's own PRs into main -- the repository where the incident that exposed the gap (a synthesized Co-authored-by trailer surviving a squash merge, ADR-0016 acceptance PR #516) just happened. The branch-naming/AGENTS.md conflict #464 originally flagged as a blocker no longer exists: zi's live commit-lint.yml on next already uses feature|bug|hotfix-<id>, matching decisions/0008. Nothing to resolve there. Updates AGENTS.md and runbooks/onboarding.md, which both described the ban as author-enforced everywhere; that's no longer accurate for this repository. Org-wide rollout to other repos remains open in #464.
5 tasks
This was referenced Aug 16, 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.
Summary
Promotes
z-shell/zi'snext-branch-onlycommit-lint.ymlinto a reusableworkflow_callworkflow and wires it in on this repository's own PRs intomain— where the incident that exposed the gap just happened (a GitHub-synthesizedCo-authored-bytrailer surviving the ADR-0016 acceptance squash merge, #516).Why now
#464proposed exactly this but was closed by #468, which corrected the docs to admit enforcement didn't exist rather than building it. The gap it described is still real — it just resurfaced concretely last night. Reopening #464 separately to track the org-wide rollout to other repos; this PR is the first real caller.What changed
.github/workflows/commit-lint.yml— reusable: disallowed-trailer + Conventional Commits on commits, PR-title check, branch-naming check. Same three jobs aszi's version, with the trailer pattern and branch pattern exposed asworkflow_callinputs..github/workflows/lint-commits.yml— thin local caller (uses: ./.github/workflows/commit-lint.yml),pull_requestintomain.AGENTS.md,runbooks/onboarding.md— both said the ban was author-enforced everywhere; now accurate for this repo, still true for the rest of the org pending ci: enforce commit-trailer and commit-message policy org-wide, not in one repo #464's rollout.Note on the blocker #464 flagged
Its body cites a conflict between
commit-lint.yml's branch-naming regex andAGENTS.md'sfeature-<id>convention. Checkedzi's livenextbranch: that regex is already^(feature|bug|hotfix)-[1-9][0-9]*$, matching ADR-0008. The conflict described no longer exists — must have been fixed after #464 was filed without updating the issue text.Verification
python3 -m unittest scripts.test_validate_agent_policy— 74 passed.feature-464) and title were picked to satisfy the new checks — first real test of them.Refs #464