takt 0.2.3 → 0.3.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 (185) hide show
  1. package/README.md +186 -162
  2. package/dist/agents/runner.d.ts +2 -4
  3. package/dist/agents/runner.d.ts.map +1 -1
  4. package/dist/agents/runner.js +6 -35
  5. package/dist/agents/runner.js.map +1 -1
  6. package/dist/claude/client.d.ts +31 -6
  7. package/dist/claude/client.d.ts.map +1 -1
  8. package/dist/claude/client.js +78 -30
  9. package/dist/claude/client.js.map +1 -1
  10. package/dist/claude/executor.d.ts.map +1 -1
  11. package/dist/claude/executor.js +17 -8
  12. package/dist/claude/executor.js.map +1 -1
  13. package/dist/claude/index.d.ts +1 -1
  14. package/dist/claude/index.d.ts.map +1 -1
  15. package/dist/claude/index.js +1 -1
  16. package/dist/claude/index.js.map +1 -1
  17. package/dist/cli.d.ts +5 -5
  18. package/dist/cli.d.ts.map +1 -1
  19. package/dist/cli.js +160 -119
  20. package/dist/cli.js.map +1 -1
  21. package/dist/codex/client.d.ts +0 -1
  22. package/dist/codex/client.d.ts.map +1 -1
  23. package/dist/codex/client.js +3 -6
  24. package/dist/codex/client.js.map +1 -1
  25. package/dist/commands/addTask.d.ts +15 -8
  26. package/dist/commands/addTask.d.ts.map +1 -1
  27. package/dist/commands/addTask.js +63 -26
  28. package/dist/commands/addTask.js.map +1 -1
  29. package/dist/commands/eject.d.ts +13 -0
  30. package/dist/commands/eject.d.ts.map +1 -0
  31. package/dist/commands/eject.js +105 -0
  32. package/dist/commands/eject.js.map +1 -0
  33. package/dist/commands/index.d.ts +2 -2
  34. package/dist/commands/index.d.ts.map +1 -1
  35. package/dist/commands/index.js +2 -2
  36. package/dist/commands/index.js.map +1 -1
  37. package/dist/commands/interactive.d.ts +28 -0
  38. package/dist/commands/interactive.d.ts.map +1 -0
  39. package/dist/commands/interactive.js +186 -0
  40. package/dist/commands/interactive.js.map +1 -0
  41. package/dist/commands/taskExecution.js +2 -2
  42. package/dist/commands/taskExecution.js.map +1 -1
  43. package/dist/commands/workflowExecution.d.ts.map +1 -1
  44. package/dist/commands/workflowExecution.js +85 -18
  45. package/dist/commands/workflowExecution.js.map +1 -1
  46. package/dist/config/agentLoader.d.ts +3 -1
  47. package/dist/config/agentLoader.d.ts.map +1 -1
  48. package/dist/config/agentLoader.js +17 -24
  49. package/dist/config/agentLoader.js.map +1 -1
  50. package/dist/config/globalConfig.d.ts +2 -0
  51. package/dist/config/globalConfig.d.ts.map +1 -1
  52. package/dist/config/globalConfig.js +14 -0
  53. package/dist/config/globalConfig.js.map +1 -1
  54. package/dist/config/initialization.d.ts +7 -5
  55. package/dist/config/initialization.d.ts.map +1 -1
  56. package/dist/config/initialization.js +23 -21
  57. package/dist/config/initialization.js.map +1 -1
  58. package/dist/config/paths.d.ts +5 -0
  59. package/dist/config/paths.d.ts.map +1 -1
  60. package/dist/config/paths.js +9 -0
  61. package/dist/config/paths.js.map +1 -1
  62. package/dist/config/workflowLoader.d.ts +6 -4
  63. package/dist/config/workflowLoader.d.ts.map +1 -1
  64. package/dist/config/workflowLoader.js +190 -35
  65. package/dist/config/workflowLoader.js.map +1 -1
  66. package/dist/github/issue.d.ts +72 -0
  67. package/dist/github/issue.d.ts.map +1 -0
  68. package/dist/github/issue.js +143 -0
  69. package/dist/github/issue.js.map +1 -0
  70. package/dist/models/index.d.ts +1 -1
  71. package/dist/models/index.d.ts.map +1 -1
  72. package/dist/models/index.js.map +1 -1
  73. package/dist/models/schemas.d.ts +164 -90
  74. package/dist/models/schemas.d.ts.map +1 -1
  75. package/dist/models/schemas.js +77 -51
  76. package/dist/models/schemas.js.map +1 -1
  77. package/dist/models/types.d.ts +51 -20
  78. package/dist/models/types.d.ts.map +1 -1
  79. package/dist/prompt/index.d.ts +0 -7
  80. package/dist/prompt/index.d.ts.map +1 -1
  81. package/dist/prompt/index.js +0 -11
  82. package/dist/prompt/index.js.map +1 -1
  83. package/dist/providers/claude.js +2 -2
  84. package/dist/providers/claude.js.map +1 -1
  85. package/dist/providers/codex.d.ts.map +1 -1
  86. package/dist/providers/codex.js +0 -2
  87. package/dist/providers/codex.js.map +1 -1
  88. package/dist/providers/index.d.ts +2 -1
  89. package/dist/providers/index.d.ts.map +1 -1
  90. package/dist/providers/index.js.map +1 -1
  91. package/dist/resources/index.d.ts +3 -22
  92. package/dist/resources/index.d.ts.map +1 -1
  93. package/dist/resources/index.js +3 -73
  94. package/dist/resources/index.js.map +1 -1
  95. package/dist/task/display.js +1 -1
  96. package/dist/task/display.js.map +1 -1
  97. package/dist/utils/session.d.ts +74 -10
  98. package/dist/utils/session.d.ts.map +1 -1
  99. package/dist/utils/session.js +101 -51
  100. package/dist/utils/session.js.map +1 -1
  101. package/dist/workflow/engine.d.ts +34 -1
  102. package/dist/workflow/engine.d.ts.map +1 -1
  103. package/dist/workflow/engine.js +228 -36
  104. package/dist/workflow/engine.js.map +1 -1
  105. package/dist/workflow/index.d.ts +1 -1
  106. package/dist/workflow/index.d.ts.map +1 -1
  107. package/dist/workflow/index.js +1 -1
  108. package/dist/workflow/index.js.map +1 -1
  109. package/dist/workflow/instruction-builder.d.ts +87 -18
  110. package/dist/workflow/instruction-builder.d.ts.map +1 -1
  111. package/dist/workflow/instruction-builder.js +404 -57
  112. package/dist/workflow/instruction-builder.js.map +1 -1
  113. package/dist/workflow/parallel-logger.d.ts +76 -0
  114. package/dist/workflow/parallel-logger.d.ts.map +1 -0
  115. package/dist/workflow/parallel-logger.js +173 -0
  116. package/dist/workflow/parallel-logger.js.map +1 -0
  117. package/dist/workflow/phase-runner.d.ts +40 -0
  118. package/dist/workflow/phase-runner.d.ts.map +1 -0
  119. package/dist/workflow/phase-runner.js +69 -0
  120. package/dist/workflow/phase-runner.js.map +1 -0
  121. package/dist/workflow/rule-evaluator.d.ts +64 -0
  122. package/dist/workflow/rule-evaluator.d.ts.map +1 -0
  123. package/dist/workflow/rule-evaluator.js +178 -0
  124. package/dist/workflow/rule-evaluator.js.map +1 -0
  125. package/dist/workflow/rule-utils.d.ts +13 -0
  126. package/dist/workflow/rule-utils.d.ts.map +1 -0
  127. package/dist/workflow/rule-utils.js +17 -0
  128. package/dist/workflow/rule-utils.js.map +1 -0
  129. package/dist/workflow/transitions.d.ts +5 -13
  130. package/dist/workflow/transitions.d.ts.map +1 -1
  131. package/dist/workflow/transitions.js +8 -78
  132. package/dist/workflow/transitions.js.map +1 -1
  133. package/dist/workflow/types.d.ts +2 -1
  134. package/dist/workflow/types.d.ts.map +1 -1
  135. package/package.json +1 -1
  136. package/resources/global/en/agents/default/ai-antipattern-reviewer.md +84 -15
  137. package/resources/global/en/agents/default/{architect.md → architecture-reviewer.md} +144 -44
  138. package/resources/global/en/agents/default/coder.md +4 -4
  139. package/resources/global/en/agents/default/planner.md +16 -9
  140. package/resources/global/en/agents/default/{security.md → security-reviewer.md} +23 -5
  141. package/resources/global/en/agents/default/supervisor.md +22 -2
  142. package/resources/global/en/agents/expert/frontend-reviewer.md +0 -17
  143. package/resources/global/en/agents/expert/qa-reviewer.md +0 -16
  144. package/resources/global/en/agents/expert/security-reviewer.md +0 -16
  145. package/resources/global/en/agents/expert/supervisor.md +2 -0
  146. package/resources/global/en/agents/expert-cqrs/cqrs-es-reviewer.md +0 -17
  147. package/resources/global/en/agents/templates/coder.md +128 -0
  148. package/resources/global/en/agents/templates/planner.md +44 -0
  149. package/resources/global/en/agents/templates/reviewer.md +57 -0
  150. package/resources/global/en/agents/templates/supervisor.md +64 -0
  151. package/resources/global/en/workflows/default.yaml +232 -772
  152. package/resources/global/en/workflows/expert-cqrs.yaml +319 -698
  153. package/resources/global/en/workflows/expert.yaml +348 -723
  154. package/resources/global/en/workflows/magi.yaml +45 -52
  155. package/resources/global/en/workflows/research.yaml +18 -99
  156. package/resources/global/en/workflows/simple.yaml +152 -421
  157. package/resources/global/ja/agents/default/ai-antipattern-reviewer.md +84 -15
  158. package/resources/global/ja/agents/default/{architect.md → architecture-reviewer.md} +148 -48
  159. package/resources/global/ja/agents/default/coder.md +4 -4
  160. package/resources/global/ja/agents/default/planner.md +16 -9
  161. package/resources/global/ja/agents/default/{security.md → security-reviewer.md} +23 -5
  162. package/resources/global/ja/agents/default/supervisor.md +22 -2
  163. package/resources/global/ja/agents/expert/frontend-reviewer.md +0 -18
  164. package/resources/global/ja/agents/expert/qa-reviewer.md +0 -16
  165. package/resources/global/ja/agents/expert/security-reviewer.md +0 -16
  166. package/resources/global/ja/agents/expert/supervisor.md +2 -0
  167. package/resources/global/ja/agents/expert-cqrs/cqrs-es-reviewer.md +0 -18
  168. package/resources/global/ja/agents/templates/coder.md +128 -0
  169. package/resources/global/ja/agents/templates/planner.md +44 -0
  170. package/resources/global/ja/agents/templates/reviewer.md +57 -0
  171. package/resources/global/ja/agents/templates/supervisor.md +64 -0
  172. package/resources/global/ja/workflows/default.yaml +227 -773
  173. package/resources/global/ja/workflows/expert-cqrs.yaml +309 -833
  174. package/resources/global/ja/workflows/expert.yaml +325 -712
  175. package/resources/global/ja/workflows/magi.yaml +45 -52
  176. package/resources/global/ja/workflows/research.yaml +18 -99
  177. package/resources/global/ja/workflows/simple.yaml +145 -415
  178. package/dist/commands/help.d.ts +0 -8
  179. package/dist/commands/help.d.ts.map +0 -1
  180. package/dist/commands/help.js +0 -48
  181. package/dist/commands/help.js.map +0 -1
  182. package/dist/commands/refreshBuiltin.d.ts +0 -11
  183. package/dist/commands/refreshBuiltin.d.ts.map +0 -1
  184. package/dist/commands/refreshBuiltin.js +0 -37
  185. package/dist/commands/refreshBuiltin.js.map +0 -1
