Skip to content

feat(work-items): ready the PR after the pre-PR gate in work - #7347

Merged
kyle-sexton merged 3 commits into
mainfrom
feat/work-ready-after-create
Oct 13, 2026
Merged

kyle-sexton merged 3 commits into
mainfrom
feat/work-ready-after-create

Conversation

@kyle-sexton

@kyle-sexton kyle-sexton commented Oct 12, 2026 •

Copy link
Copy Markdown
Member

No related issue: step 3 of the owner-approved auto-ready plan (.work/auto-ready/PLAN.md, local).

Summary

/work-items:work now readies its pull request right after create --pushed, so its PRs leave draft without a manual flip once /source-control:pull-request ready's checks pass.

Fix

  • work/SKILL.md, "Open the PR": right after create --pushed, the orchestrator dispatches /source-control:pull-request ready into the persisted worktree at the strong-tier model, because ready runs the code and security reviews. ready resolves the PR from the checked-out branch, so the brief names the PR create returned and stops on a mismatch. The dispatch is skipped when the consuming project reserves the ready flip for a person. A refusal (a hold, a superseded item, a failed gate) leaves the draft. The reason goes into the run's report, and nothing lifts the hold or flips the PR another way.
  • Eval cases 8 (ready dispatched after create --pushed) and 9 (a held PR stays a draft when ready refuses).
  • Changelog fragment (minor).

Verification

  • scripts/check-affected.sh --tests: validate-plugins failed once on a timing assertion in a mod test that this diff does not touch ("runs each of the worst accepted extra patterns in time linear in the text length", 508 ms against a 225 ms bound). scripts/validate-plugins.sh --only work-items then passed on rerun (exit 0). Every other check passed.
  • skill-quality check-skill.sh plugins/work-items/skills: work PASS (0 errors). check-evals-quality.sh on work's evals: PASS, 0 warnings.
  • After merging main (one conflict in work/SKILL.md, composed: main's auto-merge rewording plus this PR's step): scripts/check-affected.sh --tests 7 passed, 2 skipped; cross-plugin drift and shared-copy checks clean; check-evals-quality.sh PASS.
  • Not run: the model-graded eval cases, and the plan's live run on a test issue.

Related

🤖 Generated with Claude Code

https://claude.ai/code/session_01W6SjPvY7DmXBGzboeCq8nj

After create --pushed, the orchestrator dispatches
/source-control:pull-request ready into the persisted worktree at the
strong tier. A refusal leaves the draft and is reported.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W6SjPvY7DmXBGzboeCq8nj
kyle-sexton and others added 2 commits October 13, 2026 14:18
…lip in work

`ready` resolves its PR from the checked-out branch and takes no number, so the
dispatch brief names the PR create returned and stops on a mismatch. Skip the
dispatch when the consuming project reserves the ready flip for a person.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W6SjPvY7DmXBGzboeCq8nj
@kyle-sexton
kyle-sexton marked this pull request as ready for review October 13, 2026 18:24
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 13, 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-10-13T18:27:01.562176Z 036fbc6 Draft marked ready
ℹ️ 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.

@claude

claude Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @kyle-sexton's task in 1m 59s —— View job


Security review: no issues found

  • Gather context (PR diff, changed files)
  • Check for instruction-surface deletions
  • Review security-relevant surface
  • Adversarial validation of any candidate findings
  • Post final summary

Scope reviewed: the full diff (gh pr diff 7347) across all three changed files:
.changes/work-items/feat-work-ready-after-create-3aeab667.md,
plugins/work-items/skills/work/SKILL.md,
plugins/work-items/skills/work/evals/evals.json.

What changed: a prose-only edit to one bullet in work/SKILL.md ("Open the PR"), adding a
"Then ready it" instruction that has the orchestrator dispatch /source-control:pull-request ready right after create --pushed, plus two new eval cases and a changelog fragment. No code,
no shell, no new tool surface — just skill-body text that an agent reads as instructions.

