feat(wiki-plan): Analyze/Design/Decompose phase gates (cycle-hardening) - #174
Merged
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HMv82jz3FafjA6fzqQ3hHc
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HMv82jz3FafjA6fzqQ3hHc
Fleshes out the agents/plan-reviewer.md stub into a read-only, fresh-context reviewer for wiki-plan Phase B design docs (analysis.md + design doc), matching the integration-reviewer/test-quality-auditor pattern: 4 fixed review lenses, a self-grading guard, and a fixed VERDICT/FINDINGS/SUMMARY output contract. Adds tests/plan-reviewer-agent.bats verifying the artifact's structure with paired negative controls. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014rwgjeueXH8Mho12wEhAjC
…etation order Adds a `research` role to resolve-tools.sh's capability-role pattern for loop-implement's cycle-hardening work (design.md §3). Unlike other roles, the fallback chain when unconfigured (configured tool -> brave-search MCP -> built-in WebSearch -> ABANDON research-evidenced) is owned by the SKILL text, not the shell script, since resolve-tools.sh can only detect configured/default and not MCP tool availability. Also adds the 7b BLOCKED routing line mapping plan-defect causes to wiki-plan Phase A/B/C repair. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017MgGBE8G8gfxzFbD5WePee
…coverage Implements skills/wiki-plan/scripts/plan-gate.sh (POSIX sh, verified under dash) as the mechanical judge for the 8 Phase A/B plan gates (cycle-hardening design.md §3): `check <gate-id> <plan-dir> [<wiki-root>]` judges one gate (stdout exactly "ok"|"fail", exit 0/2/3/4) and `emit <A|B> <plan-dir> <out-file>` writes a gates ledger from templates/plan-gates.md. The ledger syntax is unmodified CHECK:/EXPECT:/EVIDENCE: (same as templates/gates.md), so gate-check.sh and hooks/loop-gate.sh's Stop hook consume plan-A/B ledgers with zero changes to either script. Fills in templates/analysis.md, templates/design-doc.md, templates/plan-gates.md with real, parser-consumable section formats. Adds tests/plan-gate.bats (87 cases incl. per-gate pass/fail/target-missing fixtures under tests/fixtures/plan-gate/**) and appends plan-ledger cases to tests/loop-gate.bats (append-only, no existing case touched). Rework round 1: check_baseline_tests_ran no longer executes the parsed Baseline command (plan D4 — execution belongs solely to the emitted ledger's own CHECK line, run by gate-check.sh under its timeout/evidence handling); it now validates target presence + parseability only, with a dedicated test proving a failing command still returns ok. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SftEH8hBwTmJS2WdfNJAR4
Phase 3 step 2a now requires .dev-loop/gates/plan-A-<task>.md and plan-B-<task>.md to exist and gate-check.sh --run to exit 0 before a task is dispatched to a worker (lite-mode ABANDON with a recorded reason still counts as passing). A plan with no evidence — missing ledger, or any gate left UNMET/CLAIMED — is sent back to wiki-plan's corresponding Phase instead of launching. Spec: plans/cycle-hardening/design.md §4 row 6. Consumes only t1-plan-gate's ledger-filename convention and gate-check.sh --run verdict (does not re-create either). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Rewrite skills/wiki-plan/SKILL.md into Phase A (Analyze) -> gate-A -> Phase B (Design) -> gate-B -> Phase C (Decompose), wiring in plan-gate.sh emit + gate-check.sh --run and a plan-reviewer subagent call (bounded retry, escalate on 3rd FAIL). Converts Wiki basis citations to repo-relative paths with a 6-column Decisions table, and codifies lite mode via the existing ABANDON ledger mechanism instead of a silent skip. Preserves frontmatter, Rule zero, and Execution handoff verbatim; Phase C keeps its original step numbering so the existing orchestrate-dispatch-contracts.bats pins needed no changes. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Cc71FDteF4xNLnhBRZFp9c
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
wiki-plan을 분석(A) → 설계(B) → 계획(C) 3단계 + 기계 판정 게이트로 재구조화 (spec:
plans/cycle-hardening/design.md).check/emit, exit 0/2/3/4) + 템플릿 3종 (templates/{analysis,design-doc,plan-gates}.md). 파서는 검증만, 명령 실행은 레저 CHECK 단일화covers:+ 핀 예산Test plan
🤖 Generated with Claude Code
https://claude.ai/code/session_01HMv82jz3FafjA6fzqQ3hHc