Repository navigation
fix(code-tidying): link upkeep PRs to a standing spec issue so pr-verify can judge them - #12898
Conversation
…issue The code-tidying upkeep batch opened every pull request with "No related issue", so pr-verify had no spec and failed each one, and the batch stalled at upkeep_max_open. Each body now opens with `Refs: #<upkeep_spec_issue>`, read from docs/conventions/code-tidying.yaml (set to #12894, the sweep contract). The batch writes the line itself and refuses a body that links another issue; with the setting missing or invalid the gate fails before the model runs, and scan and publish open nothing. Refs: #12828 Co-Authored-By: Claude Opus 5.5 <[email protected]>
check-born-triaged.mjs matches the marker with endsWith, so a marker anywhere else in the body does not skip intake; the README said "contains". Co-Authored-By: Claude Opus 5.5 <[email protected]>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
claude-review reviewed Code review: #12898, incremental (dd563b9 → 3441074)I read every hunk of the two files changed since the last review: What changed
Notes
|
|
claude-security-review reviewed Security review (incremental): PR #12898,
|
…n upkeep bodies GitHub links "Fixes https://github.com/<owner>/<repo>/issues/<n>" as a closing reference too, so the upkeep body check let a model-written body close an unrelated issue on merge and replace the spec pr-verify judges. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_015te8CrNfM6v83JDbLRFDA9
Fixed: the body now links with |
Refs: #12828
Summary
Every PR the daily code-tidying upkeep batch opened failed pr-verify with "no spec to judge against", because its body opened with
No related issue:. The batch now opens each body withRefs: #<upkeep_spec_issue>, a standing spec issue (#12894) that holds the upkeep sweep contract as done-when checks, so pr-verify judges upkeep PRs on their content. pr-verify is unchanged.Fix
docs/conventions/code-tidying.yaml: newupkeep_spec_issue: 12894, read throughupkeep-setting.shwith no default (schema andreference/config.mdupdated). Replacing the spec issue is a one-line change.upkeep.mjsandbatch.mjs:Refs:line itself; the model no longer writes it.refsIssue, the reader pr-verify and pr-merge share. A body that links another issue or carries a closing keyword is refused.maintenance-tidy-code-upkeep.yml: the gate's spec-issue output reaches the scan and publish jobs.work-mapkeeps it off the/work-items:workfrontier.agent-readythe issue lane never runs it.status: confirmedand the born-triaged marker keep intake from re-triaging it.pr-pipeline.yaml:446).Refs:never closes it.Verification
Refs:fails the "body opens with Refs:" test.open-pr-count.test.sh21/21,remove-commentssettings 19/19, resolve-config callers and live config 286/286; 31 changelog fragments valid.Refs:issue whatever its labels; only the body author's trust counts (resolve-pr.mjs:609-621,687).Remaining
Related
work-mapnormally marks spec containers. A manual/work-items:shipclose-out could read Standing spec: code-tidying upkeep sweep contract #12894 as one, but no CI lane reads the label. A**Decision recorded.**comment on Standing spec: code-tidying upkeep sweep contract #12894 would send it back to intake; its body warns against that.🤖 Generated with Claude Code