Skip to content

feat: add a reusable PR title and agent attribution check - #195

Merged
ExtraToast merged 1 commit into
mainfrom
feat/pr-title-check
Oct 22, 2026
Merged

ExtraToast merged 1 commit into
mainfrom
feat/pr-title-check

Conversation

@ExtraToast

Copy link
Copy Markdown
Contributor

What changed

Adds pr-title-check.yml, a reusable workflow that fails a pull request whose title or commits are not Conventional Commits, or whose body or commits credit a coding agent.

  • scripts/pr_title_check.py checks the title, the body and every commit in the pull request's range. The rules are ported from deploy-kit's scripts/check-pr-title.ts: the eleven types release-please reads, an optional scope and !, and release and merge lines accepted as they are. Agent attribution covers a Co-Authored-By trailer naming an agent, a "generated with" banner naming one, and a link back to an agent session, with the same host-boundary matching.
  • pr-title-check.yml checks out the pull request's head, so the range holds only its own commits. It runs the script from its own released tag, like quarantine-check.yml. The title and body reach the script through the environment, never through the shell.
  • release-please-config.json keeps that tag in step, and the README lists the workflow.

Why

Every repository needs this check. Today only deploy-kit has it, as a Node script. estate-kit is the first consumer: its CI calls this workflow inside Pipeline Complete.

Tracking

None: no issue tracks this.

Verification

  • tests/test_pr_title_check.py: 24 tests. CI holds the script at 100% line and branch coverage, like the other gate scripts.
  • The full suite passes locally (276 tests), and actionlint is clean.
  • Pipeline Complete is green
  • Tracking issue updated to reflect this PR

Versioning impact

A new reusable workflow, so the next release is a minor one: 0.34.3 to 0.35.0. No existing workflow changes.

@ExtraToast ExtraToast added type: feature New user-facing or operator-facing capability. component: ci Continuous integration workflow or check behavior. labels Oct 22, 2026
@ExtraToast ExtraToast self-assigned this Oct 22, 2026
@ExtraToast
ExtraToast merged commit 351f1cb into main Oct 22, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component: ci Continuous integration workflow or check behavior. type: feature New user-facing or operator-facing capability.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant