takt 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/README.md +55 -15
  2. package/dist/agents/runner.d.ts +3 -1
  3. package/dist/agents/runner.d.ts.map +1 -1
  4. package/dist/agents/runner.js +15 -0
  5. package/dist/agents/runner.js.map +1 -1
  6. package/dist/claude/client.d.ts +3 -1
  7. package/dist/claude/client.d.ts.map +1 -1
  8. package/dist/claude/client.js +17 -0
  9. package/dist/claude/client.js.map +1 -1
  10. package/dist/cli.d.ts +10 -1
  11. package/dist/cli.d.ts.map +1 -1
  12. package/dist/cli.js +69 -18
  13. package/dist/cli.js.map +1 -1
  14. package/dist/commands/addTask.d.ts.map +1 -1
  15. package/dist/commands/addTask.js +27 -9
  16. package/dist/commands/addTask.js.map +1 -1
  17. package/dist/commands/help.d.ts.map +1 -1
  18. package/dist/commands/help.js +5 -3
  19. package/dist/commands/help.js.map +1 -1
  20. package/dist/commands/index.d.ts +1 -0
  21. package/dist/commands/index.d.ts.map +1 -1
  22. package/dist/commands/index.js +1 -0
  23. package/dist/commands/index.js.map +1 -1
  24. package/dist/commands/reviewTasks.d.ts +43 -0
  25. package/dist/commands/reviewTasks.d.ts.map +1 -0
  26. package/dist/commands/reviewTasks.js +333 -0
  27. package/dist/commands/reviewTasks.js.map +1 -0
  28. package/dist/commands/taskExecution.d.ts +16 -2
  29. package/dist/commands/taskExecution.d.ts.map +1 -1
  30. package/dist/commands/taskExecution.js +77 -39
  31. package/dist/commands/taskExecution.js.map +1 -1
  32. package/dist/commands/watchTasks.d.ts.map +1 -1
  33. package/dist/commands/watchTasks.js +6 -36
  34. package/dist/commands/watchTasks.js.map +1 -1
  35. package/dist/commands/workflowExecution.d.ts +5 -1
  36. package/dist/commands/workflowExecution.d.ts.map +1 -1
  37. package/dist/commands/workflowExecution.js +36 -12
  38. package/dist/commands/workflowExecution.js.map +1 -1
  39. package/dist/config/initialization.d.ts +2 -0
  40. package/dist/config/initialization.d.ts.map +1 -1
  41. package/dist/config/initialization.js +12 -2
  42. package/dist/config/initialization.js.map +1 -1
  43. package/dist/config/paths.d.ts +1 -1
  44. package/dist/config/paths.d.ts.map +1 -1
  45. package/dist/config/paths.js +3 -1
  46. package/dist/config/paths.js.map +1 -1
  47. package/dist/config/sessionStore.d.ts +15 -0
  48. package/dist/config/sessionStore.d.ts.map +1 -1
  49. package/dist/config/sessionStore.js +55 -1
  50. package/dist/config/sessionStore.js.map +1 -1
  51. package/dist/config/workflowLoader.d.ts.map +1 -1
  52. package/dist/config/workflowLoader.js +1 -0
  53. package/dist/config/workflowLoader.js.map +1 -1
  54. package/dist/models/schemas.d.ts +22 -0
  55. package/dist/models/schemas.d.ts.map +1 -1
  56. package/dist/models/schemas.js +8 -0
  57. package/dist/models/schemas.js.map +1 -1
  58. package/dist/models/types.d.ts +8 -2
  59. package/dist/models/types.d.ts.map +1 -1
  60. package/dist/prompt/index.d.ts +60 -11
  61. package/dist/prompt/index.d.ts.map +1 -1
  62. package/dist/prompt/index.js +246 -72
  63. package/dist/prompt/index.js.map +1 -1
  64. package/dist/providers/claude.d.ts.map +1 -1
  65. package/dist/providers/claude.js +2 -0
  66. package/dist/providers/claude.js.map +1 -1
  67. package/dist/providers/index.d.ts +3 -1
  68. package/dist/providers/index.d.ts.map +1 -1
  69. package/dist/providers/index.js.map +1 -1
  70. package/dist/task/autoCommit.d.ts +28 -0
  71. package/dist/task/autoCommit.d.ts.map +1 -0
  72. package/dist/task/autoCommit.js +68 -0
  73. package/dist/task/autoCommit.js.map +1 -0
  74. package/dist/task/index.d.ts +2 -1
  75. package/dist/task/index.d.ts.map +1 -1
  76. package/dist/task/index.js +2 -1
  77. package/dist/task/index.js.map +1 -1
  78. package/dist/task/runner.d.ts +14 -0
  79. package/dist/task/runner.d.ts.map +1 -1
  80. package/dist/task/runner.js +30 -7
  81. package/dist/task/runner.js.map +1 -1
  82. package/dist/task/summarize.d.ts +20 -0
  83. package/dist/task/summarize.d.ts.map +1 -0
  84. package/dist/task/summarize.js +50 -0
  85. package/dist/task/summarize.js.map +1 -0
  86. package/dist/task/worktree.d.ts +39 -0
  87. package/dist/task/worktree.d.ts.map +1 -1
  88. package/dist/task/worktree.js +111 -2
  89. package/dist/task/worktree.js.map +1 -1
  90. package/dist/utils/debug.d.ts +6 -1
  91. package/dist/utils/debug.d.ts.map +1 -1
  92. package/dist/utils/debug.js +30 -24
  93. package/dist/utils/debug.js.map +1 -1
  94. package/dist/utils/index.d.ts +1 -0
  95. package/dist/utils/index.d.ts.map +1 -1
  96. package/dist/utils/index.js +1 -0
  97. package/dist/utils/index.js.map +1 -1
  98. package/dist/utils/session.d.ts +20 -0
  99. package/dist/utils/session.d.ts.map +1 -1
  100. package/dist/utils/session.js +32 -3
  101. package/dist/utils/session.js.map +1 -1
  102. package/dist/utils/text.d.ts +22 -0
  103. package/dist/utils/text.d.ts.map +1 -0
  104. package/dist/utils/text.js +54 -0
  105. package/dist/utils/text.js.map +1 -0
  106. package/dist/workflow/engine.d.ts +5 -6
  107. package/dist/workflow/engine.d.ts.map +1 -1
  108. package/dist/workflow/engine.js +32 -12
  109. package/dist/workflow/engine.js.map +1 -1
  110. package/dist/workflow/index.d.ts +2 -2
  111. package/dist/workflow/index.d.ts.map +1 -1
  112. package/dist/workflow/index.js +2 -2
  113. package/dist/workflow/index.js.map +1 -1
  114. package/dist/workflow/instruction-builder.d.ts +32 -2
  115. package/dist/workflow/instruction-builder.d.ts.map +1 -1
  116. package/dist/workflow/instruction-builder.js +90 -3
  117. package/dist/workflow/instruction-builder.js.map +1 -1
  118. package/dist/workflow/transitions.d.ts.map +1 -1
  119. package/dist/workflow/transitions.js +1 -0
  120. package/dist/workflow/transitions.js.map +1 -1
  121. package/dist/workflow/types.d.ts +5 -1
  122. package/dist/workflow/types.d.ts.map +1 -1
  123. package/package.json +1 -1
  124. package/resources/global/en/workflows/default.yaml +22 -51
  125. package/resources/global/en/workflows/{expert-review.yaml → expert-cqrs.yaml} +6 -48
  126. package/resources/global/en/workflows/expert.yaml +1099 -0
  127. package/resources/global/en/workflows/magi.yaml +0 -9
  128. package/resources/global/en/workflows/research.yaml +0 -9
  129. package/resources/global/en/workflows/simple.yaml +18 -26
  130. package/resources/global/ja/agents/default/ai-reviewer.md +24 -1
  131. package/resources/global/ja/agents/default/architect.md +37 -4
  132. package/resources/global/ja/agents/default/coder.md +1 -0
  133. package/resources/global/ja/workflows/default.yaml +27 -52
  134. package/resources/global/ja/workflows/{expert-review.yaml → expert-cqrs.yaml} +169 -58
  135. package/resources/global/ja/workflows/expert.yaml +1099 -0
  136. package/resources/global/ja/workflows/magi.yaml +0 -9
  137. package/resources/global/ja/workflows/research.yaml +0 -9
  138. package/resources/global/ja/workflows/simple.yaml +18 -26
  139. /package/resources/global/en/agents/{expert-review → expert}/frontend-reviewer.md +0 -0
  140. /package/resources/global/en/agents/{expert-review → expert}/qa-reviewer.md +0 -0
  141. /package/resources/global/en/agents/{expert-review → expert}/security-reviewer.md +0 -0
  142. /package/resources/global/en/agents/{expert-review → expert}/supervisor.md +0 -0
  143. /package/resources/global/en/agents/{expert-review → expert-cqrs}/cqrs-es-reviewer.md +0 -0
  144. /package/resources/global/ja/agents/{expert-review → expert}/frontend-reviewer.md +0 -0
  145. /package/resources/global/ja/agents/{expert-review → expert}/qa-reviewer.md +0 -0
  146. /package/resources/global/ja/agents/{expert-review → expert}/security-reviewer.md +0 -0
  147. /package/resources/global/ja/agents/{expert-review → expert}/supervisor.md +0 -0
  148. /package/resources/global/ja/agents/{expert-review → expert-cqrs}/cqrs-es-reviewer.md +0 -0
