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
@@ -1,19 +1,18 @@
1
1
  # Simple TAKT Workflow
2
- # Plan -> Coder -> Architect Review -> AI Review -> Supervisor Approval
2
+ # Plan -> Implement -> AI Review -> Architect Review -> Supervisor Approval
3
3
  # (defaultの簡略版 - improve, fix, ai_fix, security_review, security_fix を削除)
4
4
  #
5
- # Template Variables:
5
+ # Template Variables (auto-injected):
6
6
  # {iteration} - Workflow-wide turn count (total steps executed across all agents)
7
7
  # {max_iterations} - Maximum iterations allowed for the workflow
8
8
  # {step_iteration} - Per-step iteration count (how many times THIS step has been executed)
9
- # {task} - Original user request
10
- # {previous_response} - Output from the previous step
11
- # {git_diff} - Current uncommitted changes (git diff)
12
- # {user_inputs} - Accumulated user inputs during workflow
9
+ # {task} - Original user request (auto-injected)
10
+ # {previous_response} - Output from the previous step (auto-injected)
11
+ # {user_inputs} - Accumulated user inputs during workflow (auto-injected)
13
12
  # {report_dir} - Report directory name (e.g., "20250126-143052-task-summary")
14
13
 
15
14
  name: simple
16
- description: Simplified development workflow (plan -> implement -> review -> ai_review -> supervise)
15
+ description: Simplified development workflow (plan -> implement -> ai_review -> review -> supervise)
17
16
 
18
17
  max_iterations: 20
19
18
 
@@ -21,75 +20,45 @@ initial_step: plan
21
20
 
22
21
  steps:
23
22
  - name: plan
24
- agent: ~/.takt/agents/default/planner.md
23
+ edit: false
24
+ agent: ../agents/default/planner.md
25
+ report:
26
+ name: 00-plan.md
27
+ format: |
28
+ ```markdown
29
+ # タスク計画
30
+
31
+ ## 元の要求
32
+ {ユーザーの要求をそのまま記載}
33
+
34
+ ## 分析結果
35
+
36
+ ### 目的
37
+ {達成すべきこと}
38
+
39
+ ### スコープ
40
+ {影響範囲}
41
+
42
+ ### 実装アプローチ
43
+ {どう進めるか}
44
+
45
+ ## 確認事項(あれば)
46
+ - {不明点や確認が必要な点}
47
+ ```
25
48
  allowed_tools:
26
49
  - Read
27
50
  - Glob
28
51
  - Grep
52
+ - Write
29
53
  - Bash
30
54
  - WebSearch
31
55
  - WebFetch
32
- status_rules_prompt: |
33
- ## 判定基準
34
-
35
- | 状況 | 判定 |
36
- |------|------|
37
- | 要件が明確で実装可能 | DONE |
38
- | ユーザーが質問をしている(実装タスクではない) | ANSWER |
39
- | 要件が不明確、情報不足 | BLOCKED |
40
-
41
- ## 出力フォーマット
42
-
43
- | 状況 | タグ |
44
- |------|------|
45
- | 分析完了 | `[PLANNER:DONE]` |
46
- | 質問への回答 | `[PLANNER:ANSWER]` |
47
- | 情報不足 | `[PLANNER:BLOCKED]` |
48
-
49
- ### 出力例
50
-
51
- **DONE の場合:**
52
- ```
53
- [PLANNER:DONE]
54
- ```
55
-
56
- **ANSWER の場合:**
57
- ```
58
- {質問への回答}
59
-
60
- [PLANNER:ANSWER]
61
- ```
62
-
63
- **BLOCKED の場合:**
64
- ```
65
- [PLANNER:BLOCKED]
66
-
67
- 確認事項:
68
- - {質問1}
69
- - {質問2}
70
- ```
71
56
  instruction_template: |
72
- ## Workflow Context
73
- - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
74
- - Step Iteration: {step_iteration}(このステップの実行回数)
75
- - Step: plan (タスク分析)
76
- - Report Directory: .takt/reports/{report_dir}/
77
- - Report File: .takt/reports/{report_dir}/00-plan.md
78
-
79
- ## User Request
80
- {task}
81
-
82
57
  ## Previous Response (implementからの差し戻し時)
