takt 0.2.2 → 0.3.0

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