Skip to content

ci(commit-lint): enforce disallowed-trailer and commit policy - #517

Merged
ss-o merged 1 commit into
mainfrom
feature-464
Aug 16, 2026
Merged

ci(commit-lint): enforce disallowed-trailer and commit policy#517
ss-o merged 1 commit into
mainfrom
feature-464

Conversation

@ss-o

@ss-o ss-o commented Aug 16, 2026

Copy link
Copy Markdown
Member

Summary

Promotes z-shell/zi's next-branch-only commit-lint.yml into a reusable workflow_call workflow and wires it in on this repository's own PRs into main — where the incident that exposed the gap just happened (a GitHub-synthesized Co-authored-by trailer surviving the ADR-0016 acceptance squash merge, #516).

Why now

#464 proposed 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 as zi's version, with the trailer pattern and branch pattern exposed as workflow_call inputs.
  • .github/workflows/lint-commits.yml — thin local caller (uses: ./.github/workflows/commit-lint.yml), pull_request into main.
  • 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 and AGENTS.md's feature-<id> convention. Checked zi's live next branch: 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.
  • Both new workflow files parse as valid YAML; prettier-clean.
  • This PR's own branch (feature-464) and title were picked to satisfy the new checks — first real test of them.

Refs #464

…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.
@ss-o
ss-o requested a review from a team as a code owner August 16, 2026 19:54
@ss-o ss-o added type:maintenance Non-feature maintenance, cleanup, or org work. area:ci Continuous integration or GitHub Actions work. labels Aug 16, 2026
@ss-o
ss-o merged commit 0013aff into main Aug 16, 2026
7 checks passed
@ss-o
ss-o deleted the feature-464 branch August 16, 2026 20:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:ci Continuous integration or GitHub Actions work. type:maintenance Non-feature maintenance, cleanup, or org work.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant