Skip to content

ci: add Conventional Commits PR-title gate - #48

Merged
kyle-sexton merged 1 commit into
mainfrom
ci/pr-title-gate
Jun 27, 2026
Merged

ci: add Conventional Commits PR-title gate#48
kyle-sexton merged 1 commit into
mainfrom
ci/pr-title-gate

Conversation

@kyle-sexton

Copy link
Copy Markdown
Contributor

Summary

Adopt the shared semantic-pr reusable workflow from ci-workflows as a thin pr-title.yml caller, pinned to ci-workflows@f82733b. This repo squash-merges with the squash title set to PR_TITLE, so the PR title becomes the default-branch subject — this gates a Conventional-Commits history.

  • Gating; triggers on [opened, edited, reopened, synchronize] (edited re-validates on re-title).
  • Emitted required check: pr-title / pr-title (to be required in the github-iac ruleset only after this is merged and emitting).

🤖 Generated with Claude Code

Adopt the shared semantic-pr reusable workflow from ci-workflows as a thin
pr-title caller. Repos squash-merge with the squash title set to PR_TITLE, so
the PR title becomes the default-branch subject; this gates a
Conventional-Commits history. Emitted required check: pr-title / pr-title.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@kyle-sexton
kyle-sexton merged commit f3999c4 into main Jun 27, 2026
32 checks passed
@kyle-sexton
kyle-sexton deleted the ci/pr-title-gate branch June 27, 2026 23:12

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4bea7b02d8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

# PR_TITLE, so the PR title becomes the default-branch subject — this gates the
# Conventional-Commits history. `edited` re-validates on a re-title. The emitted
# required-check context is `pr-title / pr-title`.
on:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Run the title gate from the base workflow

For PRs that touch .github/workflows/pr-title.yml, this pull_request trigger evaluates the workflow in the PR merge/head context, whereas GitHub documents pull_request_target as running from the default-branch workflow instead. Because this check is meant to become a required governance gate, a PR can keep the pr-title / pr-title check name but change the workflow body to a passing no-op and merge a non-Conventional title; this job only reads PR metadata and does not checkout or run PR code, so it should use pull_request_target for this title-only validation.

Useful? React with 👍 / 👎.

kyle-sexton added a commit that referenced this pull request Jul 15, 2026
… style (#124)

## Summary

Codifies six open decisions from the org's issue/PR consistency
assessment into `conventions/process/issue-tracker.md`:

- **#9** `entities-governance-doc-topology-reference-style` — abstracts
the personal-vs-org repo-topology prose (no more named
`melodic-software/github-iac` / `kyle-sexton/github-iac` links); points
at `github-iac`'s `GovernedRepositories.cs` as the sole source of truth
for which repositories are governed and how.
- **#23** `entities-closing-keyword-house-style-convention` — codifies
native GitHub closing keywords (`Closes`/`Fixes`/`Resolves` `#N`) as the
default house style, with `provisioning`'s stricter requirement (native
keyword plus a manual `## Related` section, per decisions #58/#59) as
the one named exception.
- **#25** `naming-issue-title-vocabulary-governance` — codifies issue
titles as free text with no enforced prefix vocabulary (no `[CC]`-style
conventional-commit tags), documenting the existing silence as a
deliberate choice.
- **#45** `entities-assignee-claiming-guidance-relevance` — keeps the
existing assignee-plus-lease claiming guidance but marks it explicitly
deferred, with an activation trigger (required reviewers /
multi-maintainer assignment contention).
- **#48** `metadata-codeowners-adoption` — adds a one-line note that
CODEOWNERS adoption is deferred, contingent on decision #11
(`required_approving_review_count` staying at 0 org-wide) — CODEOWNERS
is inert without required reviews.
- **#49** `comments-codify-human-conventions` — codifies three optional
documented conventions: a 🤖 footer marking bot-authored comments, citing
evidence when closing on it, and a 🔒 marker for claimed issues
(explicitly framed as the lightweight interim signal until #45's
mechanism activates).

Decisions Log:
https://claude.ai/code/artifact/232ecdce-8316-4880-8c0a-dc3c7dcf3a63

## Test plan

- [x] `lefthook run pre-commit` — typos, editorconfig, gitleaks,
markdownlint all pass
- [x] Grepped the file for residual `kyle-sexton`/named `github-iac`
repo references — none remain
- [ ] Human review of tone/placement against the rest of the process
conventions

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant