Repository navigation
fix(source-control): read the split task-list at the default branch - #10035
Conversation
resolve-pr.mjs reads admission's task-list from main's checkout, whatever the pull request's base. The pr-merge gate read admission-rules.json at the Reader's branch, the pull request's base, so a feature-branch base could judge a split sub-issue by a different prefix. Read it at the repository's default branch, keyed in the run cache by that branch; a failed default-branch read refuses verify:unreadable. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ce change Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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 No findings. I read the whole diff (5 files) and the PR context, and I read Correctness
Tests
Docs and changelog
Closing issue
Trusted paths and cost
|
|
claude-security-review reviewed No security issues found in this pull request. critical-findings: 0 What changed: Trust boundary: The change narrows trust. It does not widen it.
Other checks:
|
Refs: #9906
Summary
The pr-merge gate's split-child reader read admission's
task-listfromadmission-rules.jsonat the pull request's base branch, while pr-verify (resolve-pr.mjs) reads it from main's checkout. A pull request stacked on a feature branch could have its split sub-issue judged by a different prefix, or hit a permanent 404 and refuseverify:unreadable. Follow-up to #10030, whose squash merge carried the refinement-lines mirror but not this correction.Fix
babysit_verify_evidence.pyReader._task_listreads the rules at the repository's default branch (merge_policy._default_branch), keyed in the run cache by that branch. A failed default-branch lookup refusesverify:unreadable.docs/conventions/pr-pipeline/README.mdnames the default branch as the source.Verification
test_babysit_split_child_trust.pyadds cases for a stacked base and a failed default-branch read; the shared vectors (43 cases) still pass.check-affected --testsruns on push.Related
🤖 Generated with Claude Code