@@ -2,28 +2,36 @@
2
2
  # CQRS+ES、フロントエンド、セキュリティ、QAの専門家によるレビューワークフロー
3
3
  #
4
4
  # フロー:
5
- # plan -> implement -> architect_review -> cqrs_es_review -> frontend_review -> ai_review -> security_review -> qa_review -> supervise -> COMPLETE
6
- # ↓ ↓ ↓ ↓ ↓
7
- # fix_architect fix_cqrs_es fix_frontend ai_fix fix_security fix_qa fix_supervisor
5
+ # plan -> implement -> ai_review -> cqrs_es_review -> frontend_review -> security_review -> qa_review -> supervise -> COMPLETE
6
+ # ↓ ↓ ↓ ↓ ↓ ↓
7
+ # ai_fix fix_cqrs_es fix_frontend fix_security fix_qa fix_supervisor
8
8
  #
9
9
  # 修正時の戻り先はCoderが判断:
10
10
  # - fix_security: MINOR→security_review, MAJOR→cqrs_es_review
11
11
  # - fix_qa: MINOR→qa_review, SECURITY→security_review, MAJOR→cqrs_es_review
12
12
  #
13
- # テンプレート変数:
14
- # {iteration} - ワークフロー全体のターン数(全エージェントで実行されたステップの合計)
15
- # {max_iterations} - ワークフローの最大イテレーション数
16
- # {step_iteration} - ステップごとのイテレーション数(このステップが何回実行されたか)
17
- # {task} - 元のユーザー要求
18
- # {previous_response} - 前のステップの出力
19
- # {git_diff} - 現在のコミットされていない変更(git diff)
20
- # {user_inputs} - ワークフロー中に蓄積されたユーザー入力
21
- # {report_dir} - レポートディレクトリ名(例: "20250126-143052-task-summary")
13
+ # ボイラープレートセクション(Workflow Context, User Request, Previous Response,
14
+ # Additional User Inputs, Instructions heading)はbuildInstruction()が自動挿入。
15
+ # instruction_templateにはステップ固有の内容のみ記述。
16
+ #
17
+ # テンプレート変数(instruction_template内で使用可能):
18
+ # {iteration} - ワークフロー全体のターン数(全エージェントで実行されたステップの合計)
19
+ # {max_iterations} - ワークフローの最大イテレーション数
20
+ # {step_iteration} - ステップごとのイテレーション数(このステップが何回実行されたか)
21
+ # {previous_response} - 前のステップの出力(pass_previous_response: true の場合のみ)
22
+ # {report_dir} - レポートディレクトリ名(例: "20250126-143052-task-summary")
23
+ #
24
+ # ステップレベルフィールド:
25
+ # report: - ステップのレポートファイル(Workflow ContextにReport File/Filesとして自動挿入)
26
+ # 単一: report: 00-plan.md
27
+ # 複数: report:
28
+ # - Scope: 01-coder-scope.md
29
+ # - Decisions: 02-coder-decisions.md
22
30
 
23
31
  name: expert-cqrs
24
32
  description: CQRS+ES・フロントエンド・セキュリティ・QA専門家レビュー
25
33
 
26
- max_iterations: 20
34
+ max_iterations: 30
27
35
 
28
36
  initial_step: plan
29
37
 
@@ -32,7 +40,31 @@ steps:
32
40
  # Phase 0: Planning
33
41
  # ===========================================
34
42
  - name: plan
35
- agent: ~/.takt/agents/default/planner.md
43
+ edit: false
44
+ agent: ../agents/default/planner.md
45
+ report:
46
+ name: 00-plan.md
47
+ format: |
48
+ ```markdown
49
+ # タスク計画
50
+
51
+ ## 元の要求
52
+ {ユーザーの要求をそのまま記載}
53
+
54
+ ## 分析結果
55
+
56
+ ### 目的
57
+ {達成すべきこと}
58
+
59
+ ### スコープ
60
+ {影響範囲}
61
+
62
+ ### 実装アプローチ
63
+ {どう進めるか}
64
+
65
+ ## 確認事項(あれば)
66
+ - {不明点や確認が必要な点}
67
+ ```
36
68
  allowed_tools:
37
69
  - Read
38
70
  - Glob
@@ -41,30 +73,10 @@ steps:
41
73
  - Bash
42
74
  - WebSearch
43
75
  - WebFetch
44
- status_rules_prompt: |
45
-
46
-
47
- ## 出力フォーマット
48
-
49
- | 状況 | タグ |
50
- |------|------|
51
- | 分析完了 | `[PLANNER:DONE]` |
52
- | 要件不明確 | `[PLANNER:BLOCKED]` |
53
76
  instruction_template: |