83
58
  {previous_response}
84
59
 
85
- ## Instructions
86
60
  タスクを分析し、実装方針を立ててください。
87
61
 
88
- **判断基準:**
89
- - ユーザーの入力が実装タスクの場合 → 計画を立てて `[PLANNER:DONE]`
90
- - ユーザーの入力が質問の場合 → 調査・回答して `[PLANNER:ANSWER]`
91
- - 情報不足の場合 → `[PLANNER:BLOCKED]`
92
-
93
62
  **注意:** Previous Responseがある場合は差し戻しのため、
94
63
  その内容を踏まえて計画を見直してください(replan)。
95
64
 
@@ -97,43 +66,25 @@ steps:
97
66
  1. タスクの要件を理解する
98
67
  2. 影響範囲を特定する
99
68
  3. 実装アプローチを決める
100
-
101
- **レポート出力:** 上記の `Report File` に出力してください。
102
- - ファイルが存在しない場合: 新規作成
103
- - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
104
-
105
- **レポートフォーマット:**
106
- ```markdown
107
- # タスク計画
108
-
109
- ## 元の要求
110
- {ユーザーの要求をそのまま記載}
111
-
112
- ## 分析結果
113
-
114
- ### 目的
115
- {達成すべきこと}
116
-
117
- ### スコープ
118
- {影響範囲}
119
-
120
- ### 実装アプローチ
121
- {どう進めるか}
122
-
123
- ## 確認事項(あれば)
124
- - {不明点や確認が必要な点}
125
- ```
126
69
  pass_previous_response: true
127
- transitions:
128
- - condition: done
129
- next_step: implement
130
- - condition: answer
131
- next_step: COMPLETE
132
- - condition: blocked
133
- next_step: ABORT
70
+ rules:
71
+ - condition: "要件が明確で実装可能"
72
+ next: implement
73
+ - condition: "ユーザーが質問をしている(実装タスクではない)"
74
+ next: COMPLETE
75
+ - condition: "要件が不明確、情報不足"
76
+ next: ABORT
77
+ appendix: |
78
+ 確認事項:
79
+ - {質問1}
80
+ - {質問2}
134
81
 
135
82
  - name: implement
136
- agent: ~/.takt/agents/default/coder.md
83
+ edit: true
84
+ agent: ../agents/default/coder.md
85
+ report:
86
+ - Scope: 01-coder-scope.md
87
+ - Decisions: 02-coder-decisions.md
137
88
  allowed_tools:
138
89
  - Read
139
90
  - Glob
@@ -144,58 +95,10 @@ steps:
144
95
  - WebSearch
145
96
  - WebFetch
146
97
  permission_mode: acceptEdits
147
- status_rules_prompt: |
148
- ## 出力フォーマット
149
-
150
- | 状況 | タグ |
151
- |------|------|
152
- | 実装完了 | `[CODER:DONE]` |
153
- | 判断できない/情報不足 | `[CODER:BLOCKED]` |
154
-
155
- **重要**: 迷ったら `[BLOCKED]`。勝手に判断しない。
156
-
157
- ### 出力例
158
-
159
- **DONE の場合:**
160
- ```
161
- 実装完了しました。
162
- - 作成: `src/auth/service.ts`, `tests/auth.test.ts`
163
- - 変更: `src/routes.ts`
164
-
165
- [CODER:DONE]
166
- ```
167
-
168
- **BLOCKED の場合:**
169
- ```
170
- [CODER:BLOCKED]
171
-
172
- 理由: DBスキーマが未定義のため実装できません
173
- 必要な情報: usersテーブルの構造
174
- ```
175
98
  instruction_template: |
176
- ## Workflow Context
177
- - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
178
- - Step Iteration: {step_iteration}(このステップの実行回数)
179
- - Step: implement
180
- - Report Directory: .takt/reports/{report_dir}/
181
- - Report Files:
182
- - Scope: .takt/reports/{report_dir}/01-coder-scope.md
183
- - Decisions: .takt/reports/{report_dir}/02-coder-decisions.md
184
-
185
- ## User Request
186
- {task}
187
-
188
- ## Additional User Inputs
189
- {user_inputs}
190
-
191
- ## Instructions
192
99
  planステップで立てた計画に従って実装してください。