@@ -27,10 +27,7 @@ steps:
27
27
  - WebSearch
28
28
  - WebFetch
29
29
  status_rules_prompt: |
30
- # ⚠️ REQUIRED: Status Output Rules ⚠️
31
30
 
32
- **Without this tag, the workflow will stop.**
33
- Your final output MUST include a status tag following the rules below.
34
31
 
35
32
  ## Output Format
36
33
 
@@ -69,10 +66,7 @@ steps:
69
66
  - WebSearch
70
67
  - WebFetch
71
68
  status_rules_prompt: |
72
- # ⚠️ REQUIRED: Status Output Rules ⚠️
73
69
 
74
- **Without this tag, the workflow will stop.**
75
- Your final output MUST include a status tag following the rules below.
76
70
 
77
71
  ## Output Format
78
72
 
@@ -116,10 +110,7 @@ steps:
116
110
  - WebSearch
117
111
  - WebFetch
118
112
  status_rules_prompt: |
119
- # ⚠️ REQUIRED: Status Output Rules ⚠️
120
113
 
121
- **Without this tag, the workflow will stop.**
122
- Your final output MUST include a status tag following the rules below.
123
114
 
124
115
  ## Output Format
125
116
 
@@ -31,10 +31,7 @@ steps:
31
31
  - WebSearch