54
- ## Workflow Context
55
- - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
56
- - Step Iteration: {step_iteration}(このステップの実行回数)
57
- - Step: plan (タスク分析)
58
- - Report Directory: .takt/reports/{report_dir}/
59
- - Report File: .takt/reports/{report_dir}/00-plan.md
60
-
61
- ## User Request
62
- {task}
63
-
64
77
  ## Previous Response (implementからの差し戻し時)
65
78
  {previous_response}
66
79
 
67
- ## Instructions
68
80
  タスクを分析し、実装方針を立ててください。
69
81
 
70
82
  **注意:** Previous Responseがある場合は差し戻しのため、
@@ -74,47 +86,22 @@ steps:
74
86
  1. タスクの要件を理解する
75
87
  2. 影響範囲を特定する
76
88
  3. 実装アプローチを決める
77
-
78
- **レポート出力:** 上記の `Report File` に出力してください。
79
- - ファイルが存在しない場合: 新規作成
80
- - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
81
-
82
- **レポートフォーマット:**
83
- ```markdown
84
- # タスク計画
85
-
86
- ## 元の要求
87
- {ユーザーの要求をそのまま記載}
88
-
89
- ## 分析結果
90
-
91
- ### 目的
92
- {達成すべきこと}
93
-
94
- ### スコープ
95
- {影響範囲}
96
-
97
- ### 実装アプローチ
98
- {どう進めるか}
99
-
100
- ## 確認事項(あれば)
101
- - {不明点や確認が必要な点}
102
- ```
103
-
104
- 完了したら [PLANNER:DONE] を出力。
105
- 要件が不明確な場合は [PLANNER:BLOCKED] を出力。
106
89
  pass_previous_response: true
107
- transitions:
108
- - condition: done
109
- next_step: implement
110
- - condition: blocked
111
- next_step: ABORT
90
+ rules:
91
+ - condition: タスク分析と計画が完了した
92
+ next: implement
93
+ - condition: 要件が不明確で計画を立てられない
94
+ next: ABORT
112
95
 
113
96
  # ===========================================
114
97
  # Phase 1: Implementation
115
98
  # ===========================================
116
99
  - name: implement
117
- agent: ~/.takt/agents/default/coder.md
100
+ edit: true
101
+ agent: ../agents/default/coder.md
102
+ report:
103
+ - Scope: 01-coder-scope.md
104
+ - Decisions: 02-coder-decisions.md
118
105
  allowed_tools:
119
106
  - Read
120
107
  - Glob
@@ -124,39 +111,10 @@ steps:
124
111
  - Bash
125
112
  - WebSearch
126
113
  - WebFetch
127
- status_rules_prompt: |
128
-
129
-
130
- ## 出力フォーマット
131
-
132
- | 状況 | タグ |
133
- |------|------|
134
- | 実装完了 | `[CODER:DONE]` |
135
- | 進行不可 | `[CODER:BLOCKED]` |
136
114
  instruction_template: |
137
- ## Workflow Context
138
- - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
139
- - Step Iteration: {step_iteration}(このステップの実行回数)
140
- - Step: implement
141
- - Report Directory: .takt/reports/{report_dir}/
142
- - Report Files:
143
- - Scope: .takt/reports/{report_dir}/01-coder-scope.md
144
- - Decisions: .takt/reports/{report_dir}/02-coder-decisions.md
145
-
146
- ## User Request
147
- {task}
148
-
149
- ## Additional User Inputs
150
- {user_inputs}
151
-
152
- ## Instructions
153
115
  planステップで立てた計画に従って実装してください。
154
116
  計画レポート(00-plan.md)を参照し、実装を進めてください。
155
117
 
156
- **レポート出力:** 上記の `Report Files` に出力してください。
157
- - ファイルが存在しない場合: 新規作成
158
- - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
159
-
160
118
  **Scopeレポートフォーマット(実装開始時に作成):**
161
119
  ```markdown
162
120
  # 変更スコープ宣言
@@ -186,20 +144,46 @@ steps:
186
144
  - **検討した選択肢**: {選択肢リスト}
187
145
  - **理由**: {選んだ理由}
188
146
  ```
189
-
190
- 完了時は [CODER:DONE] を含めてください。
191
- 進行できない場合は [CODER:BLOCKED] を出力し、planに戻ります。
192
- transitions:
193
- - condition: done
194
- next_step: architect_review
195
- - condition: blocked
196
- next_step: plan
147
+ rules:
148
+ - condition: 実装が完了した
149
+ next: ai_review
150
+ - condition: 実装を進行できない
151
+ next: plan
197
152
 
198
153
  # ===========================================
199
- # Phase 2: Architecture Review
154
+ # Phase 2: AI Review
200
155
  # ===========================================
201
- - name: architect_review
202
- agent: ~/.takt/agents/default/architect.md
156
+ - name: ai_review
157
+ edit: false
158
+ agent: ../agents/default/ai-antipattern-reviewer.md
159
+ report:
160
+ name: 03-ai-review.md
161
+ format: |
162
+ ```markdown
163
+ # AI生成コードレビュー
164
+
165
+ ## 結果: APPROVE / REJECT
166
+
167
+ ## サマリー
168
+ {1文で結果を要約}
169
+
170
+ ## 検証した項目
171
+ | 観点 | 結果 | 備考 |
172
+ |------|------|------|
173
+ | 仮定の妥当性 | ✅ | - |
174
+ | API/ライブラリの実在 | ✅ | - |
175
+ | コンテキスト適合 | ✅ | - |
176
+ | スコープ | ✅ | - |
177
+
178
+ ## 問題点(REJECTの場合)
179
+ | # | カテゴリ | 場所 | 問題 |
180
+ |---|---------|------|------|
181
+ | 1 | 幻覚API | `src/file.ts:23` | 存在しないメソッド |
182
+ ```
183
+
184
+ **認知負荷軽減ルール:**
185
+ - 問題なし → サマリー1文 + チェック表のみ(10行以内)
186
+ - 問題あり → + 問題を表形式で(25行以内)
203
187
  allowed_tools:
204
188
  - Read
205
189
  - Glob
@@ -207,98 +191,21 @@ steps:
207
191
  - Write
208
192
  - WebSearch
209
193
  - WebFetch
210
- status_rules_prompt: |
211
-
212
-
213
- ## 判定基準
214
-
215
- | 状況 | 判定 |
216
- |------|------|
217
- | 構造に問題がある | REJECT |
218
- | 設計原則違反がある | REJECT |
219
- | 呼び出しチェーンの配線漏れ | REJECT |
220
- | テストが不十分 | REJECT |
221
- | 改善すべき点がある(軽微) | IMPROVE |
222
- | 問題なし | APPROVE |
223
-
224
- ## 出力フォーマット
225
-
226
- | 状況 | タグ |
227
- |------|------|
228
- | 問題なし | `[ARCHITECT:APPROVE]` |
229
- | 軽微な改善必要 | `[ARCHITECT:IMPROVE]` |
230
- | 構造的な修正必要 | `[ARCHITECT:REJECT]` |
231
194
  instruction_template: |
232
- ## Workflow Context
233
- - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
234
- - Step Iteration: {step_iteration}(このステップの実行回数)
235
- - Step: architect_review (アーキテクチャレビュー)
236
- - Report Directory: .takt/reports/{report_dir}/
237
- - Report File: .takt/reports/{report_dir}/03-architect-review.md
238
-
239
- ## Original User Request (ワークフロー開始時の元の要求)
240
- {task}
241
-
242
- ## Git Diff
243
- ```diff
244
- {git_diff}
245
- ```
246
-
247
- ## Instructions
248
- **アーキテクチャと設計**のレビューに集中してください。
249
-
250
- **レビュー観点:**
251
- - 構造・設計の妥当性
252
- - コード品質
253
- - 変更スコープの適切性
254
- - テストカバレッジ
255
- - デッドコード
256
- - 呼び出しチェーン検証
257
-
258
- **レポート出力:** 上記の `Report File` に出力してください。
259
- - ファイルが存在しない場合: 新規作成
260
- - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
261
-
262
- **レポートフォーマット:**
263
- ```markdown
264
- # アーキテクチャレビュー
265
-
266
- ## 結果: APPROVE / IMPROVE / REJECT
267
-
268
- ## サマリー
269
- {1-2文で結果を要約}
270
-
271
- ## 確認した観点
272
- - [x] 構造・設計
273
- - [x] コード品質
274
- - [x] 変更スコープ
275
- - [x] テストカバレッジ
276
- - [x] デッドコード
277
- - [x] 呼び出しチェーン検証
278
-
279
- ## 問題点(REJECTの場合)
280
- | # | 場所 | 問題 | 修正案 |
281
- |---|------|------|--------|
282
- | 1 | `src/file.ts:42` | 問題の説明 | 修正方法 |
283
-
284
- ## 改善提案(任意・ブロッキングではない)
285
- - {将来的な改善提案}
286
- ```
195
+ AI特有の問題についてコードをレビューしてください:
196
+ - 仮定の検証
197
+ - もっともらしいが間違っているパターン
198
+ - 既存コードベースとの適合性
199
+ - スコープクリープの検出
200
+ rules:
201
+ - condition: AI特有の問題が見つからない
202
+ next: cqrs_es_review
203
+ - condition: AI特有の問題が検出された
204
+ next: ai_fix
287
205
 
288
- **認知負荷軽減ルール:**
289
- - APPROVE + 問題なし → サマリーのみ(5行以内)
290
- - APPROVE + 軽微な提案 → サマリー + 改善提案(15行以内)
291
- - REJECT → 問題点を表形式で(30行以内)
292
- transitions:
293
- - condition: approved
294
- next_step: cqrs_es_review
295
- - condition: improve
296
- next_step: fix_architect
297
- - condition: rejected
298
- next_step: fix_architect
299
-
300
- - name: fix_architect
301
- agent: ~/.takt/agents/default/coder.md
206
+ - name: ai_fix
207
+ edit: true
208
+ agent: ../agents/default/coder.md
302
209
  allowed_tools:
303
210
  - Read
304
211
  - Glob
@@ -308,50 +215,54 @@ steps:
308
215
  - Bash
309
216
  - WebSearch
310
217
  - WebFetch
311
- permission_mode: acceptEdits
312
- status_rules_prompt: |
313
-
314
-
315
- ## 出力フォーマット
316
-
317
- | 状況 | タグ |
318
- |------|------|
319
- | 修正完了 | `[CODER:DONE]` |
320
- | 進行不可 | `[CODER:BLOCKED]` |
321
218
  instruction_template: |
322
- ## Workflow Context
323
- - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
324
- - Step Iteration: {step_iteration}(このステップの実行回数)
325
- - Step: fix_architect
326
-
327
- ## Architect Feedback (これが最新の指示です - 優先して対応してください)
219
+ ## AI Review Feedback (これが最新の指示です - 優先して対応してください)
328
220
  {previous_response}
329
221
 
330
- ## Original User Request (ワークフロー開始時の元の要求 - 参考情報)
331
- {task}
332
-
333
- ## Additional User Inputs
334
- {user_inputs}
335
-
336
- ## Instructions
337
- **重要**: Architectのフィードバックに対応してください。
338
- 「Original User Request」は参考情報であり、最新の指示ではありません。
339
- セッションの会話履歴を確認し、Architectの指摘事項を修正してください。
340
-
341
- 完了時は [CODER:DONE] を含めてください。
342
- 進行できない場合は [CODER:BLOCKED] を含めてください。
222
+ **重要**: AI Reviewerのフィードバックに対応してください。
223
+ 以下に集中してください:
224
+ - 間違った仮定の修正
225
+ - もっともらしいが間違っている実装の修正
226
+ - 既存コードベースのパターンとの整合
227
+ - スコープクリープの除去
343
228
  pass_previous_response: true
344
- transitions:
345
- - condition: done
346
- next_step: architect_review
347
- - condition: blocked
348
- next_step: plan
229
+ rules:
230
+ - condition: AI Reviewerの指摘に対する修正が完了した
231
+ next: ai_review
232
+ - condition: 修正を進行できない
233
+ next: plan
349
234
 
350
235
  # ===========================================
351
236
  # Phase 3: CQRS+ES Review
352
237
  # ===========================================
353
238
  - name: cqrs_es_review
354
- agent: ~/.takt/agents/expert-cqrs/cqrs-es-reviewer.md
239
+ edit: false
240
+ agent: ../agents/expert-cqrs/cqrs-es-reviewer.md
241
+ report:
242
+ name: 04-cqrs-es-review.md
243
+ format: |
244
+ ```markdown
245
+ # CQRS+ESレビュー
246
+
247
+ ## 結果: APPROVE / REJECT
248
+
249
+ ## サマリー
250
+ {1-2文で結果を要約}
251
+
252
+ ## 確認した観点
253
+ | 観点 | 結果 | 備考 |
254
+ |------|------|------|
255
+ | Aggregate設計 | ✅ | - |
256
+ | イベント設計 | ✅ | - |
257
+ | Command/Query分離 | ✅ | - |
258
+ | プロジェクション | ✅ | - |
259
+ | 結果整合性 | ✅ | - |
260
+
261
+ ## 問題点(REJECTの場合)
262
+ | # | 場所 | 問題 | 修正案 |
263
+ |---|------|------|--------|
264
+ | 1 | `src/file.ts:42` | 問題の説明 | 修正方法 |
265
+ ```
355
266
  allowed_tools:
356
267
  - Read
357
268
  - Glob
@@ -359,32 +270,7 @@ steps:
359
270
  - Write
360
271
  - WebSearch
361
272
  - WebFetch
362
- status_rules_prompt: |
363
-
364
-
365
- ## 出力フォーマット
366
-
367
- | 状況 | タグ |
368
- |------|------|
369
- | 設計に問題なし | `[CQRS-ES:APPROVE]` |
370
- | 設計に問題あり | `[CQRS-ES:REJECT]` |
371
273
  instruction_template: |
372
- ## Workflow Context
373
- - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
374
- - Step Iteration: {step_iteration}(このステップの実行回数)
375
- - Step: cqrs_es_review (CQRS+ES専門レビュー)
376
- - Report Directory: .takt/reports/{report_dir}/
377
- - Report File: .takt/reports/{report_dir}/04-cqrs-es-review.md
378
-
379
- ## Original User Request
380
- {task}
381
-
382
- ## Git Diff
383
- ```diff
384
- {git_diff}
385
- ```
386
-
387
- ## Instructions
388
274
  CQRS(コマンドクエリ責務分離)とEvent Sourcing(イベントソーシング)の観点から
389
275
  上記の変更をレビューしてください。
390
276
 
@@ -397,46 +283,15 @@ steps:
397
283
 
398
284
  **注意**: このプロジェクトがCQRS+ESパターンを使用していない場合は、
399
285
  一般的なドメイン設計の観点からレビューしてください。
400
-
401
- **レポート出力:** 上記の `Report File` に出力してください。
402
- - ファイルが存在しない場合: 新規作成
403
- - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
404
-
405
- **レポートフォーマット:**
406
- ```markdown
407
- # CQRS+ESレビュー
408
-
409
- ## 結果: APPROVE / REJECT
410
-
411
- ## サマリー
412
- {1-2文で結果を要約}
413
-
414
- ## 確認した観点
415
- | 観点 | 結果 | 備考 |
416
- |------|------|------|
417
- | Aggregate設計 | ✅ | - |
418
- | イベント設計 | ✅ | - |
419
- | Command/Query分離 | ✅ | - |
420
- | プロジェクション | ✅ | - |
421
- | 結果整合性 | ✅ | - |
422
-
423
- ## 問題点(REJECTの場合)
424
- | # | 場所 | 問題 | 修正案 |
425
- |---|------|------|--------|
426
- | 1 | `src/file.ts:42` | 問題の説明 | 修正方法 |
427
- ```
428
-
429
- Include:
430
- - [CQRS-ES:APPROVE] if CQRS+ES design is sound
431
- - [CQRS-ES:REJECT] if design issues found (list specific issues)
432
- transitions:
433
- - condition: approved
434
- next_step: frontend_review
435
- - condition: rejected
436
- next_step: fix_cqrs_es
286
+ rules:
287
+ - condition: CQRS+ES設計に問題がない
288
+ next: frontend_review
289
+ - condition: CQRS+ES設計に問題がある
290
+ next: fix_cqrs_es
437
291
 
438
292
  - name: fix_cqrs_es
439
- agent: ~/.takt/agents/default/coder.md
293
+ edit: true
294
+ agent: ../agents/default/coder.md
440
295
  allowed_tools:
441
296
  - Read
442
297
  - Glob
@@ -446,31 +301,10 @@ steps:
446
301
  - Bash
447
302
  - WebSearch
448
303
  - WebFetch
449
- status_rules_prompt: |
450
-
451
-
452
- ## 出力フォーマット
453
-
454
- | 状況 | タグ |
455
- |------|------|
456
- | 修正完了 | `[CODER:DONE]` |
457
- | 進行不可 | `[CODER:BLOCKED]` |
458
304
  instruction_template: |
459
- ## Workflow Context
460
- - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
461
- - Step Iteration: {step_iteration}(このステップの実行回数)
462
- - Step: fix_cqrs_es
463
-
464
305
  ## CQRS+ES Review Feedback (これが最新の指示です - 優先して対応してください)
465
306
  {previous_response}
466
307
 
467
- ## Original User Request (ワークフロー開始時の元の要求 - 参考情報)
468
- {task}
469
-
470
- ## Additional User Inputs
471
- {user_inputs}
472
-
473
- ## Instructions
474
308
  **重要**: CQRS+ES専門家からの指摘を修正してください。
475
309
 
476
310
  指摘されたポイント:
@@ -479,21 +313,44 @@ steps:
479
313
  - Command/Query分離
480
314
  - プロジェクション
481
315
  - 結果整合性
482
-
483
- 完了時は [CODER:DONE] を含めてください。
484
- 進行できない場合は [CODER:BLOCKED] を含めてください。
485
316
  pass_previous_response: true
486
- transitions:
487
- - condition: done
488
- next_step: cqrs_es_review
489
- - condition: blocked
490
- next_step: plan
317
+ rules:
318
+ - condition: CQRS+ES専門家の指摘に対する修正が完了した
319
+ next: cqrs_es_review
320
+ - condition: 修正を進行できない
321
+ next: plan
491
322
 
492
323
  # ===========================================
493
- # Phase 3: Frontend Review
324
+ # Phase 4: Frontend Review
494
325
  # ===========================================
495
326
  - name: frontend_review
496
- agent: ~/.takt/agents/expert/frontend-reviewer.md
327
+ edit: false
328
+ agent: ../agents/expert/frontend-reviewer.md
329
+ report:
330
+ name: 05-frontend-review.md
331
+ format: |
332
+ ```markdown
333
+ # フロントエンドレビュー
334
+
335
+ ## 結果: APPROVE / REJECT
336
+
337
+ ## サマリー
338
+ {1-2文で結果を要約}
339
+
340
+ ## 確認した観点
341
+ | 観点 | 結果 | 備考 |
342
+ |------|------|------|
343
+ | コンポーネント設計 | ✅ | - |
344
+ | 状態管理 | ✅ | - |
345
+ | パフォーマンス | ✅ | - |
346
+ | アクセシビリティ | ✅ | - |
347
+ | 型安全性 | ✅ | - |
348
+
349
+ ## 問題点(REJECTの場合)
350
+ | # | 場所 | 問題 | 修正案 |
351
+ |---|------|------|--------|
352
+ | 1 | `src/file.tsx:42` | 問題の説明 | 修正方法 |
353
+ ```
497
354
  allowed_tools:
498
355
  - Read
499
356
  - Glob
@@ -501,32 +358,7 @@ steps:
501
358
  - Write
502
359
  - WebSearch
503
360
  - WebFetch
504
- status_rules_prompt: |
505
-
506
-
507
- ## 出力フォーマット
508
-
509
- | 状況 | タグ |
510
- |------|------|
511
- | フロントエンド設計に問題なし | `[FRONTEND:APPROVE]` |
512
- | フロントエンド設計に問題あり | `[FRONTEND:REJECT]` |
513
361
  instruction_template: |
514
- ## Workflow Context
515
- - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
516
- - Step Iteration: {step_iteration}(このステップの実行回数)
517
- - Step: frontend_review (フロントエンド専門レビュー)
518
- - Report Directory: .takt/reports/{report_dir}/
519
- - Report File: .takt/reports/{report_dir}/05-frontend-review.md
520
-
521
- ## Original User Request
522
- {task}
523
-
524
- ## Git Diff
525
- ```diff
526
- {git_diff}
527
- ```
528
-
529
- ## Instructions
530
362
  フロントエンド開発の観点から上記の変更をレビューしてください。
531
363
 
532
364
  **レビュー観点:**
@@ -538,47 +370,16 @@ steps:
538
370
  - TypeScript型安全性
539
371
 
540
372
  **注意**: このプロジェクトがフロントエンドを含まない場合は、
541
- [FRONTEND:APPROVE] として次に進んでください。
542
-
543
- **レポート出力:** 上記の `Report File` に出力してください。
544
- - ファイルが存在しない場合: 新規作成
545
- - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
546
-
547
- **レポートフォーマット:**
548
- ```markdown
549
- # フロントエンドレビュー
550
-
551
- ## 結果: APPROVE / REJECT
552
-
553
- ## サマリー
554
- {1-2文で結果を要約}
555
-
556
- ## 確認した観点
557
- | 観点 | 結果 | 備考 |
558
- |------|------|------|
559
- | コンポーネント設計 | ✅ | - |
560
- | 状態管理 | ✅ | - |
561
- | パフォーマンス | ✅ | - |
562
- | アクセシビリティ | ✅ | - |
563
- | 型安全性 | ✅ | - |
564
-
565
- ## 問題点(REJECTの場合)
566
- | # | 場所 | 問題 | 修正案 |
567
- |---|------|------|--------|
568
- | 1 | `src/file.tsx:42` | 問題の説明 | 修正方法 |
569
- ```
570
-
571
- Include:
572
- - [FRONTEND:APPROVE] if frontend design is sound
573
- - [FRONTEND:REJECT] if design issues found (list specific issues)
574
- transitions:
575
- - condition: approved
576
- next_step: ai_review
577
- - condition: rejected
578
- next_step: fix_frontend
373
+ 問題なしとして次に進んでください。
374
+ rules:
375
+ - condition: フロントエンド設計に問題がない
376
+ next: security_review
377
+ - condition: フロントエンド設計に問題がある
378
+ next: fix_frontend
579
379
 
580
380
  - name: fix_frontend
581
- agent: ~/.takt/agents/default/coder.md
381
+ edit: true
382
+ agent: ../agents/default/coder.md
582
383
  allowed_tools:
583
384
  - Read
584
385
  - Glob
@@ -588,31 +389,10 @@ steps:
588
389
  - Bash
589
390
  - WebSearch
590
391
  - WebFetch
591
- status_rules_prompt: |
592
-
593
-
594
- ## 出力フォーマット
595
-
596
- | 状況 | タグ |
597
- |------|------|
598
- | 修正完了 | `[CODER:DONE]` |
599
- | 進行不可 | `[CODER:BLOCKED]` |
600
392
  instruction_template: |
601
- ## Workflow Context
602
- - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
603
- - Step Iteration: {step_iteration}(このステップの実行回数)
604
- - Step: fix_frontend
605
-
606
393
  ## Frontend Review Feedback (これが最新の指示です - 優先して対応してください)
607
394
  {previous_response}
608
395
 
609
- ## Original User Request (ワークフロー開始時の元の要求 - 参考情報)
610
- {task}
611
-
612
- ## Additional User Inputs
613
- {user_inputs}
614
-
615
- ## Instructions
616
396
  **重要**: フロントエンド専門家からの指摘を修正してください。
617
397
 
618
398
  指摘されたポイント:
@@ -621,157 +401,45 @@ steps:
621
401
  - パフォーマンス
622
402
  - アクセシビリティ
623
403
  - 型安全性
