Repository navigation
feat(work-items): ready each PR after create in ship run - #7350
Conversation
Under per-item PRs, `/work-items:ship run` now dispatches `/source-control:pull-request ready <N>` into the item's worktree right after `create --pushed`, at the strong tier's model, the same step `/work-items:work` takes. A refusal leaves the draft and is reported; landing still re-runs ready to bring the branch current, then merges on the user's go-ahead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6SjPvY7DmXBGzboeCq8nj
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6SjPvY7DmXBGzboeCq8nj
A `Hold:` body line holds the merge only, so case 11 now refuses on a superseded item. On a PR already out of draft, `ready` re-runs the reviews and verify gate, not only a base refresh. The dispatch brief names the PR create returned and stops on a mismatch, resolves the strong tier per the loop-lane convention, and is skipped when the consuming project reserves the flip. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6SjPvY7DmXBGzboeCq8nj
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 finished @kyle-sexton's task in 2m 21s —— View job Security review completeScope. All three changed files are prose/doc or test-data, no executable code:
What this changes. Trust-boundary checks examined, all present:
New eval cases 10/11 cover the dispatch-after-create path and the superseded-refusal-leaves-draft path respectively; both check the right invariants (no auto-flip on hold/superseded, no merge without user go-ahead). Findings: none. No logic flaws, trust-boundary gaps, or Actions-security issues identified in this diff. claude-lane-summary: lane=claude-security-review sha=f086e5fdbf5d32672cb6aebd7cb2be4d20867b6a run=38447044638 |
|
Claude finished @kyle-sexton's task in 5m 36s —— View job Review in progress
|
|
claude-security-review has reviewed this pull request through f086e5f; a later push is reviewed from there. |
|
Claude finished @kyle-sexton's task in 4m 1s —— View job Review complete
Scope: Checks performed:
No correctness or maintainability issues found that a careful senior reviewer would block or flag. The change is a documentation-only addition to an existing skill action plus matching eval cases; its behavioral claims are all backed by the skill it dispatches to, and nothing it changes is a mechanical check a linter/typechecker would already catch. 0 findings. claude-lane-summary: lane=claude-review sha=f086e5fdbf5d32672cb6aebd7cb2be4d20867b6a run=38447044934 |
|
claude-review has reviewed this pull request through f086e5f; a later push is reviewed from there. |

No related issue: owner-approved follow-up to the auto-ready plan; mirrors #7347 for
/work-items:ship run.Builds on #7345 (
readyrefuses held and superseded drafts) and #7346 (the AGENTS.md carve-out that lets the opening session flip its own PR); both are merged.Summary
/work-items:ship rununderper-item PRsopened each PR withcreate --pushedand left it in draft until the user said to land it. It now calls/source-control:pull-request readyright aftercreate --pushed, the same step #7347 adds to/work-items:work, so its PRs leave draft onceready's checks pass.Fix
ship/actions/run.md, step "Land one at a time",per-item PRs: right aftercreate --pushed, dispatch/source-control:pull-request readyinto the item's worktree at the strong tier's current alias, resolved per the loop-lane convention's capability tiers.readyresolves the PR from the checked-out branch, so the brief names the PRcreatereturned and stops on a mismatch. The dispatch is skipped when the consuming project reserves the ready flip for a person. A refusal (hold, superseded item, failed gate) leaves the draft and its reason goes into the report; the run never lifts the hold or flips another way. Landing still runsreadyagain (on a non-draft PR it refreshes the base and re-runs the reviews and verify gate without flipping,ready-for-review.md2.5.1) and thenmerge, on the user's go-ahead.ship/evals/evals.json: cases 10 (ready dispatched aftercreate --pushed) and 11 (a superseded-item refusal leaves the draft; aHold:line holds only the merge, so it cannot be the refusal), worded like feat(work-items): ready the PR after the pre-PR gate in work #7347's cases 8 and 9.Verification
scripts/check-affected.sh --testsafter merging main: 7 passed, 2 skipped (no shell or Python changed). Cross-plugin drift and shared-copy checks clean.evals.jsonparses;check-evals-quality.shPASS. The new eval cases were not run against a model.Related
Hold:line)🤖 Generated with Claude Code
https://claude.ai/code/session_01W6SjPvY7DmXBGzboeCq8nj