32
32
  - WebFetch
33
33
  status_rules_prompt: |
34
- # ⚠️ REQUIRED: Status Output Rules ⚠️
35
34
 
36
- **Without this tag, the workflow will stop.**
37
- Your final output MUST include a status tag following the rules below.
38
35
 
39
36
  ## Output Format
40
37
 
@@ -95,10 +92,7 @@ steps:
95
92
  - WebSearch
96
93
  - WebFetch
97
94
  status_rules_prompt: |
98
- # ⚠️ REQUIRED: Status Output Rules ⚠️
99
95
 
100
- **Without this tag, the workflow will stop.**
101
- Your final output MUST include a status tag following the rules below.
102
96
 
103
97
  ## Output Format
104
98
 
@@ -163,10 +157,7 @@ steps:
163
157
  - WebSearch
164
158
  - WebFetch
165
159
  status_rules_prompt: |
166
- # ⚠️ REQUIRED: Status Output Rules ⚠️
167
160
 
168
- **Without this tag, the workflow will stop.**
169
- Your final output MUST include a status tag following the rules below.
170
161
 
171
162
  ## Judgment Criteria
172
163
 
@@ -30,16 +30,12 @@ steps:
30
30
  - WebSearch
31
31
  - WebFetch
32
32
  status_rules_prompt: |
33
- # ⚠️ REQUIRED: Status Output Rules ⚠️
34
-
35
- **Without this tag, the workflow will stop.**
36
- Your final output MUST include a status tag following the rules below.
37
-
38
33
  ## Judgment Criteria
39
34
 
40
35
  | Situation | Judgment |
41
36
  |-----------|----------|
42
37
  | Requirements clear and implementable | DONE |
38
+ | User is asking a question (not an implementation task) | ANSWER |
43
39
  | Requirements unclear, insufficient info | BLOCKED |
44
40
 
45
41
  ## Output Format
@@ -47,6 +43,7 @@ steps:
47
43
  | Situation | Tag |
48
44
  |-----------|-----|
49
45
  | Analysis complete | `[PLANNER:DONE]` |
46
+ | Question answered | `[PLANNER:ANSWER]` |
50
47
  | Insufficient info | `[PLANNER:BLOCKED]` |
51
48
 
52
49
  ### Output Examples
@@ -56,6 +53,13 @@ steps:
56
53
  [PLANNER:DONE]
57
54
  ```
58
55
 
56
+ **ANSWER case:**
57
+ ```
58
+ {Answer to the question}
59
+
60
+ [PLANNER:ANSWER]
61
+ ```
62
+
59
63
  **BLOCKED case:**
60
64
  ```
61
65
  [PLANNER:BLOCKED]
@@ -81,10 +85,15 @@ steps:
81
85
  ## Instructions
82
86
  Analyze the task and create an implementation plan.
83
87
 
88
+ **Judgment criteria:**
89
+ - If the user input is an implementation task → create a plan and output `[PLANNER:DONE]`
90
+ - If the user input is a question → research, answer, and output `[PLANNER:ANSWER]`
91
+ - If there is insufficient information → output `[PLANNER:BLOCKED]`
92
+
84
93
  **Note:** If returned from implement step (Previous Response exists),
85
94
  review and revise the plan based on that feedback (replan).
86
95
 
87
- **Tasks:**
96
+ **Tasks (for implementation tasks):**
88
97
  1. Understand the requirements
89
98
  2. Identify impact scope
90
99
  3. Decide implementation approach
@@ -118,6 +127,8 @@ steps:
118
127
  transitions:
119
128
  - condition: done
120
129
  next_step: implement
130
+ - condition: answer
131
+ next_step: COMPLETE
121
132
  - condition: blocked
122
133
  next_step: ABORT
123
134
 
@@ -132,12 +143,8 @@ steps:
132
143
  - Bash
133
144
  - WebSearch
134
145
  - WebFetch
146
+ permission_mode: acceptEdits
135
147
  status_rules_prompt: |
136
- # ⚠️ REQUIRED: Status Output Rules ⚠️
137
-
138
- **Without this tag, the workflow will stop.**
139
- Your final output MUST include a status tag following the rules below.
140
-
141
148
  ## Output Format
142
149
 
143
150
  | Situation | Tag |
@@ -233,11 +240,6 @@ steps:
233
240
  - WebSearch
234
241
  - WebFetch
235
242
  status_rules_prompt: |
236
- # ⚠️ REQUIRED: Status Output Rules ⚠️
237
-
238
- **Without this tag, the workflow will stop.**
239
- Your final output MUST include a status tag following the rules below.
240
-
241
243
  ## Judgment Criteria
242
244
 
243
245
  | Situation | Judgment |
@@ -348,11 +350,6 @@ steps:
348
350
  - WebSearch
349
351
  - WebFetch
350
352
  status_rules_prompt: |
351
- # ⚠️ REQUIRED: Status Output Rules ⚠️
352
-
353
- **Without this tag, the workflow will stop.**
354
- Your final output MUST include a status tag following the rules below.
355
-
356
353
  ## Judgment Criteria
357
354
 
358
355
  | Situation | Judgment |
@@ -458,11 +455,6 @@ steps:
458
455
  - WebSearch
459
456
  - WebFetch
460
457
  status_rules_prompt: |
461
- # ⚠️ REQUIRED: Status Output Rules ⚠️
462
-
463
- **Without this tag, the workflow will stop.**
464
- Your final output MUST include a status tag following the rules below.
465
-
466
458
  ## Judgment Criteria
467
459
 
468
460
  | Situation | Judgment |
@@ -51,11 +51,15 @@ AI生成コードには特有の特徴があります:
51
51
  | 古いパターン | 学習データからの非推奨アプローチの使用 |
52
52
  | 過剰エンジニアリング | タスクに不要な抽象化レイヤーの追加 |
53
53
  | 過小エンジニアリング | 現実的なシナリオのエラーハンドリングの欠如 |
54
+ | 配線忘れ | 機構は実装されているが、エントリポイントから渡されていない |
54
55
 
55
56
  **検証アプローチ:**
56
57
  1. このコードは実際にコンパイル/実行できるか?
57
58
  2. インポートされたモジュール/関数は存在するか?
58
59
  3. このライブラリバージョンでAPIは正しく使用されているか?
60
+ 4. 新しいパラメータ/フィールドが追加された場合、呼び出し元から実際に渡されているか?
61
+ - AIは個々のファイル内では正しく実装するが、ファイル横断の結合を忘れがち
62
+ - `options.xxx ?? fallback` で常にフォールバックが使われていないか grep で確認
59
63
 
60
64
  ### 3. コピペパターン検出
61
65
 
@@ -96,7 +100,26 @@ AI生成コードには特有の特徴があります:
96
100
 
97
101
  **原則:** 最良のコードは、問題を解決する最小限のコード。
98
102
 
99
- ### 6. 決定トレーサビリティレビュー
103
+ ### 6. デッドコード検出
104
+
105
+ **AIは新しいコードを追加するが、不要になったコードの削除を忘れることが多い。**
106
+
107
+ | パターン | 例 |
108
+ |---------|-----|
109
+ | 未使用の関数・メソッド | リファクタリング後に残った旧実装 |
110
+ | 未使用の変数・定数 | 条件変更で不要になった定義 |
111
+ | 到達不能コード | 早期returnの後に残った処理、常に真/偽になる条件分岐 |
112
+ | 未使用のインポート・依存 | 削除された機能のimport文やパッケージ依存 |
113
+ | 孤立したエクスポート・公開API | 実体が消えたのにre-exportやindex登録が残っている |
114
+ | 未使用のインターフェース・型定義 | 実装側が変更されたのに残った古い型 |
115
+ | 無効化されたコード | コメントアウトされたまま放置されたコード |
116
+
117
+ **検証アプローチ:**
118
+ 1. 変更・削除されたコードを参照している箇所がないか grep で確認
119
+ 2. 公開モジュール(index ファイル等)のエクスポート一覧と実体が一致しているか確認
120
+ 3. 新規追加されたコードに対応する古いコードが残っていないか確認
121
+
122
+ ### 7. 決定トレーサビリティレビュー
100
123
 
101
124
  **Coderの決定ログが妥当か検証する。**
102
125
 
