fix(3696): pr-template enforcer recognises CI/tooling carve-out (#3697)
* fix(3696): pr-template enforcer recognises CI/tooling carve-out The enforcer in scripts/pr-template-policy.cjs only validated against three typed templates and three hard-coded DEFAULT_TEMPLATE_MARKERS. It had zero awareness of the documented CI/tooling/dep/doc-only exception in .github/pull_request_template.md, meaning external contributors who followed the documented escape hatch still had their PRs auto-closed. Fix: 1. Path-scope auto-skip: if every changed file matches a tooling glob allowlist (.github/**, scripts/**, docs/**, *.md, .changeset/**, dependency manifests), skip enforcement and exit success with no comment posted. 2. Explicit exemption marker: if the PR body contains <!-- pr-template-exempt: <non-empty reason> -->, skip enforcement. 3. Workflow updated to fetch changed file paths via gh and pass them as CHANGED_FILES env to the policy script. 4. Pull request template updated to document both mechanisms and retire the old "delete this file" prose carve-out. 5. 14 new tests (TDD red→green); all 25 tests pass. Closes #3696 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(3696): allow hyphenated pr-template exemption reasons --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
7
.github/pull_request_template.md
vendored
7
.github/pull_request_template.md
vendored
@@ -35,6 +35,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md) for the full process.
|
||||
|
||||
---
|
||||
|
||||
<!-- If you believe your PR genuinely does not fit any of the above categories (e.g., CI/tooling changes,
|
||||
dependency updates, or doc-only fixes with no linked issue), delete this file and describe your PR below.
|
||||
Add a note explaining why none of the typed templates apply. -->
|
||||
<!-- CI/tooling, dependency, and doc-only PRs are auto-detected from the changed file paths — no template
|
||||
needed. For other cross-cutting exempt PRs, paste the line below into your PR body with a non-empty reason:
|
||||
<!-- pr-template-exempt: <reason> -->
|
||||
|
||||
|
||||
Reference in New Issue
Block a user