624
-
625
- 完了時は [CODER:DONE] を含めてください。
626
- 進行できない場合は [CODER:BLOCKED] を含めてください。
627
- pass_previous_response: true
628
- transitions:
629
- - condition: done
630
- next_step: frontend_review
631
- - condition: blocked
632
- next_step: plan
633
-
634
- # ===========================================
635
- # Phase 4: AI Review
636
- # ===========================================
637
- - name: ai_review
638
- agent: ~/.takt/agents/default/ai-antipattern-reviewer.md
639
- allowed_tools:
640
- - Read
641
- - Glob
642
- - Grep
643
- - Write
644
- - WebSearch
645
- - WebFetch
646
- status_rules_prompt: |
647
-
648
-
649
- ## 出力フォーマット
650
-
651
- | 状況 | タグ |
652
- |------|------|
653
- | AI特有の問題なし | `[AI_REVIEW:APPROVE]` |
654
- | 問題あり | `[AI_REVIEW:REJECT]` |
655
- instruction_template: |
656
- ## Workflow Context
657
- - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
658
- - Step Iteration: {step_iteration}(このステップの実行回数)
659
- - Step: ai_review (AI生成コードレビュー)
660
- - Report Directory: .takt/reports/{report_dir}/
661
- - Report File: .takt/reports/{report_dir}/06-ai-review.md
662
-
663
- ## Original User Request (ワークフロー開始時の元の要求)
664
- {task}
665
-
666
- ## Git Diff
667
- ```diff
668
- {git_diff}
669
- ```
670
-
671
- ## Instructions
672
- AI特有の問題についてコードをレビューしてください:
673
- - 仮定の検証
674
- - もっともらしいが間違っているパターン
675
- - 既存コードベースとの適合性
676
- - スコープクリープの検出
677
-
678
- **レポート出力:** 上記の `Report File` に出力してください。
679
- - ファイルが存在しない場合: 新規作成
680
- - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
681
-
682
- **レポートフォーマット:**
683
- ```markdown
684
- # AI生成コードレビュー
685
-
686
- ## 結果: APPROVE / REJECT
687
-
688
- ## サマリー
689
- {1文で結果を要約}
690
-
691
- ## 検証した項目
692
- | 観点 | 結果 | 備考 |
693
- |------|------|------|
694
- | 仮定の妥当性 | ✅ | - |
695
- | API/ライブラリの実在 | ✅ | - |
696
- | コンテキスト適合 | ✅ | - |
697
- | スコープ | ✅ | - |
698
-
699
- ## 問題点(REJECTの場合)
700
- | # | カテゴリ | 場所 | 問題 |
701
- |---|---------|------|------|
702
- | 1 | 幻覚API | `src/file.ts:23` | 存在しないメソッド |
703
- ```
704
-
705
- **認知負荷軽減ルール:**
706
- - 問題なし → サマリー1文 + チェック表のみ(10行以内)
707
- - 問題あり → + 問題を表形式で(25行以内)
708
-
709
- 以下を含めてください:
710
- - [AI_REVIEW:APPROVE] AI特有の問題が見つからない場合
711
- - [AI_REVIEW:REJECT] 問題が検出された場合(具体的な問題をリスト)
712
- transitions:
713
- - condition: approved
714
- next_step: security_review
715
- - condition: rejected
716
- next_step: ai_fix
717
-
718
- - name: ai_fix
719
- agent: ~/.takt/agents/default/coder.md
720
- allowed_tools:
721
- - Read
722
- - Glob
723
- - Grep
724
- - Edit
725
- - Write
726
- - Bash
727
- - WebSearch
728
- - WebFetch
729
- status_rules_prompt: |
730
-
731
-
732
- ## 出力フォーマット
733
-
734
- | 状況 | タグ |
735
- |------|------|
736
- | 修正完了 | `[CODER:DONE]` |
737
- | 進行不可 | `[CODER:BLOCKED]` |
738
- instruction_template: |
739
- ## Workflow Context
740
- - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
741
- - Step Iteration: {step_iteration}(このステップの実行回数)
742
- - Step: ai_fix
743
-
744
- ## AI Review Feedback (これが最新の指示です - 優先して対応してください)
745
- {previous_response}
746
-
747
- ## Original User Request (ワークフロー開始時の元の要求 - 参考情報)
748
- {task}
749
-
750
- ## Additional User Inputs
751
- {user_inputs}
752
-
753
- ## Instructions
754
- **重要**: AI Reviewerのフィードバックに対応してください。
755
- 以下に集中してください:
756
- - 間違った仮定の修正
757
- - もっともらしいが間違っている実装の修正
758
- - 既存コードベースのパターンとの整合
759
- - スコープクリープの除去
760
-
761
- 完了時は [CODER:DONE] を含めてください。
762
- 進行できない場合は [CODER:BLOCKED] を含めてください。
763
404
  pass_previous_response: true
764
- transitions:
765
- - condition: done
766
- next_step: ai_review
767
- - condition: blocked
768
- next_step: plan
405
+ rules:
406
+ - condition: フロントエンドの指摘に対する修正が完了した
407
+ next: frontend_review
408
+ - condition: 修正を進行できない
409
+ next: plan
769
410
 
770
411
  # ===========================================
771
412
  # Phase 5: Security Review
772
413
  # ===========================================
773
414
  - name: security_review
774
- agent: ~/.takt/agents/expert/security-reviewer.md
415
+ edit: false
416
+ agent: ../agents/expert/security-reviewer.md
417
+ report:
418
+ name: 06-security-review.md
419
+ format: |
420
+ ```markdown
421
+ # セキュリティレビュー
422
+
423
+ ## 結果: APPROVE / REJECT
424
+
425
+ ## 重大度: None / Low / Medium / High / Critical
426
+
427
+ ## チェック結果
428
+ | カテゴリ | 結果 | 備考 |
429
+ |---------|------|------|
430
+ | インジェクション | ✅ | - |
431
+ | 認証・認可 | ✅ | - |
432
+ | データ保護 | ✅ | - |
433
+ | 依存関係 | ✅ | - |
434
+
435
+ ## 脆弱性(REJECTの場合)
436
+ | # | 重大度 | 種類 | 場所 | 修正案 |
437
+ |---|--------|------|------|--------|
438
+ | 1 | High | SQLi | `src/db.ts:42` | パラメータ化クエリを使用 |
439
+
440
+ ## 警告(ブロッキングではない)
441
+ - {セキュリティに関する推奨事項}
442
+ ```
775
443
  allowed_tools:
776
444
  - Read
777
445
  - Glob
@@ -779,32 +447,7 @@ steps:
779
447
  - Write
780
448
  - WebSearch
781
449
  - WebFetch
782
- status_rules_prompt: |
783
-
784
-
785
- ## 出力フォーマット
786
-
787
- | 状況 | タグ |
788
- |------|------|
789
- | セキュリティ問題なし | `[SECURITY:APPROVE]` |
790
- | 脆弱性あり | `[SECURITY:REJECT]` |
791
450
  instruction_template: |
792
- ## Workflow Context
793
- - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
794
- - Step Iteration: {step_iteration}(このステップの実行回数)
795
- - Step: security_review (セキュリティ専門レビュー)
796
- - Report Directory: .takt/reports/{report_dir}/
797
- - Report File: .takt/reports/{report_dir}/07-security-review.md
798
-
799
- ## Original User Request
800
- {task}
801
-
802
- ## Git Diff
803
- ```diff
804
- {git_diff}
805
- ```
806
-
807
- ## Instructions
808
451
  セキュリティの観点から上記の変更をレビューしてください。
809
452
 
810
453
  **レビュー観点:**
@@ -813,47 +456,15 @@ steps:
813
456
  - 機密情報の取り扱い
814
457
  - 暗号化の適切性
815
458
  - OWASP Top 10
816
-
817
- **レポート出力:** 上記の `Report File` に出力してください。
818
- - ファイルが存在しない場合: 新規作成
819
- - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
820
-
821
- **レポートフォーマット:**
822
- ```markdown
823
- # セキュリティレビュー
824
-
825
- ## 結果: APPROVE / REJECT
826
-
827
- ## 重大度: None / Low / Medium / High / Critical
828
-
829
- ## チェック結果
830
- | カテゴリ | 結果 | 備考 |
831
- |---------|------|------|
832
- | インジェクション | ✅ | - |
833
- | 認証・認可 | ✅ | - |
834
- | データ保護 | ✅ | - |
835
- | 依存関係 | ✅ | - |
836
-
837
- ## 脆弱性(REJECTの場合)
838
- | # | 重大度 | 種類 | 場所 | 修正案 |
839
- |---|--------|------|------|--------|
840
- | 1 | High | SQLi | `src/db.ts:42` | パラメータ化クエリを使用 |
841
-
842
- ## 警告(ブロッキングではない)
843
- - {セキュリティに関する推奨事項}
844
- ```
845
-
846
- Include:
847
- - [SECURITY:APPROVE] if no security issues found
848
- - [SECURITY:REJECT] if vulnerabilities found (list specific issues with severity)
849
- transitions:
850
- - condition: approved
851
- next_step: qa_review
852
- - condition: rejected
853
- next_step: fix_security
459
+ rules:
460
+ - condition: セキュリティ上の問題がない
461
+ next: qa_review
462
+ - condition: セキュリティ上の脆弱性が検出された
463
+ next: fix_security
854
464
 
