Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/PLAN.md
Original file line number Diff line number Diff line change
Expand Up @@ -365,7 +365,7 @@ branch before recording the blocker, setting the plan `blocked`, and stopping.
3. **Research.** Verify repository facts and external claims, record their sources, choose the durable fix, bind the exact files, complete Acceptance, pass `plan.mjs check`, and set the plan `planned`.
4. **Plan review.** Run up to five rounds from fresh exports. Post each reviewer block as one issue comment. Fix reproduced findings and dispatch a fresh review; stop on pass, no progress, a finding surviving its fix, or `repair` in round five. Route every `blocked` user-only decision through `## Open questions` and `ask`, including in round five. A plan-only run stops at `planned` only after plan review passes.
5. **Implement.** Set the plan `ongoing`, verify and check out its GitHub-linked branch before changing implementation bytes, move each step through its legal states, and record real Acceptance output in `## Verification Results` before the closing merge.
6. **Code review.** Run up to five rounds from fresh complete-candidate diffs and fresh plan exports. Post each reviewer block as one issue comment. Fix every critical and high finding and dispatch a fresh review; stop on pass, no progress, a finding surviving its fix, a technical block, or `fixes-required` in round five. Before any terminal review block, commit and normally push all current work to the linked plan branch. Every step must be terminal and code review must pass before the closing merge; archive verifies those facts afterward.
6. **Code review.** Run up to five rounds from fresh complete-candidate diffs and fresh plan exports. Post each reviewer block as one issue comment. Fix every critical and high finding and dispatch a fresh review; stop on pass, no progress, a finding surviving its fix, a technical block, or `fixes-required` in round five. Before recording a technical block or terminal repair failure, commit and normally push all current work to the linked plan branch. Every step must be terminal and code review must pass before the closing merge; archive verifies those facts afterward.

Build the review diff from the complete candidate pull request, not only the
dirty worktree. Resolve and fetch the repository default branch, then compute
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ user-invocable: true
metadata:
pattern: tool-wrapper
updated: "2026-08-24"
content_hash: "1979ad7c8da0ace07ecf6d23a01f7d2e102f28f16f1694e75c4a78715a32ea62"
content_hash: "49b0f7d76b40059a871d7807f9b51f6322879a392f287d351d1c64669403f5f8"
---

# Plans Workspace
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -369,7 +369,7 @@ branch before recording the blocker, setting the plan `blocked`, and stopping.
3. **Research.** Verify repository facts and external claims, record their sources, choose the durable fix, bind the exact files, complete Acceptance, pass `plan.mjs check`, and set the plan `planned`.
4. **Plan review.** Run up to five rounds from fresh exports. Post each reviewer block as one issue comment. Fix reproduced findings and dispatch a fresh review; stop on pass, no progress, a finding surviving its fix, or `repair` in round five. Route every `blocked` user-only decision through `## Open questions` and `ask`, including in round five. A plan-only run stops at `planned` only after plan review passes.
5. **Implement.** Set the plan `ongoing`, verify and check out its GitHub-linked branch before changing implementation bytes, move each step through its legal states, and record real Acceptance output in `## Verification Results` before the closing merge.
6. **Code review.** Run up to five rounds from fresh complete-candidate diffs and fresh plan exports. Post each reviewer block as one issue comment. Fix every critical and high finding and dispatch a fresh review; stop on pass, no progress, a finding surviving its fix, a technical block, or `fixes-required` in round five. Before any terminal review block, commit and normally push all current work to the linked plan branch. Every step must be terminal and code review must pass before the closing merge; archive verifies those facts afterward.
6. **Code review.** Run up to five rounds from fresh complete-candidate diffs and fresh plan exports. Post each reviewer block as one issue comment. Fix every critical and high finding and dispatch a fresh review; stop on pass, no progress, a finding surviving its fix, a technical block, or `fixes-required` in round five. Before recording a technical block or terminal repair failure, commit and normally push all current work to the linked plan branch. Every step must be terminal and code review must pass before the closing merge; archive verifies those facts afterward.

Build the review diff from the complete candidate pull request, not only the
dirty worktree. Resolve and fetch the repository default branch, then compute
Expand Down
10 changes: 10 additions & 0 deletions scripts/tests/plan-skill-phases.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,11 @@ const V3_PINNED_CLAUSES = [
text: 'After `Code-review: pass`, commit and push any remaining reviewed bytes, then create or update one pull request carrying `Closes #<issue>` and targeting the repository default branch. This landing work needs no additional prompt.',
files: [ISSUE_PUBLICATION, PLAN_CONTRACT, PLAN_MD, WORKSPACE_TEMPLATE],
},
{
name: 'code-review-block-commit',
text: 'Before recording a technical block or terminal repair failure, commit and normally push all current work to the linked plan branch.',
files: [PLAN_MD, WORKSPACE_TEMPLATE],
},
{
name: 'manager-default-pr-landing',
text: 'After a pass, commit and push any remaining reviewed bytes, then create or update the closing pull request under `## Landing`.',
Expand Down Expand Up @@ -367,6 +372,11 @@ function assertV3ClausesAndMutations() {
false,
`${relative} must fail when a plan_contract: frontmatter key is inserted`,
);
assert.equal(
text.includes('terminal review block'),
false,
`${relative} must fail when the ambiguous terminal-review-block phrase returns`,
);
}
}

Expand Down