193
100
  計画レポート(00-plan.md)を参照し、実装を進めてください。
194
101
 
195
- **レポート出力:** 上記の `Report Files` に出力してください。
196
- - ファイルが存在しない場合: 新規作成
197
- - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
198
-
199
102
  **Scopeレポートフォーマット(実装開始時に作成):**
200
103
  ```markdown
201
104
  # 変更スコープ宣言
@@ -225,294 +128,129 @@ steps:
225
128
  - **検討した選択肢**: {選択肢リスト}
226
129
  - **理由**: {選んだ理由}
227
130
  ```
228
- transitions:
229
- - condition: done
230
- next_step: review
231
- - condition: blocked
232
- next_step: plan
131
+ rules:
132
+ - condition: "実装完了"
133
+ next: ai_review
134
+ - condition: "判断できない、情報不足"
135
+ next: plan
233
136
 
234
- - name: review
235
- agent: ~/.takt/agents/default/architect.md
137
+ - name: ai_review
138
+ edit: false
139
+ agent: ../agents/default/ai-antipattern-reviewer.md
140
+ report:
141
+ name: 03-ai-review.md
142
+ format: |
143
+ ```markdown
144
+ # AI生成コードレビュー
145
+
146
+ ## 結果: APPROVE / REJECT
147
+
148
+ ## サマリー
149
+ {1文で結果を要約}
150
+
151
+ ## 検証した項目
152
+ | 観点 | 結果 | 備考 |
153
+ |------|------|------|
154
+ | 仮定の妥当性 | ✅ | - |
155
+ | API/ライブラリの実在 | ✅ | - |
156
+ | コンテキスト適合 | ✅ | - |
157
+ | スコープ | ✅ | - |
158
+
159
+ ## 問題点(REJECTの場合)
160
+ | # | カテゴリ | 場所 | 問題 |
161
+ |---|---------|------|------|
162
+ | 1 | 幻覚API | `src/file.ts:23` | 存在しないメソッド |
163
+ ```
164
+
165
+ **認知負荷軽減ルール:**
166
+ - 問題なし → サマリー1文 + チェック表のみ(10行以内)
167
+ - 問題あり → + 問題を表形式で(25行以内)
236
168
  allowed_tools:
237
169
  - Read
238
170
  - Glob
239
171
  - Grep
172
+ - Write
240
173
  - WebSearch
241
174
  - WebFetch
242
- status_rules_prompt: |
243
- ## 判定基準
244
-
245
- | 状況 | 判定 |
246
- |------|------|
247
- | 構造に問題がある | REJECT |
248
- | 設計原則違反がある | REJECT |
249
- | セキュリティ問題がある | REJECT |
250
- | テストが不十分 | REJECT |
251
- | 問題なし | APPROVE |
252
-
253
- **注意:** simpleワークフローでは IMPROVE は使用しません。
254
- 軽微な問題もある場合は APPROVE + コメントとしてください。
255
-
256
- ## 出力フォーマット
257
-
258
- | 状況 | タグ |
259
- |------|------|
260
- | 問題なし | `[ARCHITECT:APPROVE]` |
261
- | 構造的な修正必要 | `[ARCHITECT:REJECT]` |
262
-
263
- ### 出力例
264
-
265
- **APPROVE の場合:**
266
- ```
267
- [ARCHITECT:APPROVE]
268
-
269
- 良い点:
270
- - モジュール分割が適切
271
- - 単一責務が守られている
272
- ```
273
-
274
- **REJECT の場合:**
275
- ```
276
- [ARCHITECT:REJECT]
277
-
278
- 問題点:
279
- 1. ファイルサイズ超過
280
- - 場所: `src/services/user.ts` (523行)
281
- - 修正案: 3ファイルに分割
282
- ```
283
175
  instruction_template: |
