Skip to content

fix(pr-template): name one no-issue escape and require its reason - #135

Merged
kyle-sexton merged 1 commit into
mainfrom
fix/pr-template-no-issue-escape
Sep 15, 2026
Merged

kyle-sexton merged 1 commit into
mainfrom
fix/pr-template-no-issue-escape

Conversation

@kyle-sexton

Copy link
Copy Markdown
Contributor

No related issue: this fixes the org PR template itself and closes nothing; the program it belongs to is referenced, not closed, under Related.

Summary

Nine of the thirteen enrolled repositories inherit this template through
GitHub's default community-health-file fallback, two of them since they
deleted their local copies earlier today (claude-code-plugins#4177,
provisioning#453). The template gave the author two different no-issue
escapes: the top-of-template guidance said to write
No related issue: <reason>, while the ## Related comment said to state
No linked issue, in backticks, with no reason.

The pr-contract composite that runs inside ci-status masks inline code
spans before matching the body, so an author who copied the second form
literally failed the linkage check and drew the advisory
needs-issue-linkage label with nothing on screen to explain why.

Fix

One escape, in one place. The top-of-template guidance now shows
No related issue: <reason> on its own line as plain text, states that the
reason is required, and names the backtick trap. The ## Related comment
stops offering a second form: it says the section must not be empty and
points at the top line for the no-issue case.

The wording comes from what the gate accepts and from
.claude/rules/pr-body-contract.md, the convention's home, which already
specifies the literal No related issue: <reason>.

melodic-software/standards carries the matching change to the lockstep
expectation and must merge first, or its pr-convention-lockstep lane turns
red on this template.

Verification

The composite's own analyze_body analyzer, extracted from run.sh at
2c1de45aa0e1b1489afb8edfebc12cb3a4fa6ac3 (v0.24.0, the SHA this repository
pins), run over four bodies with all four contract sections filled. A body
passes linkage only if the analyzer emits closing, non-closing, or
no-issue.

body analyzer signals linkage
old top-line form, plain text no-issue pass
old ## Related form verbatim, backticked none fail, advisory label
that same wording without backticks no-issue pass
a literal copy of the new guidance no-issue pass

The revised template, untouched, still reports all four sections empty and
emits no no-issue signal, so it cannot pass vacuously. This PR body uses the
new escape wording verbatim, so the pr-contract step on this PR is the
demonstration.

node .github/scripts/pr-section-drift.test.mjs passes and the live
pr-section-drift.mjs run matches the pinned composite; the headings are
unchanged. markdownlint-cli2 reports 0 issues.

Related

Refs: melodic-software/github-iac#378

🤖 Generated with Claude Code

https://claude.ai/code/session_01M98vWnd3jQJ19Pe6Uj7bV9

The top-of-template guidance told the author to write
`No related issue: <reason>`; the `## Related` comment told them to state
`No linked issue`, in backticks, with no reason. The `pr-contract` composite
masks inline code spans before matching, so the backticked form is invisible
to the linkage check: the PR draws the advisory `needs-issue-linkage` label
with nothing on screen to explain why.

Keep one escape, on the top line, written as plain text, with the reason
required and the backtick trap named. The `## Related` comment now points at
that line instead of offering a second form.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01M98vWnd3jQJ19Pe6Uj7bV9
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 15, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-15T14:16:03.446201Z 1ac5294 PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@kyle-sexton
kyle-sexton merged commit a7d2ca4 into main Sep 15, 2026
14 checks passed
@kyle-sexton
kyle-sexton deleted the fix/pr-template-no-issue-escape branch September 15, 2026 14:24
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