Conversation
…p (ADR-0136) The ADR-0108 deep-dive checklist parser matched item labels literally (e.g. `AGENTS.md invariant note`), but the PR template wraps some of those labels in backticks/asterisks (e.g. `` - [ ] **`AGENTS.md` invariant note** —``). A PR author who ticked the template verbatim produced a body line where `.md` and `invariant note` were separated by a backtick + space, so the literal grep rejected conforming PRs. PR #72 tripped the exact failure on first CI — fixing the PR body "by hand" is the wrong layer. Fix: `tr -d '\`*_'` the body once before grepping, in both the parse and the diff-verification steps. Stripped chars do not appear inside any of the six deliverable labels, so the normalisation is loss-free for the matching path. Case-insensitive matching was already enabled. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The
Deep-Dive Deliverables Checklist (ADR-0108)job greps the PR body for each label (AGENTS.md invariant note, etc.) as a literal string inside- \[x\].*${item}. The PR template itself wraps some of those labels in backticks (- [ ] **`AGENTS.md` invariant note** —), so a PR that ticks the checklist verbatim from the template produces a body line where.mdandinvariant noteare separated by a backtick + space — and the grep rejects it.PR #72 tripped this exact failure on first CI. "Edit the PR body and delete backticks" is the wrong layer to fix it.
Fix
One line: strip
`,*,_from the body once before writing to the grep target, in both the parse step and the diff-verification step:None of the six deliverable labels contain any of those three characters internally, so the normalisation is loss-free for the matching path. Case-insensitivity was already enabled.
Type
ci— tooling / infraChecklist
make lintN/A.Deep-dive deliverables (ADR-0108)
## Alternatives consideredweighs four options (fix bodies, reword template, normalise body via tr, rewrite parser)..github/workflows/rule-enforcement.ymlis fork-only CI,/sync-upstreampolicy is fork-wins for.github/.Reproducer
Cross-check: this PR's own body exercises the checker — every tick and opt-out here should green the job.
🤖 Generated with Claude Code