From 6901b2a121ea31741448599afb1d3f46261fe27b Mon Sep 17 00:00:00 2001 From: nrslib <38722970+nrslib@users.noreply.github.com> Date: Wed, 25 Feb 2026 01:02:33 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20default=20=E3=83=94=E3=83=BC=E3=82=B9?= =?UTF-8?q?=E3=82=92=E3=83=86=E3=82=B9=E3=83=88=E5=85=88=E8=A1=8C=E9=96=8B?= =?UTF-8?q?=E7=99=BA=E3=81=AB=E5=A4=89=E6=9B=B4=E3=81=97=E3=80=81=E3=83=AC?= =?UTF-8?q?=E3=83=9D=E3=83=BC=E3=83=88=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB?= =?UTF-8?q?=E5=90=8D=E3=82=92=E3=82=BB=E3=83=9E=E3=83=B3=E3=83=86=E3=82=A3?= =?UTF-8?q?=E3=83=83=E3=82=AF=E5=91=BD=E5=90=8D=E3=81=AB=E7=B5=B1=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 全ピースのレポートファイル名から番号プレフィックスを除去(00-plan.md → plan.md 等) - default ピースに write_tests ムーブメントと testing-review 並列レビューを追加 - プランナーに参照資料の意図判断ルールとスコープ外セクションを追加 --- .../instructions/loop-monitor-ai-fix.md | 2 +- builtins/en/facets/instructions/plan.md | 1 + .../en/facets/instructions/review-test.md | 2 +- builtins/en/facets/output-contracts/plan.md | 19 ++--- builtins/en/facets/personas/planner.md | 5 ++ builtins/en/pieces/backend-cqrs-mini.yaml | 4 +- builtins/en/pieces/backend-cqrs.yaml | 10 +-- builtins/en/pieces/backend-mini.yaml | 4 +- builtins/en/pieces/backend.yaml | 10 +-- builtins/en/pieces/default-mini.yaml | 4 +- .../en/pieces/default-test-first-mini.yaml | 8 +-- builtins/en/pieces/default.yaml | 71 ++++++++++++++++--- builtins/en/pieces/e2e-test.yaml | 8 +-- builtins/en/pieces/expert-cqrs-mini.yaml | 4 +- builtins/en/pieces/expert-cqrs.yaml | 12 ++-- builtins/en/pieces/expert-mini.yaml | 4 +- builtins/en/pieces/expert.yaml | 12 ++-- builtins/en/pieces/frontend-mini.yaml | 4 +- builtins/en/pieces/frontend.yaml | 12 ++-- builtins/en/pieces/review.yaml | 12 ++-- builtins/en/pieces/structural-reform.yaml | 14 ++-- builtins/en/pieces/unit-test.yaml | 8 +-- .../instructions/loop-monitor-ai-fix.md | 2 +- builtins/ja/facets/instructions/plan.md | 1 + .../ja/facets/instructions/review-test.md | 2 +- builtins/ja/facets/output-contracts/plan.md | 19 ++--- builtins/ja/facets/personas/planner.md | 5 ++ builtins/ja/pieces/backend-cqrs-mini.yaml | 4 +- builtins/ja/pieces/backend-cqrs.yaml | 10 +-- builtins/ja/pieces/backend-mini.yaml | 4 +- builtins/ja/pieces/backend.yaml | 10 +-- builtins/ja/pieces/default-mini.yaml | 4 +- .../ja/pieces/default-test-first-mini.yaml | 8 +-- builtins/ja/pieces/default.yaml | 71 ++++++++++++++++--- builtins/ja/pieces/e2e-test.yaml | 8 +-- builtins/ja/pieces/expert-cqrs-mini.yaml | 4 +- builtins/ja/pieces/expert-cqrs.yaml | 12 ++-- builtins/ja/pieces/expert-mini.yaml | 4 +- builtins/ja/pieces/expert.yaml | 12 ++-- builtins/ja/pieces/frontend-mini.yaml | 4 +- builtins/ja/pieces/frontend.yaml | 12 ++-- builtins/ja/pieces/review.yaml | 12 ++-- builtins/ja/pieces/structural-reform.yaml | 14 ++-- builtins/ja/pieces/unit-test.yaml | 8 +-- builtins/skill/references/engine.md | 2 +- src/__tests__/config.test.ts | 5 +- src/__tests__/it-piece-patterns.test.ts | 15 ++-- src/__tests__/review-piece.test.ts | 2 +- 48 files changed, 305 insertions(+), 179 deletions(-) diff --git a/builtins/en/facets/instructions/loop-monitor-ai-fix.md b/builtins/en/facets/instructions/loop-monitor-ai-fix.md index c6b4466..3fc7b2d 100644 --- a/builtins/en/facets/instructions/loop-monitor-ai-fix.md +++ b/builtins/en/facets/instructions/loop-monitor-ai-fix.md @@ -4,7 +4,7 @@ Review the reports from each cycle and determine whether this loop is healthy (making progress) or unproductive (repeating the same issues). **Reports to reference:** -- AI Review results: {report:03-ai-review.md} +- AI Review results: {report:ai-review.md} **Judgment criteria:** - Are new issues being found/fixed in each cycle? diff --git a/builtins/en/facets/instructions/plan.md b/builtins/en/facets/instructions/plan.md index 9dfdf26..1ccdc8a 100644 --- a/builtins/en/facets/instructions/plan.md +++ b/builtins/en/facets/instructions/plan.md @@ -12,6 +12,7 @@ For small tasks, skip the design sections in the report. **Actions:** 1. Understand the task requirements + - **When reference material points to an external implementation, determine whether it is a "bug fix clue" or a "design approach to adopt". If narrowing scope beyond the reference material's intent, include the rationale in the plan report** - **For each requirement, determine "change needed / not needed". If "not needed", cite the relevant code (file:line) as evidence. Claiming "already correct" without evidence is prohibited** 2. Investigate code to resolve unknowns 3. Identify the impact area diff --git a/builtins/en/facets/instructions/review-test.md b/builtins/en/facets/instructions/review-test.md index fbaac61..c769dcd 100644 --- a/builtins/en/facets/instructions/review-test.md +++ b/builtins/en/facets/instructions/review-test.md @@ -9,6 +9,6 @@ Review the changes from a test quality perspective. ## Judgment Procedure -1. Cross-reference the test plan report ({report:00-test-plan.md}) with the implemented tests +1. Cross-reference the test plan/test scope reports in the Report Directory with the implemented tests 2. For each detected issue, classify as blocking/non-blocking based on Policy's scope determination table and judgment rules 3. If there is even one blocking issue, judge as REJECT diff --git a/builtins/en/facets/output-contracts/plan.md b/builtins/en/facets/output-contracts/plan.md index 12d47df..acf2194 100644 --- a/builtins/en/facets/output-contracts/plan.md +++ b/builtins/en/facets/output-contracts/plan.md @@ -9,18 +9,15 @@ ### Objective {What needs to be achieved} +### Reference Material Findings (when reference material exists) +{Overview of reference implementation's approach and key differences from current implementation} + ### Scope {Impact area} -### Design Decisions (only when design is needed) - -#### File Structure -| File | Role | -|------|------| -| `src/example.ts` | Overview | - -#### Design Patterns -- {Adopted patterns and where they apply} +### Approaches Considered (when design decisions exist) +| Approach | Adopted? | Rationale | +|----------|----------|-----------| ### Implementation Approach {How to proceed} @@ -28,6 +25,10 @@ ## Implementation Guidelines (only when design is needed) - {Guidelines the Coder should follow during implementation} +## Out of Scope (only when items exist) +| Item | Reason for exclusion | +|------|---------------------| + ## Open Questions (if any) - {Unclear points or items that need confirmation} ``` diff --git a/builtins/en/facets/personas/planner.md b/builtins/en/facets/personas/planner.md index f84bcb0..dea816c 100644 --- a/builtins/en/facets/personas/planner.md +++ b/builtins/en/facets/personas/planner.md @@ -97,6 +97,11 @@ Only plan work that is explicitly stated in the task order. Do not include impli "Change statuses to 5 values" means "rewrite enum values," NOT "delete flows that seem unnecessary." Do not over-interpret the task order. Plan only what is written. +**Reference material intent:** +- When the task order specifies external implementations as reference material, determine WHY that reference was specified +- "Fix/improve by referencing X" includes evaluating whether to adopt the reference's design approach +- When narrowing scope beyond the reference material's implied intent, explicitly document the rationale in the plan report + **Bug fix propagation check:** - After identifying the root cause pattern, grep for the same pattern in related files - If the same bug exists in other files, include them in scope diff --git a/builtins/en/pieces/backend-cqrs-mini.yaml b/builtins/en/pieces/backend-cqrs-mini.yaml index 7b9803b..e0d4e61 100644 --- a/builtins/en/pieces/backend-cqrs-mini.yaml +++ b/builtins/en/pieces/backend-cqrs-mini.yaml @@ -34,7 +34,7 @@ movements: instruction: plan output_contracts: report: - - name: 00-plan.md + - name: plan.md format: plan - name: implement edit: true @@ -93,7 +93,7 @@ movements: - condition: AI-specific issues found output_contracts: report: - - name: 03-ai-review.md + - name: ai-review.md format: ai-review - name: supervise edit: false diff --git a/builtins/en/pieces/backend-cqrs.yaml b/builtins/en/pieces/backend-cqrs.yaml index dab0392..2d966f5 100644 --- a/builtins/en/pieces/backend-cqrs.yaml +++ b/builtins/en/pieces/backend-cqrs.yaml @@ -31,7 +31,7 @@ movements: next: ABORT output_contracts: report: - - name: 00-plan.md + - name: plan.md format: plan - name: implement edit: true @@ -92,7 +92,7 @@ movements: next: ai_fix output_contracts: report: - - name: 03-ai-review.md + - name: ai-review.md format: ai-review - name: ai_fix edit: true @@ -159,7 +159,7 @@ movements: instruction: review-cqrs-es output_contracts: report: - - name: 04-cqrs-es-review.md + - name: cqrs-es-review.md format: cqrs-es-review - name: security-review edit: false @@ -178,7 +178,7 @@ movements: instruction: review-security output_contracts: report: - - name: 05-security-review.md + - name: security-review.md format: security-review - name: qa-review edit: false @@ -198,7 +198,7 @@ movements: instruction: review-qa output_contracts: report: - - name: 06-qa-review.md + - name: qa-review.md format: qa-review rules: - condition: all("approved") diff --git a/builtins/en/pieces/backend-mini.yaml b/builtins/en/pieces/backend-mini.yaml index 0927fc1..afb583b 100644 --- a/builtins/en/pieces/backend-mini.yaml +++ b/builtins/en/pieces/backend-mini.yaml @@ -33,7 +33,7 @@ movements: instruction: plan output_contracts: report: - - name: 00-plan.md + - name: plan.md format: plan - name: implement edit: true @@ -91,7 +91,7 @@ movements: - condition: AI-specific issues found output_contracts: report: - - name: 03-ai-review.md + - name: ai-review.md format: ai-review - name: supervise edit: false diff --git a/builtins/en/pieces/backend.yaml b/builtins/en/pieces/backend.yaml index c68c649..4e41d42 100644 --- a/builtins/en/pieces/backend.yaml +++ b/builtins/en/pieces/backend.yaml @@ -30,7 +30,7 @@ movements: next: ABORT output_contracts: report: - - name: 00-plan.md + - name: plan.md format: plan - name: implement edit: true @@ -90,7 +90,7 @@ movements: next: ai_fix output_contracts: report: - - name: 03-ai-review.md + - name: ai-review.md format: ai-review - name: ai_fix edit: true @@ -156,7 +156,7 @@ movements: instruction: review-arch output_contracts: report: - - name: 04-architect-review.md + - name: architect-review.md format: architecture-review - name: security-review edit: false @@ -175,7 +175,7 @@ movements: instruction: review-security output_contracts: report: - - name: 05-security-review.md + - name: security-review.md format: security-review - name: qa-review edit: false @@ -195,7 +195,7 @@ movements: instruction: review-qa output_contracts: report: - - name: 06-qa-review.md + - name: qa-review.md format: qa-review rules: - condition: all("approved") diff --git a/builtins/en/pieces/default-mini.yaml b/builtins/en/pieces/default-mini.yaml index b5b05ed..2b3f70b 100644 --- a/builtins/en/pieces/default-mini.yaml +++ b/builtins/en/pieces/default-mini.yaml @@ -30,7 +30,7 @@ movements: instruction: plan output_contracts: report: - - name: 00-plan.md + - name: plan.md format: plan - name: implement edit: true @@ -85,7 +85,7 @@ movements: - condition: AI-specific issues found output_contracts: report: - - name: 03-ai-review.md + - name: ai-review.md format: ai-review - name: supervise edit: false diff --git a/builtins/en/pieces/default-test-first-mini.yaml b/builtins/en/pieces/default-test-first-mini.yaml index a83456f..aba8e2f 100644 --- a/builtins/en/pieces/default-test-first-mini.yaml +++ b/builtins/en/pieces/default-test-first-mini.yaml @@ -30,7 +30,7 @@ movements: instruction: plan output_contracts: report: - - name: 00-plan.md + - name: plan.md format: plan - name: write_tests edit: true @@ -61,9 +61,9 @@ movements: interactive_only: true output_contracts: report: - - name: 01-test-scope.md + - name: test-scope.md format: coder-scope - - name: 01-test-decisions.md + - name: test-decisions.md format: coder-decisions - name: implement edit: true @@ -118,7 +118,7 @@ movements: - condition: AI-specific issues found output_contracts: report: - - name: 03-ai-review.md + - name: ai-review.md format: ai-review - name: supervise edit: false diff --git a/builtins/en/pieces/default.yaml b/builtins/en/pieces/default.yaml index 77ad161..e3be2dd 100644 --- a/builtins/en/pieces/default.yaml +++ b/builtins/en/pieces/default.yaml @@ -1,5 +1,5 @@ name: default -description: Standard development piece with planning and specialized reviews +description: Test-first development piece (plan → write tests → implement → AI review → 3-parallel review → fix → supervise → complete) piece_config: provider_options: codex: @@ -22,7 +22,7 @@ loop_monitors: is healthy (making progress) or unproductive (repeating the same issues). **Reports to reference:** - - AI Review results: {report:04-ai-review.md} + - AI Review results: {report:ai-review.md} **Judgment criteria:** - Are new issues being found/fixed in each cycle? @@ -47,7 +47,7 @@ movements: - WebFetch rules: - condition: Requirements are clear and implementable - next: implement + next: write_tests - condition: User is asking a question (not an implementation task) next: COMPLETE - condition: Requirements unclear, insufficient info @@ -59,8 +59,43 @@ movements: instruction: plan output_contracts: report: - - name: 00-plan.md + - name: plan.md format: plan + - name: write_tests + edit: true + persona: coder + policy: + - coding + - testing + knowledge: + - backend + - architecture + allowed_tools: + - Read + - Glob + - Grep + - Edit + - Write + - Bash + - WebSearch + - WebFetch + required_permission_mode: edit + instruction: write-tests-first + rules: + - condition: Tests written successfully + next: implement + - condition: Cannot proceed with test writing + next: ABORT + - condition: User input needed for clarification + next: write_tests + requires_user_input: true + interactive_only: true + output_contracts: + report: + - name: test-scope.md + format: coder-scope + - name: test-decisions.md + format: coder-decisions - name: implement edit: true persona: coder @@ -92,7 +127,7 @@ movements: next: implement requires_user_input: true interactive_only: true - instruction: implement + instruction: implement-after-tests output_contracts: report: - name: coder-scope.md @@ -119,7 +154,7 @@ movements: instruction: ai-review output_contracts: report: - - name: 04-ai-review.md + - name: ai-review.md format: ai-review - name: ai_fix edit: true @@ -185,7 +220,7 @@ movements: instruction: review-arch output_contracts: report: - - name: 05-architect-review.md + - name: architect-review.md format: architecture-review - name: qa-review edit: false @@ -205,8 +240,28 @@ movements: instruction: review-qa output_contracts: report: - - name: 06-qa-review.md + - name: qa-review.md format: qa-review + - name: testing-review + edit: false + persona: testing-reviewer + policy: + - review + - testing + allowed_tools: + - Read + - Glob + - Grep + - WebSearch + - WebFetch + rules: + - condition: approved + - condition: needs_fix + instruction: review-test + output_contracts: + report: + - name: testing-review.md + format: testing-review rules: - condition: all("approved") next: supervise diff --git a/builtins/en/pieces/e2e-test.yaml b/builtins/en/pieces/e2e-test.yaml index 65b42b0..72907cd 100644 --- a/builtins/en/pieces/e2e-test.yaml +++ b/builtins/en/pieces/e2e-test.yaml @@ -22,7 +22,7 @@ loop_monitors: is healthy (making progress) or unproductive (repeating the same issues). **Reports to reference:** - - AI Review results: {report:04-ai-review.md} + - AI Review results: {report:ai-review.md} **Judgment criteria:** - Are new issues being found/fixed in each cycle? @@ -62,7 +62,7 @@ movements: instruction: plan-e2e-test output_contracts: report: - - name: 00-test-plan.md + - name: test-plan.md format: test-plan - name: implement_test edit: true @@ -122,7 +122,7 @@ movements: instruction: ai-review output_contracts: report: - - name: 04-ai-review.md + - name: ai-review.md format: ai-review - name: ai_fix edit: true @@ -187,7 +187,7 @@ movements: instruction: review-test output_contracts: report: - - name: 05-qa-review.md + - name: qa-review.md format: qa-review - name: fix edit: true diff --git a/builtins/en/pieces/expert-cqrs-mini.yaml b/builtins/en/pieces/expert-cqrs-mini.yaml index e1e7a30..2ede7ef 100644 --- a/builtins/en/pieces/expert-cqrs-mini.yaml +++ b/builtins/en/pieces/expert-cqrs-mini.yaml @@ -35,7 +35,7 @@ movements: instruction: plan output_contracts: report: - - name: 00-plan.md + - name: plan.md format: plan - name: implement edit: true @@ -95,7 +95,7 @@ movements: - condition: AI-specific issues found output_contracts: report: - - name: 03-ai-review.md + - name: ai-review.md format: ai-review - name: supervise edit: false diff --git a/builtins/en/pieces/expert-cqrs.yaml b/builtins/en/pieces/expert-cqrs.yaml index e485a10..38cbfe3 100644 --- a/builtins/en/pieces/expert-cqrs.yaml +++ b/builtins/en/pieces/expert-cqrs.yaml @@ -45,7 +45,7 @@ movements: next: ABORT output_contracts: report: - - name: 00-plan.md + - name: plan.md format: plan - name: implement edit: true @@ -107,7 +107,7 @@ movements: next: ai_fix output_contracts: report: - - name: 03-ai-review.md + - name: ai-review.md format: ai-review - name: ai_fix edit: true @@ -175,7 +175,7 @@ movements: instruction: review-cqrs-es output_contracts: report: - - name: 04-cqrs-es-review.md + - name: cqrs-es-review.md format: cqrs-es-review - name: frontend-review edit: false @@ -194,7 +194,7 @@ movements: instruction: review-frontend output_contracts: report: - - name: 05-frontend-review.md + - name: frontend-review.md format: frontend-review - name: security-review edit: false @@ -213,7 +213,7 @@ movements: instruction: review-security output_contracts: report: - - name: 06-security-review.md + - name: security-review.md format: security-review - name: qa-review edit: false @@ -233,7 +233,7 @@ movements: instruction: review-qa output_contracts: report: - - name: 07-qa-review.md + - name: qa-review.md format: qa-review rules: - condition: all("approved") diff --git a/builtins/en/pieces/expert-mini.yaml b/builtins/en/pieces/expert-mini.yaml index 4bd34ee..baaf765 100644 --- a/builtins/en/pieces/expert-mini.yaml +++ b/builtins/en/pieces/expert-mini.yaml @@ -34,7 +34,7 @@ movements: instruction: plan output_contracts: report: - - name: 00-plan.md + - name: plan.md format: plan - name: implement edit: true @@ -93,7 +93,7 @@ movements: - condition: AI-specific issues found output_contracts: report: - - name: 03-ai-review.md + - name: ai-review.md format: ai-review - name: supervise edit: false diff --git a/builtins/en/pieces/expert.yaml b/builtins/en/pieces/expert.yaml index 3469fb6..a2a903b 100644 --- a/builtins/en/pieces/expert.yaml +++ b/builtins/en/pieces/expert.yaml @@ -44,7 +44,7 @@ movements: next: ABORT output_contracts: report: - - name: 00-plan.md + - name: plan.md format: plan - name: implement edit: true @@ -105,7 +105,7 @@ movements: next: ai_fix output_contracts: report: - - name: 03-ai-review.md + - name: ai-review.md format: ai-review - name: ai_fix edit: true @@ -172,7 +172,7 @@ movements: instruction: review-arch output_contracts: report: - - name: 04-architect-review.md + - name: architect-review.md format: architecture-review - name: frontend-review edit: false @@ -191,7 +191,7 @@ movements: instruction: review-frontend output_contracts: report: - - name: 05-frontend-review.md + - name: frontend-review.md format: frontend-review - name: security-review edit: false @@ -210,7 +210,7 @@ movements: instruction: review-security output_contracts: report: - - name: 06-security-review.md + - name: security-review.md format: security-review - name: qa-review edit: false @@ -230,7 +230,7 @@ movements: instruction: review-qa output_contracts: report: - - name: 07-qa-review.md + - name: qa-review.md format: qa-review rules: - condition: all("approved") diff --git a/builtins/en/pieces/frontend-mini.yaml b/builtins/en/pieces/frontend-mini.yaml index b7ecc7e..ceaeeb4 100644 --- a/builtins/en/pieces/frontend-mini.yaml +++ b/builtins/en/pieces/frontend-mini.yaml @@ -33,7 +33,7 @@ movements: instruction: plan output_contracts: report: - - name: 00-plan.md + - name: plan.md format: plan - name: implement edit: true @@ -91,7 +91,7 @@ movements: - condition: AI-specific issues found output_contracts: report: - - name: 03-ai-review.md + - name: ai-review.md format: ai-review - name: supervise edit: false diff --git a/builtins/en/pieces/frontend.yaml b/builtins/en/pieces/frontend.yaml index e57a5c8..e0e2ad4 100644 --- a/builtins/en/pieces/frontend.yaml +++ b/builtins/en/pieces/frontend.yaml @@ -30,7 +30,7 @@ movements: next: ABORT output_contracts: report: - - name: 00-plan.md + - name: plan.md format: plan - name: implement edit: true @@ -90,7 +90,7 @@ movements: next: ai_fix output_contracts: report: - - name: 03-ai-review.md + - name: ai-review.md format: ai-review - name: ai_fix edit: true @@ -156,7 +156,7 @@ movements: instruction: review-arch output_contracts: report: - - name: 04-architect-review.md + - name: architect-review.md format: architecture-review - name: frontend-review edit: false @@ -175,7 +175,7 @@ movements: instruction: review-frontend output_contracts: report: - - name: 05-frontend-review.md + - name: frontend-review.md format: frontend-review - name: security-review edit: false @@ -194,7 +194,7 @@ movements: instruction: review-security output_contracts: report: - - name: 06-security-review.md + - name: security-review.md format: security-review - name: qa-review edit: false @@ -214,7 +214,7 @@ movements: instruction: review-qa output_contracts: report: - - name: 07-qa-review.md + - name: qa-review.md format: qa-review rules: - condition: all("approved") diff --git a/builtins/en/pieces/review.yaml b/builtins/en/pieces/review.yaml index 33f9707..d3a63e2 100644 --- a/builtins/en/pieces/review.yaml +++ b/builtins/en/pieces/review.yaml @@ -23,7 +23,7 @@ movements: instruction: gather-review output_contracts: report: - - name: 00-review-target.md + - name: review-target.md format: review-gather rules: - condition: Review target information gathered @@ -52,7 +52,7 @@ movements: instruction: review-arch output_contracts: report: - - name: 01-architecture-review.md + - name: architecture-review.md format: architecture-review rules: - condition: approved @@ -73,7 +73,7 @@ movements: instruction: review-security output_contracts: report: - - name: 02-security-review.md + - name: security-review.md format: security-review rules: - condition: approved @@ -95,7 +95,7 @@ movements: instruction: review-qa output_contracts: report: - - name: 03-qa-review.md + - name: qa-review.md format: qa-review rules: - condition: approved @@ -117,7 +117,7 @@ movements: instruction: review-test output_contracts: report: - - name: 04-testing-review.md + - name: testing-review.md format: testing-review rules: - condition: approved @@ -137,7 +137,7 @@ movements: instruction: review-requirements output_contracts: report: - - name: 05-requirements-review.md + - name: requirements-review.md format: requirements-review rules: - condition: approved diff --git a/builtins/en/pieces/structural-reform.yaml b/builtins/en/pieces/structural-reform.yaml index 2c6da4e..64891d8 100644 --- a/builtins/en/pieces/structural-reform.yaml +++ b/builtins/en/pieces/structural-reform.yaml @@ -22,8 +22,8 @@ loop_monitors: is making progress or repeating the same issues. **Reports to reference:** - - Architect review: {report:04-architect-review.md} - - QA review: {report:05-qa-review.md} + - Architect review: {report:architect-review.md} + - QA review: {report:qa-review.md} **Judgment criteria:** - Are review findings being addressed in each fix cycle? @@ -236,7 +236,7 @@ movements: - {Question 2} output_contracts: report: - - name: 01-reform-plan.md + - name: reform-plan.md format: plan - name: implement edit: true @@ -295,7 +295,7 @@ movements: instruction: review-arch output_contracts: report: - - name: 04-architect-review.md + - name: architect-review.md format: architecture-review - name: qa-review edit: false @@ -315,7 +315,7 @@ movements: instruction: review-qa output_contracts: report: - - name: 05-qa-review.md + - name: qa-review.md format: qa-review rules: - condition: all("approved") @@ -400,7 +400,7 @@ movements: next: fix output_contracts: report: - - name: 06-verification.md + - name: verification.md format: validation - name: next_target edit: false @@ -420,7 +420,7 @@ movements: - Movement: next_target (progress check and next target selection) ## Original Reform Plan - {report:01-reform-plan.md} + {report:reform-plan.md} ## Latest Verification {previous_response} diff --git a/builtins/en/pieces/unit-test.yaml b/builtins/en/pieces/unit-test.yaml index 8c5be33..0fd24a1 100644 --- a/builtins/en/pieces/unit-test.yaml +++ b/builtins/en/pieces/unit-test.yaml @@ -22,7 +22,7 @@ loop_monitors: is healthy (making progress) or unproductive (repeating the same issues). **Reports to reference:** - - AI Review results: {report:04-ai-review.md} + - AI Review results: {report:ai-review.md} **Judgment criteria:** - Are new issues being found/fixed in each cycle? @@ -62,7 +62,7 @@ movements: instruction: plan-test output_contracts: report: - - name: 00-test-plan.md + - name: test-plan.md format: test-plan - name: implement_test edit: true @@ -122,7 +122,7 @@ movements: instruction: ai-review output_contracts: report: - - name: 04-ai-review.md + - name: ai-review.md format: ai-review - name: ai_fix edit: true @@ -187,7 +187,7 @@ movements: instruction: review-test output_contracts: report: - - name: 05-qa-review.md + - name: qa-review.md format: qa-review - name: fix edit: true diff --git a/builtins/ja/facets/instructions/loop-monitor-ai-fix.md b/builtins/ja/facets/instructions/loop-monitor-ai-fix.md index 672b8b0..1922507 100644 --- a/builtins/ja/facets/instructions/loop-monitor-ai-fix.md +++ b/builtins/ja/facets/instructions/loop-monitor-ai-fix.md @@ -4,7 +4,7 @@ ai_review と ai_fix のループが {cycle_count} 回繰り返されました 非生産的(同じ問題を繰り返している)かを判断してください。 **参照するレポート:** -- AIレビュー結果: {report:03-ai-review.md} +- AIレビュー結果: {report:ai-review.md} **判断基準:** - 各サイクルで新しい問題が発見・修正されているか diff --git a/builtins/ja/facets/instructions/plan.md b/builtins/ja/facets/instructions/plan.md index 525d9e3..b1165f7 100644 --- a/builtins/ja/facets/instructions/plan.md +++ b/builtins/ja/facets/instructions/plan.md @@ -18,6 +18,7 @@ - **指示書に明記されていない別ファイルを「参照資料の代わり」として使うことは禁止** 2. タスクの要件を理解する - 参照資料の内容と現在の実装を突き合わせて差分を特定する + - **参照資料が外部実装を指す場合、「バグ修正の手がかり」か「採用すべき設計アプローチ」かを判断する。スコープを参照資料の意図より狭める場合は判断根拠を計画レポートに含めること** - **要件ごとに「変更要/不要」を判定する。「不要」の場合は現行コードの該当箇所(ファイル:行)を根拠として示すこと。根拠なしの「既に正しい」は禁止** 3. コードを調査して不明点を解決する 4. 影響範囲を特定する diff --git a/builtins/ja/facets/instructions/review-test.md b/builtins/ja/facets/instructions/review-test.md index c9c4d3b..e127e8b 100644 --- a/builtins/ja/facets/instructions/review-test.md +++ b/builtins/ja/facets/instructions/review-test.md @@ -9,6 +9,6 @@ ## 判定手順 -1. テスト計画レポート({report:00-test-plan.md})と実装されたテストを突合する +1. Report Directory内のテスト計画・テストスコープに関するレポートと実装されたテストを突合する 2. 検出した問題ごとに、Policyのスコープ判定表と判定ルールに基づいてブロッキング/非ブロッキングを分類する 3. ブロッキング問題が1件でもあればREJECTと判定する diff --git a/builtins/ja/facets/output-contracts/plan.md b/builtins/ja/facets/output-contracts/plan.md index 7e45c9f..f3a088c 100644 --- a/builtins/ja/facets/output-contracts/plan.md +++ b/builtins/ja/facets/output-contracts/plan.md @@ -9,18 +9,15 @@ ### 目的 {達成すべきこと} +### 参照資料の調査結果(参照資料がある場合) +{参照資料の実装アプローチの概要と、現在の実装との主要な差異} + ### スコープ {影響範囲} -### 設計判断(設計が必要な場合のみ) - -#### ファイル構成 -| ファイル | 役割 | -|---------|------| -| `src/example.ts` | 概要 | - -#### 設計パターン -- {採用するパターンと適用箇所} +### 検討したアプローチ(設計判断がある場合) +| アプローチ | 採否 | 理由 | +|-----------|------|------| ### 実装アプローチ {どう進めるか} @@ -28,6 +25,10 @@ ## 実装ガイドライン(設計が必要な場合のみ) - {Coderが実装時に従うべき指針} +## スコープ外(項目がある場合のみ) +| 項目 | 除外理由 | +|------|---------| + ## 確認事項(あれば) - {不明点や確認が必要な点} ``` diff --git a/builtins/ja/facets/personas/planner.md b/builtins/ja/facets/personas/planner.md index cf58645..11c6d75 100644 --- a/builtins/ja/facets/personas/planner.md +++ b/builtins/ja/facets/personas/planner.md @@ -76,6 +76,11 @@ 「ステータスを5つに変更する」は「enum値を書き換える」であり、「不要になったフローを丸ごと削除する」ではない。 タスク指示書の文言を拡大解釈しない。書かれていることだけを計画する。 +**参照資料の意図:** +- タスク指示書が外部実装を参照資料に指定している場合、「なぜその参照資料が指定されたか」を判断する +- 「〜を参照して修正・改善する」は、参照資料の設計アプローチの採用可否も検討対象に含まれる +- スコープを参照資料の意図より狭める場合は、その判断根拠を計画レポートに明記する + **バグ修正の波及確認:** - バグの原因パターンを特定したら、同じパターンが他のファイルにないか grep で確認する - 同一原因のバグが見つかった場合、修正対象としてスコープに含める diff --git a/builtins/ja/pieces/backend-cqrs-mini.yaml b/builtins/ja/pieces/backend-cqrs-mini.yaml index a7f59a7..cf8aaa1 100644 --- a/builtins/ja/pieces/backend-cqrs-mini.yaml +++ b/builtins/ja/pieces/backend-cqrs-mini.yaml @@ -34,7 +34,7 @@ movements: instruction: plan output_contracts: report: - - name: 00-plan.md + - name: plan.md format: plan - name: implement edit: true @@ -93,7 +93,7 @@ movements: - condition: AI特有の問題あり output_contracts: report: - - name: 03-ai-review.md + - name: ai-review.md format: ai-review - name: supervise edit: false diff --git a/builtins/ja/pieces/backend-cqrs.yaml b/builtins/ja/pieces/backend-cqrs.yaml index 312263c..40085fe 100644 --- a/builtins/ja/pieces/backend-cqrs.yaml +++ b/builtins/ja/pieces/backend-cqrs.yaml @@ -31,7 +31,7 @@ movements: next: ABORT output_contracts: report: - - name: 00-plan.md + - name: plan.md format: plan - name: implement edit: true @@ -92,7 +92,7 @@ movements: next: ai_fix output_contracts: report: - - name: 03-ai-review.md + - name: ai-review.md format: ai-review - name: ai_fix edit: true @@ -159,7 +159,7 @@ movements: instruction: review-cqrs-es output_contracts: report: - - name: 04-cqrs-es-review.md + - name: cqrs-es-review.md format: cqrs-es-review - name: security-review edit: false @@ -178,7 +178,7 @@ movements: instruction: review-security output_contracts: report: - - name: 05-security-review.md + - name: security-review.md format: security-review - name: qa-review edit: false @@ -198,7 +198,7 @@ movements: instruction: review-qa output_contracts: report: - - name: 06-qa-review.md + - name: qa-review.md format: qa-review rules: - condition: all("approved") diff --git a/builtins/ja/pieces/backend-mini.yaml b/builtins/ja/pieces/backend-mini.yaml index 439c396..89dc4dd 100644 --- a/builtins/ja/pieces/backend-mini.yaml +++ b/builtins/ja/pieces/backend-mini.yaml @@ -33,7 +33,7 @@ movements: instruction: plan output_contracts: report: - - name: 00-plan.md + - name: plan.md format: plan - name: implement edit: true @@ -91,7 +91,7 @@ movements: - condition: AI特有の問題あり output_contracts: report: - - name: 03-ai-review.md + - name: ai-review.md format: ai-review - name: supervise edit: false diff --git a/builtins/ja/pieces/backend.yaml b/builtins/ja/pieces/backend.yaml index 9f16a81..78a0737 100644 --- a/builtins/ja/pieces/backend.yaml +++ b/builtins/ja/pieces/backend.yaml @@ -30,7 +30,7 @@ movements: next: ABORT output_contracts: report: - - name: 00-plan.md + - name: plan.md format: plan - name: implement edit: true @@ -90,7 +90,7 @@ movements: next: ai_fix output_contracts: report: - - name: 03-ai-review.md + - name: ai-review.md format: ai-review - name: ai_fix edit: true @@ -156,7 +156,7 @@ movements: instruction: review-arch output_contracts: report: - - name: 04-architect-review.md + - name: architect-review.md format: architecture-review - name: security-review edit: false @@ -175,7 +175,7 @@ movements: instruction: review-security output_contracts: report: - - name: 05-security-review.md + - name: security-review.md format: security-review - name: qa-review edit: false @@ -195,7 +195,7 @@ movements: instruction: review-qa output_contracts: report: - - name: 06-qa-review.md + - name: qa-review.md format: qa-review rules: - condition: all("approved") diff --git a/builtins/ja/pieces/default-mini.yaml b/builtins/ja/pieces/default-mini.yaml index 477074d..03598df 100644 --- a/builtins/ja/pieces/default-mini.yaml +++ b/builtins/ja/pieces/default-mini.yaml @@ -30,7 +30,7 @@ movements: instruction: plan output_contracts: report: - - name: 00-plan.md + - name: plan.md format: plan - name: implement edit: true @@ -85,7 +85,7 @@ movements: - condition: AI特有の問題あり output_contracts: report: - - name: 03-ai-review.md + - name: ai-review.md format: ai-review - name: supervise edit: false diff --git a/builtins/ja/pieces/default-test-first-mini.yaml b/builtins/ja/pieces/default-test-first-mini.yaml index 173e143..66cf80f 100644 --- a/builtins/ja/pieces/default-test-first-mini.yaml +++ b/builtins/ja/pieces/default-test-first-mini.yaml @@ -30,7 +30,7 @@ movements: instruction: plan output_contracts: report: - - name: 00-plan.md + - name: plan.md format: plan - name: write_tests edit: true @@ -61,9 +61,9 @@ movements: interactive_only: true output_contracts: report: - - name: 01-test-scope.md + - name: test-scope.md format: coder-scope - - name: 01-test-decisions.md + - name: test-decisions.md format: coder-decisions - name: implement edit: true @@ -118,7 +118,7 @@ movements: - condition: AI特有の問題あり output_contracts: report: - - name: 03-ai-review.md + - name: ai-review.md format: ai-review - name: supervise edit: false diff --git a/builtins/ja/pieces/default.yaml b/builtins/ja/pieces/default.yaml index 1c47f08..99ceb34 100644 --- a/builtins/ja/pieces/default.yaml +++ b/builtins/ja/pieces/default.yaml @@ -1,5 +1,5 @@ name: default -description: Standard development piece with planning and specialized reviews +description: テスト先行開発ピース(計画 → テスト作成 → 実装 → AIレビュー → 3並列レビュー → 修正 → 監督 → 完了) piece_config: provider_options: codex: @@ -22,7 +22,7 @@ loop_monitors: 非生産的(同じ問題を繰り返している)かを判断してください。 **参照するレポート:** - - AIレビュー結果: {report:04-ai-review.md} + - AIレビュー結果: {report:ai-review.md} **判断基準:** - 各サイクルで新しい問題が発見・修正されているか @@ -47,7 +47,7 @@ movements: - WebFetch rules: - condition: 要件が明確で実装可能 - next: implement + next: write_tests - condition: ユーザーが質問をしている(実装タスクではない) next: COMPLETE - condition: 要件が不明確、情報不足 @@ -59,8 +59,43 @@ movements: instruction: plan output_contracts: report: - - name: 00-plan.md + - name: plan.md format: plan + - name: write_tests + edit: true + persona: coder + policy: + - coding + - testing + knowledge: + - backend + - architecture + allowed_tools: + - Read + - Glob + - Grep + - Edit + - Write + - Bash + - WebSearch + - WebFetch + required_permission_mode: edit + instruction: write-tests-first + rules: + - condition: テスト作成が完了した + next: implement + - condition: テスト作成を進行できない + next: ABORT + - condition: ユーザーへの確認事項があるためユーザー入力が必要 + next: write_tests + requires_user_input: true + interactive_only: true + output_contracts: + report: + - name: test-scope.md + format: coder-scope + - name: test-decisions.md + format: coder-decisions - name: implement edit: true persona: coder @@ -92,7 +127,7 @@ movements: next: implement requires_user_input: true interactive_only: true - instruction: implement + instruction: implement-after-tests output_contracts: report: - name: coder-scope.md @@ -119,7 +154,7 @@ movements: instruction: ai-review output_contracts: report: - - name: 04-ai-review.md + - name: ai-review.md format: ai-review - name: ai_fix edit: true @@ -185,7 +220,7 @@ movements: instruction: review-arch output_contracts: report: - - name: 05-architect-review.md + - name: architect-review.md format: architecture-review - name: qa-review edit: false @@ -205,8 +240,28 @@ movements: instruction: review-qa output_contracts: report: - - name: 06-qa-review.md + - name: qa-review.md format: qa-review + - name: testing-review + edit: false + persona: testing-reviewer + policy: + - review + - testing + allowed_tools: + - Read + - Glob + - Grep + - WebSearch + - WebFetch + rules: + - condition: approved + - condition: needs_fix + instruction: review-test + output_contracts: + report: + - name: testing-review.md + format: testing-review rules: - condition: all("approved") next: supervise diff --git a/builtins/ja/pieces/e2e-test.yaml b/builtins/ja/pieces/e2e-test.yaml index cb17d69..ac221de 100644 --- a/builtins/ja/pieces/e2e-test.yaml +++ b/builtins/ja/pieces/e2e-test.yaml @@ -22,7 +22,7 @@ loop_monitors: 非生産的(同じ問題を繰り返している)かを判断してください。 **参照するレポート:** - - AIレビュー結果: {report:04-ai-review.md} + - AIレビュー結果: {report:ai-review.md} **判断基準:** - 各サイクルで新しい問題が発見・修正されているか @@ -62,7 +62,7 @@ movements: instruction: plan-e2e-test output_contracts: report: - - name: 00-test-plan.md + - name: test-plan.md format: test-plan - name: implement_test edit: true @@ -122,7 +122,7 @@ movements: instruction: ai-review output_contracts: report: - - name: 04-ai-review.md + - name: ai-review.md format: ai-review - name: ai_fix edit: true @@ -187,7 +187,7 @@ movements: instruction: review-test output_contracts: report: - - name: 05-qa-review.md + - name: qa-review.md format: qa-review - name: fix edit: true diff --git a/builtins/ja/pieces/expert-cqrs-mini.yaml b/builtins/ja/pieces/expert-cqrs-mini.yaml index 2b5ceaf..cf4aa69 100644 --- a/builtins/ja/pieces/expert-cqrs-mini.yaml +++ b/builtins/ja/pieces/expert-cqrs-mini.yaml @@ -35,7 +35,7 @@ movements: instruction: plan output_contracts: report: - - name: 00-plan.md + - name: plan.md format: plan - name: implement edit: true @@ -95,7 +95,7 @@ movements: - condition: AI特有の問題あり output_contracts: report: - - name: 03-ai-review.md + - name: ai-review.md format: ai-review - name: supervise edit: false diff --git a/builtins/ja/pieces/expert-cqrs.yaml b/builtins/ja/pieces/expert-cqrs.yaml index 1ed95e0..b9b007a 100644 --- a/builtins/ja/pieces/expert-cqrs.yaml +++ b/builtins/ja/pieces/expert-cqrs.yaml @@ -45,7 +45,7 @@ movements: next: ABORT output_contracts: report: - - name: 00-plan.md + - name: plan.md format: plan - name: implement edit: true @@ -107,7 +107,7 @@ movements: next: ai_fix output_contracts: report: - - name: 03-ai-review.md + - name: ai-review.md format: ai-review - name: ai_fix edit: true @@ -175,7 +175,7 @@ movements: instruction: review-cqrs-es output_contracts: report: - - name: 04-cqrs-es-review.md + - name: cqrs-es-review.md format: cqrs-es-review - name: frontend-review edit: false @@ -194,7 +194,7 @@ movements: instruction: review-frontend output_contracts: report: - - name: 05-frontend-review.md + - name: frontend-review.md format: frontend-review - name: security-review edit: false @@ -213,7 +213,7 @@ movements: instruction: review-security output_contracts: report: - - name: 06-security-review.md + - name: security-review.md format: security-review - name: qa-review edit: false @@ -233,7 +233,7 @@ movements: instruction: review-qa output_contracts: report: - - name: 07-qa-review.md + - name: qa-review.md format: qa-review rules: - condition: all("approved") diff --git a/builtins/ja/pieces/expert-mini.yaml b/builtins/ja/pieces/expert-mini.yaml index 82a1298..2bcff2f 100644 --- a/builtins/ja/pieces/expert-mini.yaml +++ b/builtins/ja/pieces/expert-mini.yaml @@ -34,7 +34,7 @@ movements: instruction: plan output_contracts: report: - - name: 00-plan.md + - name: plan.md format: plan - name: implement edit: true @@ -93,7 +93,7 @@ movements: - condition: AI特有の問題あり output_contracts: report: - - name: 03-ai-review.md + - name: ai-review.md format: ai-review - name: supervise edit: false diff --git a/builtins/ja/pieces/expert.yaml b/builtins/ja/pieces/expert.yaml index 115f376..b519983 100644 --- a/builtins/ja/pieces/expert.yaml +++ b/builtins/ja/pieces/expert.yaml @@ -44,7 +44,7 @@ movements: next: ABORT output_contracts: report: - - name: 00-plan.md + - name: plan.md format: plan - name: implement edit: true @@ -105,7 +105,7 @@ movements: next: ai_fix output_contracts: report: - - name: 03-ai-review.md + - name: ai-review.md format: ai-review - name: ai_fix edit: true @@ -172,7 +172,7 @@ movements: instruction: review-arch output_contracts: report: - - name: 04-architect-review.md + - name: architect-review.md format: architecture-review - name: frontend-review edit: false @@ -191,7 +191,7 @@ movements: instruction: review-frontend output_contracts: report: - - name: 05-frontend-review.md + - name: frontend-review.md format: frontend-review - name: security-review edit: false @@ -210,7 +210,7 @@ movements: instruction: review-security output_contracts: report: - - name: 06-security-review.md + - name: security-review.md format: security-review - name: qa-review edit: false @@ -230,7 +230,7 @@ movements: instruction: review-qa output_contracts: report: - - name: 07-qa-review.md + - name: qa-review.md format: qa-review rules: - condition: all("approved") diff --git a/builtins/ja/pieces/frontend-mini.yaml b/builtins/ja/pieces/frontend-mini.yaml index e56b21f..48f4178 100644 --- a/builtins/ja/pieces/frontend-mini.yaml +++ b/builtins/ja/pieces/frontend-mini.yaml @@ -33,7 +33,7 @@ movements: instruction: plan output_contracts: report: - - name: 00-plan.md + - name: plan.md format: plan - name: implement edit: true @@ -91,7 +91,7 @@ movements: - condition: AI特有の問題あり output_contracts: report: - - name: 03-ai-review.md + - name: ai-review.md format: ai-review - name: supervise edit: false diff --git a/builtins/ja/pieces/frontend.yaml b/builtins/ja/pieces/frontend.yaml index db27700..fd66e60 100644 --- a/builtins/ja/pieces/frontend.yaml +++ b/builtins/ja/pieces/frontend.yaml @@ -30,7 +30,7 @@ movements: next: ABORT output_contracts: report: - - name: 00-plan.md + - name: plan.md format: plan - name: implement edit: true @@ -90,7 +90,7 @@ movements: next: ai_fix output_contracts: report: - - name: 03-ai-review.md + - name: ai-review.md format: ai-review - name: ai_fix edit: true @@ -156,7 +156,7 @@ movements: instruction: review-arch output_contracts: report: - - name: 04-architect-review.md + - name: architect-review.md format: architecture-review - name: frontend-review edit: false @@ -175,7 +175,7 @@ movements: instruction: review-frontend output_contracts: report: - - name: 05-frontend-review.md + - name: frontend-review.md format: frontend-review - name: security-review edit: false @@ -194,7 +194,7 @@ movements: instruction: review-security output_contracts: report: - - name: 06-security-review.md + - name: security-review.md format: security-review - name: qa-review edit: false @@ -214,7 +214,7 @@ movements: instruction: review-qa output_contracts: report: - - name: 07-qa-review.md + - name: qa-review.md format: qa-review rules: - condition: all("approved") diff --git a/builtins/ja/pieces/review.yaml b/builtins/ja/pieces/review.yaml index 3fdc9cb..fd9d9cc 100644 --- a/builtins/ja/pieces/review.yaml +++ b/builtins/ja/pieces/review.yaml @@ -23,7 +23,7 @@ movements: instruction: gather-review output_contracts: report: - - name: 00-review-target.md + - name: review-target.md format: review-gather rules: - condition: レビュー対象の情報収集完了 @@ -52,7 +52,7 @@ movements: instruction: review-arch output_contracts: report: - - name: 01-architecture-review.md + - name: architecture-review.md format: architecture-review rules: - condition: approved @@ -73,7 +73,7 @@ movements: instruction: review-security output_contracts: report: - - name: 02-security-review.md + - name: security-review.md format: security-review rules: - condition: approved @@ -95,7 +95,7 @@ movements: instruction: review-qa output_contracts: report: - - name: 03-qa-review.md + - name: qa-review.md format: qa-review rules: - condition: approved @@ -117,7 +117,7 @@ movements: instruction: review-test output_contracts: report: - - name: 04-testing-review.md + - name: testing-review.md format: testing-review rules: - condition: approved @@ -137,7 +137,7 @@ movements: instruction: review-requirements output_contracts: report: - - name: 05-requirements-review.md + - name: requirements-review.md format: requirements-review rules: - condition: approved diff --git a/builtins/ja/pieces/structural-reform.yaml b/builtins/ja/pieces/structural-reform.yaml index dfb63f2..86640f4 100644 --- a/builtins/ja/pieces/structural-reform.yaml +++ b/builtins/ja/pieces/structural-reform.yaml @@ -22,8 +22,8 @@ loop_monitors: 同じ問題を繰り返しているかを判断してください。 **参照するレポート:** - - アーキテクチャレビュー: {report:04-architect-review.md} - - QAレビュー: {report:05-qa-review.md} + - アーキテクチャレビュー: {report:architect-review.md} + - QAレビュー: {report:qa-review.md} **判断基準:** - 各修正サイクルでレビュー指摘が解消されているか @@ -236,7 +236,7 @@ movements: - {質問2} output_contracts: report: - - name: 01-reform-plan.md + - name: reform-plan.md format: plan - name: implement edit: true @@ -295,7 +295,7 @@ movements: instruction: review-arch output_contracts: report: - - name: 04-architect-review.md + - name: architect-review.md format: architecture-review - name: qa-review edit: false @@ -315,7 +315,7 @@ movements: instruction: review-qa output_contracts: report: - - name: 05-qa-review.md + - name: qa-review.md format: qa-review rules: - condition: all("approved") @@ -400,7 +400,7 @@ movements: next: fix output_contracts: report: - - name: 06-verification.md + - name: verification.md format: validation - name: next_target edit: false @@ -420,7 +420,7 @@ movements: - ムーブメント: next_target(進捗確認と次ターゲット選択) ## 改革計画 - {report:01-reform-plan.md} + {report:reform-plan.md} ## 最新の検証結果 {previous_response} diff --git a/builtins/ja/pieces/unit-test.yaml b/builtins/ja/pieces/unit-test.yaml index 356f690..961454f 100644 --- a/builtins/ja/pieces/unit-test.yaml +++ b/builtins/ja/pieces/unit-test.yaml @@ -22,7 +22,7 @@ loop_monitors: 非生産的(同じ問題を繰り返している)かを判断してください。 **参照するレポート:** - - AIレビュー結果: {report:04-ai-review.md} + - AIレビュー結果: {report:ai-review.md} **判断基準:** - 各サイクルで新しい問題が発見・修正されているか @@ -62,7 +62,7 @@ movements: instruction: plan-test output_contracts: report: - - name: 00-test-plan.md + - name: test-plan.md format: test-plan - name: implement_test edit: true @@ -122,7 +122,7 @@ movements: instruction: ai-review output_contracts: report: - - name: 04-ai-review.md + - name: ai-review.md format: ai-review - name: ai_fix edit: true @@ -187,7 +187,7 @@ movements: instruction: review-test output_contracts: report: - - name: 05-qa-review.md + - name: qa-review.md format: qa-review - name: fix edit: true diff --git a/builtins/skill/references/engine.md b/builtins/skill/references/engine.md index 2158db0..1782aa1 100644 --- a/builtins/skill/references/engine.md +++ b/builtins/skill/references/engine.md @@ -153,7 +153,7 @@ movement の `instruction:` キーから指示テンプレートファイルを ### {report:ファイル名} の処理 -インストラクション内に `{report:04-ai-review.md}` のような記法がある場合: +インストラクション内に `{report:ai-review.md}` のような記法がある場合: 1. レポートディレクトリ内に対応するレポートファイルがあれば Read で読む 2. 読み込んだ内容をプレースホルダーに展開する 3. ファイルが存在しない場合は「(レポート未作成)」に置換する diff --git a/src/__tests__/config.test.ts b/src/__tests__/config.test.ts index 116849a..34b5f02 100644 --- a/src/__tests__/config.test.ts +++ b/src/__tests__/config.test.ts @@ -71,16 +71,17 @@ describe('default piece parallel reviewers movement', () => { const reviewersMovement = piece!.movements.find((s) => s.name === 'reviewers'); expect(reviewersMovement).toBeDefined(); expect(reviewersMovement!.parallel).toBeDefined(); - expect(reviewersMovement!.parallel).toHaveLength(2); + expect(reviewersMovement!.parallel).toHaveLength(3); }); - it('should have arch-review and qa-review as parallel sub-movements', () => { + it('should have arch-review, qa-review, and testing-review as parallel sub-movements', () => { const piece = getBuiltinPiece('default', process.cwd()); const reviewersMovement = piece!.movements.find((s) => s.name === 'reviewers')!; const subMovementNames = reviewersMovement.parallel!.map((s) => s.name); expect(subMovementNames).toContain('arch-review'); expect(subMovementNames).toContain('qa-review'); + expect(subMovementNames).toContain('testing-review'); }); it('should have aggregate conditions on the reviewers parent movement', () => { diff --git a/src/__tests__/it-piece-patterns.test.ts b/src/__tests__/it-piece-patterns.test.ts index 3b756fc..dc048e9 100644 --- a/src/__tests__/it-piece-patterns.test.ts +++ b/src/__tests__/it-piece-patterns.test.ts @@ -165,12 +165,13 @@ describe('Piece Patterns IT: default piece (parallel reviewers)', () => { setMockScenario([ { persona: 'planner', status: 'done', content: 'Requirements are clear and implementable' }, - { persona: 'architect-planner', status: 'done', content: 'Design complete' }, + { persona: 'coder', status: 'done', content: 'Tests written successfully' }, { persona: 'coder', status: 'done', content: 'Implementation complete' }, { persona: 'ai-antipattern-reviewer', status: 'done', content: 'No AI-specific issues' }, - // Parallel reviewers: both approved + // Parallel reviewers: all approved { persona: 'architecture-reviewer', status: 'done', content: 'approved' }, { persona: 'qa-reviewer', status: 'done', content: 'approved' }, + { persona: 'testing-reviewer', status: 'done', content: 'approved' }, // Supervisor { persona: 'supervisor', status: 'done', content: 'All checks passed' }, ]); @@ -186,19 +187,19 @@ describe('Piece Patterns IT: default piece (parallel reviewers)', () => { setMockScenario([ { persona: 'planner', status: 'done', content: 'Requirements are clear and implementable' }, - { persona: 'architect-planner', status: 'done', content: 'Design complete' }, + { persona: 'coder', status: 'done', content: 'Tests written successfully' }, { persona: 'coder', status: 'done', content: 'Implementation complete' }, { persona: 'ai-antipattern-reviewer', status: 'done', content: 'No AI-specific issues' }, - // Parallel: arch approved, qa needs_fix + // Parallel: arch approved, qa needs_fix, testing approved { persona: 'architecture-reviewer', status: 'done', content: 'approved' }, { persona: 'qa-reviewer', status: 'done', content: 'needs_fix' }, + { persona: 'testing-reviewer', status: 'done', content: 'approved' }, // Fix step { persona: 'coder', status: 'done', content: 'Fix complete' }, - // AI review after fix - { persona: 'ai-antipattern-reviewer', status: 'done', content: 'No AI-specific issues' }, - // Re-review: both approved + // Re-review: all approved { persona: 'architecture-reviewer', status: 'done', content: 'approved' }, { persona: 'qa-reviewer', status: 'done', content: 'approved' }, + { persona: 'testing-reviewer', status: 'done', content: 'approved' }, // Supervisor { persona: 'supervisor', status: 'done', content: 'All checks passed' }, ]); diff --git a/src/__tests__/review-piece.test.ts b/src/__tests__/review-piece.test.ts index bb95214..bfaaa52 100644 --- a/src/__tests__/review-piece.test.ts +++ b/src/__tests__/review-piece.test.ts @@ -122,7 +122,7 @@ describe('review piece (EN)', () => { it('should have gather movement with output_contracts for review target', () => { const gather = raw.movements.find((s: { name: string }) => s.name === 'gather'); expect(gather.output_contracts).toBeDefined(); - expect(gather.output_contracts.report[0].name).toBe('00-review-target.md'); + expect(gather.output_contracts.report[0].name).toBe('review-target.md'); }); });