Skip to content

ci: add Conventional Commits PR-title gate#13

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

ci: add Conventional Commits PR-title gate#13
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 6bd4c95 into main Jun 27, 2026
15 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: 941c77d4c7

ℹ️ 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".

# Conventional-Commits history. `edited` re-validates on a re-title. The emitted
# required-check context is `pr-title / pr-title`.
on:
pull_request:

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

Since this check is intended to become a required ruleset gate, running it on pull_request leaves the policy controlled by the PR's merge commit: a PR that edits .github/workflows/pr-title.yml can relax or replace the pr-title / pr-title job and still satisfy the required check with a non-Conventional title. GitHub documents pull_request_target as running in the default-branch context rather than the PR merge context, and this workflow only reads PR metadata without checking out head code, so using pull_request_target would enforce the base branch's gate while avoiding this bypass.

Useful? React with 👍 / 👎.

kyle-sexton added a commit that referenced this pull request Jul 15, 2026
## Summary

Restores the eval/test-coverage attrition identified by the salvage
sweep (tier-3: items #13, #15#23 plus the two flagged cosmetic-severity
items), recreated genericized and validated against
`plugins/skill-quality/reference/evals.schema.json`. Per-plugin version
bumps + CHANGELOG entries.

| Plugin | Version | Restored coverage |
|---|---|---|
| songwriting | 0.4.0 | All 13 medley behavioral evals mapped onto the
multi-skill split (workflow 3, diagnosis 3, rhyme 2, song-form 2,
co-write 2, object-writing 1); zero drops |
| ai-briefing | 0.4.0 | 6 engine evals + 3 synthetic fixtures via the
audience-defaults seam; the legacy Grok-preload case re-derived as an
unreachable-RSS visible-degrade scenario (the flag never shipped; CI
contract bans the token) |
| event-storming | 0.4.0 | Offline board-export eval (id 8) + 74-line
fixture for `--discover-bcs` — disjoint from the live-Miro-required
eval, reconciliation noted inline |
| codebase-audit | 0.3.0 | Scope-boundary eval: decline
settings/MCP/hooks claim-extraction, route to
`/claude-config-audit:settings-audit` |
| discovery | 0.5.0 | Research floor-scaling ("floors are not targets")
+ broad-topic doubled-minimums evals, vendor-neutral |
| source-control | 0.2.0 | Readiness security-gate eval + genericized
fixture, mixed-actor (bot-fix-now vs human-pause) eval, three worktree
evals (dry-run report-only, invalid-name rejection, batched-gh status +
graceful degrade) |
| docs-hygiene | 0.4.0 | Two self-contained fixture-backed cases
(compress classification-table, declutter opt-out/section-exemption) —
fixtures empirically verified against `detect.sh`; rename-references
"add an eval case" clauses |
| review-toolkit | 0.6.0 | code-review-fanout evals 6 → 20:
dedup/severity-derivation, fix-pass safety fence (correctness never
routed to /simplify), run-everything null-reconciliation +
priority-ordering; 2 medley cases skipped (fixed-roster counts
deliberately generalized away), their surviving assertions folded in |

## Verification

- All 8 plugins pass `claude plugin validate`;
`scripts/validate-plugin-contracts.mjs` passes (1311 files)
- Every evals.json jq-parses and validates against the schema
(ajv/check-jsonschema)
- markdownlint-cli2 0 errors on new fixtures + CHANGELOGs; coupling grep
(medley/consumer refs) clean
- Rebased onto main post-#192; per-plugin validate re-run green after
rebase

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

https://claude.ai/code/session_011xHkkNc7CR98L8Xz9Mu7ZA

---------

Co-authored-by: Claude Fable 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