Instruction-surface check: the edited bullet is additive, not a deletion/narrowing of a
standing guardrail. The second commit tightens the new instruction further: it adds an explicit
stop when ready resolves a PR number different from the one create --pushed returned, and
skips the dispatch outright when the consuming project reserves the ready flip for a person. The
automated-ready behavior itself is the documented, already-merged exception in this repo's
AGENTS.md (the session that opened a PR may flip it via /source-control:pull-request ready
run to completion); this change operationalizes that existing, reviewed policy inside the work
orchestrator rather than introducing a new agent-authority grant. No Gate 0 class (irreversible
action, secret handling, data integrity, external publication, legal compliance, agent authority)
is weakened by this diff — holds, refusals, and the "never flip or merge another way" constraints
are preserved and reinforced.

No logic flaws, injection surfaces, credential handling, or authorization gaps found in this
diff.

claude-lane-summary: lane=claude-security-review sha=036fbc63f65e96824d5dd1f1e235a42dbfbb090b run=38446445243

@claude

claude Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @kyle-sexton's task in 3m 10s —— View job


Code review — /review:code-review

  • Gather context (PR diff, changed files, CLAUDE.md/AGENTS.md, REVIEW.md)
  • Check skip-gate conditions
  • Review work/SKILL.md changes
  • Review evals/evals.json changes
  • Review changelog fragment
  • Post findings

Scope. Reviewed the full diff in .claude-lane/pr.diff: the new "Then ready it:" clause in plugins/work-items/skills/work/SKILL.md (Step 5, "Open the PR"), the two added eval cases (8, 9) in evals/evals.json, and the changelog fragment.

What I checked and ruled out:

  • ready's own contract (reference/ready-for-review.md) resolves the PR from the current branch, not from an argument — the new text correctly has the brief name the expected PR number for the dispatched agent to self-check against, rather than claiming ready takes a PR-number argument it doesn't support.
  • Dispatching "into the persisted worktree" (no --worktree flag passed to ready) matches the existing pattern already used for monitor and the post-green review pass dispatch a few sentences later in the same paragraph — consistent, not a new mechanism.
  • ready never merges the PR (only flips draft→ready), so the "Never-merge boundary" step later in this file is unaffected.
  • The two new eval cases follow the existing schema (id/name/prompt/expected_output/files/expectations), and narration: true is the correct, already-used opt-out for fictional worktree paths (/work/wt-731, /work/wt-813) that resolve to no shipped fixture (plugins/skill-quality/scripts/check-evals-quality.sh Q4).
  • The changelog fragment is correctly minor-bump, work-items is listed in scripts/fragment-plugins.txt, and its ### Changed shape matches other fragments.
  • No docs/standards/README.md row applies (paved-path surface is absent), so nothing to flag there.
  • Author-claimed verification (test runs, check-skill.sh, check-evals-quality.sh results) in the PR body is unverified by me — I did not have tooling access to re-run them in this lane.

No blocking or high-signal findings. This is a prose-only skill change plus eval additions; it's internally consistent with the surrounding file's established patterns and with the already-merged policy basis (#7345, #7346).

claude-lane-summary: lane=claude-review sha=036fbc63f65e96824d5dd1f1e235a42dbfbb090b run=38446445700

@github-actions

Copy link
Copy Markdown
Contributor

claude-security-review has reviewed this pull request through 036fbc6; a later push is reviewed from there.

@github-actions

Copy link
Copy Markdown
Contributor

claude-review has reviewed this pull request through 036fbc6; a later push is reviewed from there.

@kyle-sexton
kyle-sexton added this pull request to the merge queue Oct 13, 2026
Merged via the queue into main with commit 4a89d3f Oct 13, 2026
22 of 32 checks passed
@kyle-sexton
kyle-sexton deleted the feat/work-ready-after-create branch October 13, 2026 20:47
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