284
- ## Workflow Context
285
- - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
286
- - Step Iteration: {step_iteration}(このステップの実行回数)
287
- - Step: review (アーキテクチャレビュー)
288
- - Report Directory: .takt/reports/{report_dir}/
289
- - Report File: .takt/reports/{report_dir}/03-architect-review.md
290
-
291
- ## Original User Request (ワークフロー開始時の元の要求)
292
- {task}
293
-
294
- ## Git Diff
295
- ```diff
296
- {git_diff}
297
- ```
298
-
299
- ## Instructions
300
- **アーキテクチャと設計**のレビューに集中してください。AI特有の問題はレビューしないでください(次のステップで行います)。
301
-
302
- 変更をレビューしてフィードバックを提供してください。
303
-
304
- **注意:** simpleワークフローではIMPROVE判定は使用しません。
305
- 軽微な改善提案がある場合は APPROVE + コメントとしてください。
306
-
307
- **レポート出力:** 上記の `Report File` に出力してください。
308
- - ファイルが存在しない場合: 新規作成
309
- - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
310
-
311
- **レポートフォーマット:**
312
- ```markdown
313
- # アーキテクチャレビュー
314
-
315
- ## 結果: APPROVE / REJECT
316
-
317
- ## サマリー
318
- {1-2文で結果を要約}
319
-
320
- ## 確認した観点
321
- - [x] 構造・設計
322
- - [x] コード品質
323
- - [x] 変更スコープ
324
-
325
- ## 問題点(REJECTの場合)
326
- | # | 場所 | 問題 | 修正案 |
327
- |---|------|------|--------|
328
- | 1 | `src/file.ts:42` | 問題の説明 | 修正方法 |
329
-
330
- ## 改善提案(任意・ブロッキングではない)
331
- - {将来的な改善提案}
332
- ```
333
-
334
- **認知負荷軽減ルール:**
335
- - APPROVE + 問題なし → サマリーのみ(5行以内)
336
- - APPROVE + 軽微な提案 → サマリー + 改善提案(15行以内)
337
- - REJECT → 問題点を表形式で(30行以内)
338
- transitions:
339
- - condition: approved
340
- next_step: ai_review
341
- - condition: rejected
342
- next_step: plan
176
+ AI特有の問題についてコードをレビューしてください:
177
+ - 仮定の検証
178
+ - もっともらしいが間違っているパターン
179
+ - 既存コードベースとの適合性
180
+ - スコープクリープの検出
181
+ rules:
182
+ - condition: "AI特有の問題なし"
183
+ next: review
184
+ - condition: "AI特有の問題あり"
185
+ next: plan
343
186
 
344
- - name: ai_review
345
- agent: ~/.takt/agents/default/ai-reviewer.md
187
+ - name: review
188
+ edit: false
189
+ agent: ../agents/default/architecture-reviewer.md
190
+ report:
191
+ name: 04-architect-review.md
192
+ format: |
193
+ ```markdown
194
+ # アーキテクチャレビュー
195
+
196
+ ## 結果: APPROVE / REJECT
197
+
198
+ ## サマリー
199
+ {1-2文で結果を要約}
200
+
201
+ ## 確認した観点
202
+ - [x] 構造・設計
203
+ - [x] コード品質
204
+ - [x] 変更スコープ
205
+
206
+ ## 問題点(REJECTの場合)
207
+ | # | 場所 | 問題 | 修正案 |
208
+ |---|------|------|--------|
209
+ | 1 | `src/file.ts:42` | 問題の説明 | 修正方法 |
210
+
211
+ ## 改善提案(任意・ブロッキングではない)
212
+ - {将来的な改善提案}
213
+ ```
214
+
215
+ **認知負荷軽減ルール:**
216
+ - APPROVE + 問題なし → サマリーのみ(5行以内)
217
+ - APPROVE + 軽微な提案 → サマリー + 改善提案(15行以内)
218
+ - REJECT → 問題点を表形式で(30行以内)
346
219
  allowed_tools:
347
220
  - Read
348
221
  - Glob
349
222
  - Grep
223
+ - Write
350
224
  - WebSearch
351
225
  - WebFetch