855
465
  - name: fix_security
856
- agent: ~/.takt/agents/default/coder.md
466
+ edit: true
467
+ agent: ../agents/default/coder.md
857
468
  allowed_tools:
858
469
  - Read
859
470
  - Glob
@@ -863,32 +474,10 @@ steps:
863
474
  - Bash
864
475
  - WebSearch
865
476
  - WebFetch
866
- status_rules_prompt: |
867
-
868
-
869
- ## 出力フォーマット
870
-
871
- | 状況 | タグ |
872
- |------|------|
873
- | 軽微な修正完了 | `[CODER:DONE]` |
874
- | 大きな修正(CQRS+ESからやり直し) | `[CODER:REJECT]` |
875
- | 進行不可 | `[CODER:BLOCKED]` |
876
477
  instruction_template: |
877
- ## Workflow Context
878
- - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
879
- - Step Iteration: {step_iteration}(このステップの実行回数)
880
- - Step: fix_security
881
-
882
478
  ## Security Review Feedback (これが最新の指示です - 優先して対応してください)
883
479
  {previous_response}
884
480
 
885
- ## Original User Request (ワークフロー開始時の元の要求 - 参考情報)
886
- {task}
887
-
888
- ## Additional User Inputs
889
- {user_inputs}
890
-
891
- ## Instructions
892
481
  **重要**: セキュリティ専門家からの指摘を修正してください。
893
482
  セキュリティ問題は最優先で対応してください。
894
483
 
@@ -899,28 +488,52 @@ steps:
899
488
  - 暗号化の問題
900
489
 
901
490
  ## 修正完了時の判断
902
- 修正が完了したら、**変更の影響範囲**を判断して適切なタグを出力してください:
491
+ 修正が完了したら、**変更の影響範囲**を判断してください:
903
492
 
904
- - `[CODER:DONE]` - 軽微な修正(セキュリティレビューのみ再実施)
493
+ - 軽微な修正(セキュリティレビューのみ再実施)
905
494
  - 例: バリデーション追加、エスケープ処理追加、設定変更
906
- - `[CODER:REJECT]` - 大きな修正(CQRS+ESレビューからやり直し)
495
+ - 大きな修正(CQRS+ESレビューからやり直し)
907
496
  - 例: データフロー変更、API設計変更、認証方式変更、ドメインモデル変更
908
-
909
- 進行できない場合は [CODER:BLOCKED] を含めてください。
910
497
  pass_previous_response: true
911
- transitions:
912
- - condition: done
913
- next_step: security_review
914
- - condition: rejected
915
- next_step: cqrs_es_review
916
- - condition: blocked
917
- next_step: plan
498
+ rules:
499
+ - condition: 軽微なセキュリティ修正が完了した
500
+ next: security_review
501
+ - condition: 大きな修正を行い、CQRS+ESレビューからやり直す必要がある
502
+ next: cqrs_es_review
503
+ - condition: 修正を進行できない
504
+ next: plan
918
505
 
919
506
  # ===========================================
920
507
  # Phase 6: QA Review
921
508
  # ===========================================
922
509
  - name: qa_review
923
- agent: ~/.takt/agents/expert/qa-reviewer.md
510
+ edit: false
511
+ agent: ../agents/expert/qa-reviewer.md
512
+ report:
513
+ name: 07-qa-review.md
514
+ format: |
515
+ ```markdown
516
+ # QAレビュー
517
+
518
+ ## 結果: APPROVE / REJECT
519
+
520
+ ## サマリー
521
+ {1-2文で結果を要約}
522
+
523
+ ## 確認した観点
524
+ | 観点 | 結果 | 備考 |
525
+ |------|------|------|
526
+ | テストカバレッジ | ✅ | - |
527
+ | テスト品質 | ✅ | - |
528
+ | エラーハンドリング | ✅ | - |
529
+ | ドキュメント | ✅ | - |
530
+ | 保守性 | ✅ | - |
531
+
532
+ ## 問題点(REJECTの場合)
533
+ | # | カテゴリ | 問題 | 修正案 |
534
+ |---|---------|------|--------|
535
+ | 1 | テスト | 問題の説明 | 修正方法 |
536
+ ```
924
537
  allowed_tools:
925
538
  - Read
926
539
  - Glob
@@ -928,32 +541,7 @@ steps:
928
541
  - Write
929
542
  - WebSearch
930
543
  - WebFetch
931
- status_rules_prompt: |
932
-
933
-
934
- ## 出力フォーマット
935
-
936
- | 状況 | タグ |
937
- |------|------|
938
- | 品質基準を満たす | `[QA:APPROVE]` |
939
- | 品質問題あり | `[QA:REJECT]` |
940
544
  instruction_template: |
941
- ## Workflow Context
942
- - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
943
- - Step Iteration: {step_iteration}(このステップの実行回数)
944
- - Step: qa_review (QA専門レビュー)
945
- - Report Directory: .takt/reports/{report_dir}/
946
- - Report File: .takt/reports/{report_dir}/08-qa-review.md
947
-
948
- ## Original User Request
949
- {task}
950
-
951
- ## Git Diff
952
- ```diff
953
- {git_diff}
954
- ```
955
-
956
- ## Instructions
957
545
  品質保証の観点から上記の変更をレビューしてください。
958
546
 
959
547
  **レビュー観点:**
@@ -963,46 +551,15 @@ steps:
963
551
  - エラーハンドリング
964
552
  - ログとモニタリング
965
553
  - 保守性
966
-
967
- **レポート出力:** 上記の `Report File` に出力してください。
968
- - ファイルが存在しない場合: 新規作成
969
- - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
970
-
971
- **レポートフォーマット:**
972
- ```markdown
973
- # QAレビュー
974
-
975
- ## 結果: APPROVE / REJECT
976
-
977
- ## サマリー
978
- {1-2文で結果を要約}
979
-
980
- ## 確認した観点
981
- | 観点 | 結果 | 備考 |
982
- |------|------|------|
983
- | テストカバレッジ | ✅ | - |
984
- | テスト品質 | ✅ | - |
985
- | エラーハンドリング | ✅ | - |
986
- | ドキュメント | ✅ | - |
987
- | 保守性 | ✅ | - |
988
-
989
- ## 問題点(REJECTの場合)
990
- | # | カテゴリ | 問題 | 修正案 |
991
- |---|---------|------|--------|
992
- | 1 | テスト | 問題の説明 | 修正方法 |
993
- ```
994
-
995
- Include:
996
- - [QA:APPROVE] if quality standards are met
997
- - [QA:REJECT] if quality issues found (list specific issues)
998
- transitions:
999
- - condition: approved
1000
- next_step: supervise
1001
- - condition: rejected
1002
- next_step: fix_qa
554
+ rules:
555
+ - condition: 品質基準を満たしている
556
+ next: supervise
557
+ - condition: 品質に問題がある
558
+ next: fix_qa
1003
559
 
1004
560
  - name: fix_qa
1005
- agent: ~/.takt/agents/default/coder.md
561
+ edit: true
562
+ agent: ../agents/default/coder.md
1006
563
  allowed_tools:
1007
564
  - Read
1008
565
  - Glob
@@ -1012,33 +569,10 @@ steps:
1012
569
  - Bash
1013
570
  - WebSearch
1014
571
  - WebFetch
1015
- status_rules_prompt: |
1016
-
1017
-
1018
- ## 出力フォーマット
1019
-
1020
- | 状況 | タグ |
1021
- |------|------|
1022
- | 軽微な修正完了 | `[CODER:DONE]` |
1023
- | セキュリティ影響あり | `[CODER:IMPROVE]` |
1024
- | 大きな修正(CQRS+ESからやり直し) | `[CODER:REJECT]` |
1025
- | 進行不可 | `[CODER:BLOCKED]` |
1026
572
  instruction_template: |
1027
- ## Workflow Context
1028
- - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
1029
- - Step Iteration: {step_iteration}(このステップの実行回数)
1030
- - Step: fix_qa
1031
-
1032
573
  ## QA Review Feedback (これが最新の指示です - 優先して対応してください)
1033
574
  {previous_response}