@@ -384,7 +384,40 @@ function createOrder(data: OrderData) {
384
384
  - 3回の重複 → 即抽出
385
385
  - ドメインが異なる重複 → 抽象化しない(例: 顧客用バリデーションと管理者用バリデーションは別物)
386
386
 
387
- ### 8. 品質特性
387
+ ### 8. 呼び出しチェーン検証
388
+
389
+ **新しいパラメータ・フィールドが追加された場合、変更ファイル内だけでなく呼び出し元も検証する。**
390
+
391
+ **検証手順:**
392
+ 1. 新しいオプショナルパラメータや interface フィールドを見つけたら、`Grep` で全呼び出し元を検索
393
+ 2. 全呼び出し元が新しいパラメータを渡しているか確認
394
+ 3. フォールバック値(`?? default`)がある場合、フォールバックが使われるケースが意図通りか確認
395
+
396
+ **危険パターン:**
397
+
398
+ | パターン | 問題 | 検出方法 |
399
+ |---------|------|---------|
400
+ | `options.xxx ?? fallback` で全呼び出し元が `xxx` を省略 | 機能が実装されているのに常にフォールバック | grep で呼び出し元を確認 |
401
+ | テストがモックで直接値をセット | 実際の呼び出しチェーンを経由しない | テストの構築方法を確認 |
402
+ | `executeXxx()` が内部で使う `options` を引数で受け取らない | 上位から値を渡す口がない | 関数シグネチャを確認 |
403
+
404
+ **具体例:**
405
+
406
+ ```typescript
407
+ // ❌ 配線漏れ: projectCwd を受け取る口がない
408
+ export async function executeWorkflow(config, cwd, task) {
409
+ const engine = new WorkflowEngine(config, cwd, task); // options なし
410
+ }
411
+
412
+ // ✅ 配線済み: projectCwd を渡せる
413
+ export async function executeWorkflow(config, cwd, task, options?) {
414
+ const engine = new WorkflowEngine(config, cwd, task, options);
415
+ }
416
+ ```
417
+
418
+ **このパターンを見つけたら REJECT。** 個々のファイルが正しくても、結合されていなければ機能しない。
419
+
420
+ ### 9. 品質特性
388
421
 
389
422
  | 特性 | 確認観点 |
390
423
  |------|---------|
@@ -392,7 +425,7 @@ function createOrder(data: OrderData) {
392
425
  | Maintainability | 変更・修正が容易か |
393
426
  | Observability | ログ・監視が可能な設計か |
394
427
 
395
- ### 9. 大局観
428
+ ### 10. 大局観
396
429
 
397
430
  **注意**: 細かい「クリーンコード」の指摘に終始しない。
398
431
 
@@ -403,7 +436,7 @@ function createOrder(data: OrderData) {
403
436
  - ビジネス要件と整合しているか
404
437
  - 命名がドメインと一貫しているか
405
438
 
406
- ### 10. 変更スコープの評価
439
+ ### 11. 変更スコープの評価
407
440
 
408
441
  **変更スコープを確認し、レポートに記載する(ブロッキングではない)。**
409
442
 
@@ -422,7 +455,7 @@ function createOrder(data: OrderData) {
422
455
  **提案として記載すること(ブロッキングではない):**
423
456
  - 分割可能な場合は分割案を提示
424
457
 
425
- ### 11. 堂々巡りの検出
458
+ ### 12. 堂々巡りの検出
426
459
 
427
460
  レビュー回数が渡される場合(例: 「レビュー回数: 3回目」)、回数に応じて判断を変える。
428
461
 
@@ -90,6 +90,7 @@
90
90
  | 構文エラー | ビルド・コンパイル |
91
91
  | テスト | テスト実行 |
92
92
  | 要求充足 | 元のタスク要求と照合 |
93
+ | デッドコード | 変更・削除した機能を参照する未使用コードが残っていないか確認(未使用の関数、変数、インポート、エクスポート、型定義、到達不能コード) |
93
94
 
94
95
  **すべて確認してから `[DONE]` を出力。**
95
96
 
@@ -29,16 +29,12 @@ steps:
29
29
  - WebSearch
30
30
  - WebFetch
31
31
  status_rules_prompt: |
32
- # ⚠️ 必須: ステータス出力ルール ⚠️
33
-
34
- **このタグがないとワークフローが停止します。**
35
- 最終出力には必ず以下のルールに従ったステータスタグを含めてください。
36
-
37
32
  ## 判定基準
38
33
 
39
34
  | 状況 | 判定 |
40
35
  |------|------|
41
36
  | 要件が明確で実装可能 | DONE |
37
+ | ユーザーが質問をしている(実装タスクではない) | ANSWER |
42
38
  | 要件が不明確、情報不足 | BLOCKED |
43
39
 
44
40
  ## 出力フォーマット
@@ -46,6 +42,7 @@ steps:
46
42
  | 状況 | タグ |
47
43
  |------|------|
48
44
  | 分析完了 | `[PLANNER:DONE]` |
45
+ | 質問への回答 | `[PLANNER:ANSWER]` |
49
46
  | 情報不足 | `[PLANNER:BLOCKED]` |
50
47
 
51
48
  ### 出力例
@@ -55,6 +52,13 @@ steps:
55
52
  [PLANNER:DONE]
56
53
  ```
57
54
 
55
+ **ANSWER の場合:**
56
+ ```
57
+ {質問への回答}
58
+
59
+ [PLANNER:ANSWER]
60
+ ```
61
+
58
62
  **BLOCKED の場合:**
59
63
  ```
60
64
  [PLANNER:BLOCKED]
@@ -80,10 +84,15 @@ steps:
80
84
  ## Instructions
81
85
  タスクを分析し、実装方針を立ててください。
82
86
 
87
+ **判断基準:**
88
+ - ユーザーの入力が実装タスクの場合 → 計画を立てて `[PLANNER:DONE]`
89
+ - ユーザーの入力が質問の場合 → 調査・回答して `[PLANNER:ANSWER]`
90
+ - 情報不足の場合 → `[PLANNER:BLOCKED]`
91
+
83
92
  **注意:** Previous Responseがある場合は差し戻しのため、
84
93
  その内容を踏まえて計画を見直してください(replan)。
85
94
 
86
- **やること:**
95
+ **やること(実装タスクの場合):**
87
96
  1. タスクの要件を理解する
88
97
  2. 影響範囲を特定する
89
98
  3. 実装アプローチを決める
@@ -117,6 +126,8 @@ steps:
117
126
  transitions:
118
127
  - condition: done
119
128
  next_step: implement
129
+ - condition: answer
130
+ next_step: COMPLETE
120
131
  - condition: blocked
121
132
  next_step: ABORT
122
133
 
@@ -131,12 +142,8 @@ steps:
131
142
  - Bash
132
143
  - WebSearch
133
144
  - WebFetch
145
+ permission_mode: acceptEdits
134
146
  status_rules_prompt: |
135
- # ⚠️ 必須: ステータス出力ルール ⚠️
136
-
137
- **このタグがないとワークフローが停止します。**
138
- 最終出力には必ず以下のルールに従ったステータスタグを含めてください。
139
-
140
147
  ## 出力フォーマット
141
148
 
142
149
  | 状況 | タグ |
@@ -237,11 +244,6 @@ steps:
237
244
  - WebSearch
238
245
  - WebFetch
239
246
  status_rules_prompt: |
240
- # ⚠️ 必須: ステータス出力ルール ⚠️
241
-
242
- **このタグがないとワークフローが停止します。**
243
- 最終出力には必ず以下のルールに従ったステータスタグを含めてください。
244
-
245
247
  ## 判定基準
246
248
 
247
249
  | 状況 | 判定 |
@@ -319,7 +321,9 @@ steps:
319
321
  - 構造・設計の妥当性
320
322
  - コード品質
321
323
  - 変更スコープの適切性
322
- - **テストカバレッジ**: 実装に対応する単体テストが追加されているか
324
+ - テストカバレッジ
325
+ - デッドコード
326
+ - 呼び出しチェーン検証
323
327
 
324
328
  **レポート出力:** 上記の `Report File` に出力してください。
325
329
  - ファイルが存在しない場合: 新規作成
@@ -339,6 +343,8 @@ steps:
339
343
  - [x] コード品質
340
344
  - [x] 変更スコープ
341
345
  - [x] テストカバレッジ
346
+ - [x] デッドコード
347
+ - [x] 呼び出しチェーン検証
342
348
 
343
349
  ## 問題点(REJECTの場合)
344
350
  | # | 場所 | 問題 | 修正案 |
@@ -372,12 +378,8 @@ steps:
372
378
  - Bash
373
379
  - WebSearch
374
380
  - WebFetch
381
+ permission_mode: acceptEdits
375
382
  status_rules_prompt: |
376
- # ⚠️ 必須: ステータス出力ルール ⚠️
377
-
378
- **このタグがないとワークフローが停止します。**
379
- 最終出力には必ず以下のルールに従ったステータスタグを含めてください。
380
-
381
383
  ## 出力フォーマット
382
384
 
383
385
  | 状況 | タグ |
@@ -445,11 +447,6 @@ steps:
445
447
  - WebSearch
446
448
  - WebFetch
447
449
  status_rules_prompt: |
448
- # ⚠️ 必須: ステータス出力ルール ⚠️
449
-
450
- **このタグがないとワークフローが停止します。**
451
- 最終出力には必ず以下のルールに従ったステータスタグを含めてください。
452
-
453
450
  ## 判定基準
454
451
 
455
452
  | 状況 | 判定 |
@@ -556,12 +553,8 @@ steps:
556
553
  - Bash
557
554
  - WebSearch
558
555
  - WebFetch
556
+ permission_mode: acceptEdits
559
557
  status_rules_prompt: |
560
- # ⚠️ 必須: ステータス出力ルール ⚠️
561
-
562
- **このタグがないとワークフローが停止します。**
563
- 最終出力には必ず以下のルールに従ったステータスタグを含めてください。
564
-
565
558
  ## 出力フォーマット
566
559
 
567
560
  | 状況 | タグ |
@@ -626,11 +619,6 @@ steps:
626
619
  - WebSearch
627
620
  - WebFetch
628
621
  status_rules_prompt: |
629
- # ⚠️ 必須: ステータス出力ルール ⚠️
630
-
631
- **このタグがないとワークフローが停止します。**
632
- 最終出力には必ず以下のルールに従ったステータスタグを含めてください。
633
-
634
622
  ## 判定基準
635
623
 
636
624
  | 状況 | 判定 |
@@ -737,12 +725,8 @@ steps:
737
725
  - Bash
738
726
  - WebSearch
739
727
  - WebFetch
728
+ permission_mode: acceptEdits
740
729
  status_rules_prompt: |
741
- # ⚠️ 必須: ステータス出力ルール ⚠️
742
-
743
- **このタグがないとワークフローが停止します。**
744
- 最終出力には必ず以下のルールに従ったステータスタグを含めてください。
745
-
746
730
  ## 出力フォーマット
747
731
 
748
732
  | 状況 | タグ |
@@ -805,12 +789,8 @@ steps:
805
789
  - Bash
806
790
  - WebSearch
807
791
  - WebFetch
792
+ permission_mode: acceptEdits
808
793
  status_rules_prompt: |
809
- # ⚠️ 必須: ステータス出力ルール ⚠️
810
-
811
- **このタグがないとワークフローが停止します。**
812
- 最終出力には必ず以下のルールに従ったステータスタグを含めてください。
813
-
814
794
  ## 出力フォーマット
815
795
 
816
796
  | 状況 | タグ |
@@ -874,11 +854,6 @@ steps:
874
854
  - WebSearch
875
855
  - WebFetch
876
856
  status_rules_prompt: |
877
- # ⚠️ 必須: ステータス出力ルール ⚠️
878
-
879
- **このタグがないとワークフローが停止します。**
880
- 最終出力には必ず以下のルールに従ったステータスタグを含めてください。
881
-
882
857
  ## 判定基準
883
858
 
884
859
  | 状況 | 判定 |