352
- status_rules_prompt: |
353
- ## 判定基準
354
-
355
- | 状況 | 判定 |
356
- |------|------|
357
- | 仮定が間違っている(動作に影響) | REJECT |
358
- | もっともらしいが間違っているコード | REJECT |
359
- | コードベースの文脈に重大な不整合 | REJECT |
360
- | スコープクリープ | APPROVE(警告を付記) |
361
- | 軽微なスタイルの逸脱のみ | APPROVE |
362
- | コードが文脈に合い動作する | APPROVE |
363
-
364
- **注意:** スコープクリープは警告として記載するが、それだけでREJECTしない。
365
-
366
- ## 出力フォーマット
367
-
368
- | 状況 | タグ |
369
- |------|------|
370
- | AI特有の問題なし | `[AI_REVIEW:APPROVE]` |
371
- | 問題あり | `[AI_REVIEW:REJECT]` |
372
-
373
- ### 出力例
374
-
375
- **APPROVE の場合:**
376
- ```
377
- [AI_REVIEW:APPROVE]
378
-
379
- 検証結果: 問題なし
380
- ```
381
-
382
- **REJECT の場合:**
383
- ```
384
- [AI_REVIEW:REJECT]
385
-
386
- 問題点:
387
- 1. 存在しないAPIを使用: `fetch.json()` → `response.json()`
388
- ```
389
226
  instruction_template: |
390
- ## Workflow Context
391
- - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
392
- - Step Iteration: {step_iteration}(このステップの実行回数)
393
- - Step: ai_review (AI生成コードレビュー)
394
- - Report Directory: .takt/reports/{report_dir}/
395
- - Report File: .takt/reports/{report_dir}/04-ai-review.md
396
-
397
- ## Original User Request (ワークフロー開始時の元の要求)
398
- {task}
399
-
400
- ## Git Diff
401
- ```diff
402
- {git_diff}
403
- ```
227
+ **アーキテクチャと設計**のレビューに集中してください。AI特有の問題はレビューしないでください(前のステップで完了済み)。
404
228
 
405
- ## Instructions
406
- AI特有の問題についてコードをレビューしてください:
407
- - 仮定の検証
408
- - もっともらしいが間違っているパターン
409
- - 既存コードベースとの適合性
410
- - スコープクリープの検出
411
-
412
- **レポート出力:** 上記の `Report File` に出力してください。
413
- - ファイルが存在しない場合: 新規作成
414
- - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
415
-
416
- **レポートフォーマット:**
417
- ```markdown
418
- # AI生成コードレビュー
419
-
420
- ## 結果: APPROVE / REJECT
421
-
422
- ## サマリー
423
- {1文で結果を要約}
424
-
425
- ## 検証した項目
426
- | 観点 | 結果 | 備考 |
427
- |------|------|------|
428
- | 仮定の妥当性 | ✅ | - |
429
- | API/ライブラリの実在 | ✅ | - |
430
- | コンテキスト適合 | ✅ | - |
431
- | スコープ | ✅ | - |
432
-
433
- ## 問題点(REJECTの場合)
434
- | # | カテゴリ | 場所 | 問題 |
435
- |---|---------|------|------|
436
- | 1 | 幻覚API | `src/file.ts:23` | 存在しないメソッド |
437
- ```
229
+ 変更をレビューしてフィードバックを提供してください。
438
230
 
439
- **認知負荷軽減ルール:**
440
- - 問題なし → サマリー1文 + チェック表のみ(10行以内)
441
- - 問題あり → + 問題を表形式で(25行以内)
442
- transitions:
443
- - condition: approved
444
- next_step: supervise
445
- - condition: rejected
446
- next_step: plan
231
+ **注意:** simpleワークフローではIMPROVE判定は使用しません。
232
+ 軽微な改善提案がある場合は APPROVE + コメントとしてください。
233
+ rules:
234
+ - condition: "問題なし"
235
+ next: supervise
236
+ - condition: "構造的な修正必要"
237
+ next: plan
447
238
 
448
239
  - name: supervise