1034
575
 
1035
- ## Original User Request (ワークフロー開始時の元の要求 - 参考情報)
1036
- {task}
1037
-
1038
- ## Additional User Inputs
1039
- {user_inputs}
1040
-
1041
- ## Instructions
1042
576
  **重要**: QA専門家からの指摘を修正してください。
1043
577
 
1044
578
  指摘されたポイント:
@@ -1049,32 +583,34 @@ steps:
1049
583
  - コード品質
1050
584
 
1051
585
  ## 修正完了時の判断
1052
- 修正が完了したら、**変更の影響範囲**を判断して適切なタグを出力してください:
586
+ 修正が完了したら、**変更の影響範囲**を判断してください:
1053
587
 
1054
- - `[CODER:DONE]` - 軽微な修正(QAレビューのみ再実施)
588
+ - 軽微な修正(QAレビューのみ再実施)
1055
589
  - 例: テスト追加、ドキュメント追加、ログ追加、コメント追加
1056
- - `[CODER:IMPROVE]` - セキュリティに影響する修正(セキュリティレビューからやり直し)
590
+ - セキュリティに影響する修正(セキュリティレビューからやり直し)
1057
591
  - 例: エラーハンドリング変更(エラーメッセージの内容変更)、入力検証の変更
1058
- - `[CODER:REJECT]` - 大きな修正(CQRS+ESレビューからやり直し)
592
+ - 大きな修正(CQRS+ESレビューからやり直し)
1059
593
  - 例: ビジネスロジック変更、データモデル変更、API変更
1060
-
1061
- 進行できない場合は [CODER:BLOCKED] を含めてください。
1062
594
  pass_previous_response: true
1063
- transitions:
1064
- - condition: done
1065
- next_step: qa_review
1066
- - condition: improve
1067
- next_step: security_review
1068
- - condition: rejected
1069
- next_step: cqrs_es_review
1070
- - condition: blocked
1071
- next_step: plan
595
+ rules:
596
+ - condition: 軽微なQA修正が完了した
597
+ next: qa_review
598
+ - condition: セキュリティに影響する修正を行った
599
+ next: security_review
600
+ - condition: 大きな修正を行い、CQRS+ESレビューからやり直す必要がある
601
+ next: cqrs_es_review
602
+ - condition: 修正を進行できない
603
+ next: plan
1072
604
 
1073
605
  # ===========================================
1074
606
  # Phase 7: Supervision
1075
607
  # ===========================================
1076
608
  - name: supervise
1077
- agent: ~/.takt/agents/expert/supervisor.md
609
+ edit: false
610
+ agent: ../agents/expert/supervisor.md
611
+ report:
612
+ - Validation: 08-supervisor-validation.md
613
+ - Summary: summary.md
1078
614
  allowed_tools:
1079
615
  - Read
1080
616
  - Glob
@@ -1082,43 +618,15 @@ steps:
1082
618
  - Write
1083
619
  - WebSearch
1084
620
  - WebFetch
1085
- status_rules_prompt: |
1086
-
1087
-
1088
- ## 出力フォーマット
1089
-
1090
- | 状況 | タグ |
1091
- |------|------|
1092
- | 最終承認 | `[SUPERVISOR:APPROVE]` |
1093
- | 問題あり | `[SUPERVISOR:REJECT]` |
1094
621
  instruction_template: |
1095
- ## Workflow Context
1096
- - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
1097
- - Step Iteration: {step_iteration}(このステップの実行回数)
1098
- - Step: supervise (最終確認)
1099
- - Report Directory: .takt/reports/{report_dir}/
1100
- - Report Files:
1101
- - Validation: .takt/reports/{report_dir}/09-supervisor-validation.md
1102
- - Summary: .takt/reports/{report_dir}/summary.md
1103
-
1104
- ## Original User Request
1105
- {task}
1106
-
1107
- ## Git Diff
1108
- ```diff
1109
- {git_diff}
1110
- ```
1111
-
1112
622
  ## Previous Reviews Summary
1113
623
  このステップに到達したということは、以下のレビューがすべてAPPROVEされています:
1114
- - Architecture Review: APPROVED
624
+ - AI Review: APPROVED
1115
625
  - CQRS+ES Review: APPROVED
1116
626
  - Frontend Review: APPROVED
1117
- - AI Review: APPROVED
1118
627
  - Security Review: APPROVED
1119
628
  - QA Review: APPROVED
1120
629
 
1121
- ## Instructions
1122
630
  テスト実行、ビルド確認、最終承認を行ってください。
1123
631
 
1124
632
  **ワークフロー全体の確認:**
@@ -1129,10 +637,6 @@ steps:
1129
637
  **レポートの確認:** Report Directory内の全レポートを読み、
1130
638
  未対応の改善提案がないか確認してください。
1131
639
 
1132
- **レポート出力:** 上記の `Report Files` に出力してください。
1133
- - ファイルが存在しない場合: 新規作成
1134
- - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
1135
-
1136
640
  **Validationレポートフォーマット:**
1137
641
  ```markdown
1138
642
  # 最終検証結果
@@ -1175,10 +679,9 @@ steps:
1175
679
  ## レビュー結果
1176
680
  | レビュー | 結果 |
1177
681
  |---------|------|
1178
- | Architecture | ✅ APPROVE |
682
+ | AI Review | ✅ APPROVE |
1179
683
  | CQRS+ES | ✅ APPROVE |
1180
684
  | Frontend | ✅ APPROVE |
1181
- | AI Review | ✅ APPROVE |
1182
685
  | Security | ✅ APPROVE |
1183
686
  | QA | ✅ APPROVE |
1184
687
  | Supervisor | ✅ APPROVE |
@@ -1189,18 +692,15 @@ steps:
1189
692
  npm run build
1190
693
  ```
1191
694
  ```
1192
-
1193
- 出力:
1194
- - [SUPERVISOR:APPROVE] すべて完了、マージ可能
1195
- - [SUPERVISOR:REJECT] 問題あり(具体的な問題を記載)
1196
- transitions:
1197
- - condition: approved
1198
- next_step: COMPLETE
1199
- - condition: rejected
1200
- next_step: fix_supervisor
695
+ rules:
696
+ - condition: すべての検証が完了し、マージ可能な状態である
697
+ next: COMPLETE
698
+ - condition: 問題が検出された
699
+ next: fix_supervisor
1201
700
 
1202
701
  - name: fix_supervisor
1203
- agent: ~/.takt/agents/default/coder.md
702
+ edit: true
703
+ agent: ../agents/default/coder.md
1204
704
  allowed_tools:
1205
705
  - Read
1206
706
  - Glob
@@ -1210,41 +710,17 @@ steps:
1210
710
  - Bash
1211
711
  - WebSearch
1212
712
  - WebFetch
1213
- status_rules_prompt: |
1214
-
1215
-
1216
- ## 出力フォーマット
1217
-
1218
- | 状況 | タグ |
1219
- |------|------|
1220
- | 修正完了 | `[CODER:DONE]` |
1221
- | 進行不可 | `[CODER:BLOCKED]` |
1222
713
  instruction_template: |
1223
- ## Workflow Context
1224
- - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
1225
- - Step Iteration: {step_iteration}(このステップの実行回数)
1226
- - Step: fix_supervisor
1227
-
1228
714
  ## Supervisor Feedback (これが最新の指示です - 優先して対応してください)
1229
715
  {previous_response}
1230
716
 
1231
- ## Original User Request (ワークフロー開始時の元の要求 - 参考情報)
1232
- {task}
1233
-
1234
- ## Additional User Inputs
1235
- {user_inputs}
1236
-
1237
- ## Instructions
1238
717
  **重要**: 監督者からの指摘を修正してください。
1239
718
 
1240
719
  監督者は全体を俯瞰した視点から問題を指摘しています。
1241
720
  優先度の高い項目から順に対応してください。
1242
-
1243
- 完了時は [CODER:DONE] を含めてください。
1244
- 進行できない場合は [CODER:BLOCKED] を含めてください。
1245
721
  pass_previous_response: true
1246
- transitions:
1247
- - condition: done
1248
- next_step: supervise
1249
- - condition: blocked
1250
- next_step: plan
722
+ rules:
723
+ - condition: 監督者の指摘に対する修正が完了した
724
+ next: supervise
725
+ - condition: 修正を進行できない
726
+ next: plan