449
- agent: ~/.takt/agents/default/supervisor.md
240
+ edit: false
241
+ agent: ../agents/default/supervisor.md
242
+ report:
243
+ - Validation: 05-supervisor-validation.md
244
+ - Summary: summary.md
450
245
  allowed_tools:
451
246
  - Read
452
247
  - Glob
453
248
  - Grep
249
+ - Write
454
250
  - Bash
455
251
  - WebSearch
456
252
  - WebFetch
457
- status_rules_prompt: |
458
- ## 判定基準
459
-
460
- | 状況 | 判定 |
461
- |------|------|
462
- | 要求が満たされていない | REJECT |
463
- | テストが失敗する | REJECT |
464
- | ビルドが通らない | REJECT |
465
- | その場しのぎが残っている | REJECT |
466
- | すべて問題なし | APPROVE |
467
-
468
- **原則**: 疑わしきは REJECT。曖昧な承認はしない。
469
-
470
- ## 出力フォーマット
471
-
472
- | 状況 | タグ |
473
- |------|------|
474
- | 最終承認 | `[SUPERVISOR:APPROVE]` |
475
- | 差し戻し | `[SUPERVISOR:REJECT]` |
476
-
477
- ### 出力例
478
-
479
- **APPROVE の場合:**
480
- ```
481
- [SUPERVISOR:APPROVE]
482
-
483
- 検証結果:
484
- - テスト: ✅ 全件パス
485
- - ビルド: ✅ 成功
486
- - 要求充足: ✅
487
- ```
488
-
489
- **REJECT の場合:**
490
- ```
491
- [SUPERVISOR:REJECT]
492
-
493
- 問題点:
494
- 1. テストが失敗: `npm test` で 2 件失敗
495
- 2. 元の要求を満たしていない: ログイン機能が未実装
496
- ```
497
253
  instruction_template: |
498
- ## Workflow Context
499
- - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
500
- - Step Iteration: {step_iteration}(このステップの実行回数)
501
- - Step: supervise (final verification)
502
- - Report Directory: .takt/reports/{report_dir}/
503
- - Report Files:
504
- - Validation: .takt/reports/{report_dir}/05-supervisor-validation.md
505
- - Summary: .takt/reports/{report_dir}/summary.md
506
-
507
- ## Original User Request
508
- {task}
509
-
510
- ## Git Diff
511
- ```diff
512
- {git_diff}
513
- ```
514
-
515
- ## Instructions
516
254
  テスト実行、ビルド確認、最終承認を行ってください。
517
255
 
518
256
  **ワークフロー全体の確認:**
@@ -523,10 +261,6 @@ steps:
523
261
  **レポートの確認:** Report Directory内の全レポートを読み、
524
262
  未対応の改善提案がないか確認してください。
525
263
 
526
- **レポート出力:** 上記の `Report Files` に出力してください。
527
- - ファイルが存在しない場合: 新規作成
528
- - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
529
-
530
264
  **Validationレポートフォーマット:**
531
265
  ```markdown
532
266
  # 最終検証結果
@@ -569,8 +303,8 @@ steps:
569
303
  ## レビュー結果
570
304
  | レビュー | 結果 |
571
305
  |---------|------|
572
- | Architect | ✅ APPROVE |
573
306
  | AI Review | ✅ APPROVE |
307
+ | Architect | ✅ APPROVE |
574
308
  | Supervisor | ✅ APPROVE |
575
309
 
576
310
  ## 確認コマンド
@@ -579,8 +313,8 @@ steps:
579
313
  npm run build
580
314
  ```
581
315
  ```
582
- transitions:
583
- - condition: approved
584
- next_step: COMPLETE
585
- - condition: rejected
586
- next_step: plan
316
+ rules:
317
+ - condition: "すべて問題なし"
318
+ next: COMPLETE
319
+ - condition: "要求未達成、テスト失敗、ビルドエラー"
320
+ next: plan
@@ -0,0 +1,10 @@
1
+ # Temporary files
2
+ logs/
3
+ reports/
4
+ completed/
5
+ tasks/
6
+ worktree-meta/
7
+ clone-meta/
8
+ worktree-sessions/
9
+ agent_sessions.json
10
+ input_history