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.
- package/README.md +223 -166
- package/dist/agents/runner.d.ts +2 -4
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +6 -35
- package/dist/agents/runner.js.map +1 -1
- package/dist/claude/client.d.ts +31 -6
- package/dist/claude/client.d.ts.map +1 -1
- package/dist/claude/client.js +78 -30
- package/dist/claude/client.js.map +1 -1
- package/dist/claude/index.d.ts +1 -1
- package/dist/claude/index.d.ts.map +1 -1
- package/dist/claude/index.js +1 -1
- package/dist/claude/index.js.map +1 -1
- package/dist/cli.d.ts +4 -3
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +41 -20
- package/dist/cli.js.map +1 -1
- package/dist/codex/client.d.ts +0 -1
- package/dist/codex/client.d.ts.map +1 -1
- package/dist/codex/client.js +3 -6
- package/dist/codex/client.js.map +1 -1
- package/dist/commands/addTask.d.ts.map +1 -1
- package/dist/commands/addTask.js +23 -7
- package/dist/commands/addTask.js.map +1 -1
- package/dist/commands/eject.d.ts +13 -0
- package/dist/commands/eject.d.ts.map +1 -0
- package/dist/commands/eject.js +105 -0
- package/dist/commands/eject.js.map +1 -0
- package/dist/commands/help.d.ts.map +1 -1
- package/dist/commands/help.js +12 -5
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/index.d.ts +2 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +2 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/listTasks.d.ts +45 -0
- package/dist/commands/listTasks.d.ts.map +1 -0
- package/dist/commands/{reviewTasks.js → listTasks.js} +93 -73
- package/dist/commands/listTasks.js.map +1 -0
- package/dist/commands/refreshBuiltin.d.ts +4 -4
- package/dist/commands/refreshBuiltin.d.ts.map +1 -1
- package/dist/commands/refreshBuiltin.js +13 -29
- package/dist/commands/refreshBuiltin.js.map +1 -1
- package/dist/commands/taskExecution.d.ts +7 -5
- package/dist/commands/taskExecution.d.ts.map +1 -1
- package/dist/commands/taskExecution.js +21 -14
- package/dist/commands/taskExecution.js.map +1 -1
- package/dist/commands/workflowExecution.d.ts.map +1 -1
- package/dist/commands/workflowExecution.js +88 -21
- package/dist/commands/workflowExecution.js.map +1 -1
- package/dist/config/agentLoader.d.ts +3 -1
- package/dist/config/agentLoader.d.ts.map +1 -1
- package/dist/config/agentLoader.js +17 -24
- package/dist/config/agentLoader.js.map +1 -1
- package/dist/config/globalConfig.d.ts +2 -0
- package/dist/config/globalConfig.d.ts.map +1 -1
- package/dist/config/globalConfig.js +18 -0
- package/dist/config/globalConfig.js.map +1 -1
- package/dist/config/initialization.d.ts +7 -5
- package/dist/config/initialization.d.ts.map +1 -1
- package/dist/config/initialization.js +23 -21
- package/dist/config/initialization.js.map +1 -1
- package/dist/config/paths.d.ts +5 -0
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +9 -0
- package/dist/config/paths.js.map +1 -1
- package/dist/config/workflowLoader.d.ts +6 -4
- package/dist/config/workflowLoader.d.ts.map +1 -1
- package/dist/config/workflowLoader.js +190 -35
- package/dist/config/workflowLoader.js.map +1 -1
- package/dist/github/issue.d.ts +72 -0
- package/dist/github/issue.d.ts.map +1 -0
- package/dist/github/issue.js +143 -0
- package/dist/github/issue.js.map +1 -0
- package/dist/models/index.d.ts +1 -1
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js.map +1 -1
- package/dist/models/schemas.d.ts +165 -90
- package/dist/models/schemas.d.ts.map +1 -1
- package/dist/models/schemas.js +79 -51
- package/dist/models/schemas.js.map +1 -1
- package/dist/models/types.d.ts +53 -20
- package/dist/models/types.d.ts.map +1 -1
- package/dist/providers/claude.js +2 -2
- package/dist/providers/claude.js.map +1 -1
- package/dist/providers/codex.d.ts.map +1 -1
- package/dist/providers/codex.js +0 -2
- package/dist/providers/codex.js.map +1 -1
- package/dist/providers/index.d.ts +2 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/resources/index.d.ts +3 -22
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +9 -76
- package/dist/resources/index.js.map +1 -1
- package/dist/task/autoCommit.d.ts +9 -6
- package/dist/task/autoCommit.d.ts.map +1 -1
- package/dist/task/autoCommit.js +21 -12
- package/dist/task/autoCommit.js.map +1 -1
- package/dist/task/branchList.d.ts +55 -0
- package/dist/task/branchList.d.ts.map +1 -0
- package/dist/task/branchList.js +131 -0
- package/dist/task/branchList.js.map +1 -0
- package/dist/task/clone.d.ts +53 -0
- package/dist/task/clone.d.ts.map +1 -0
- package/dist/task/clone.js +181 -0
- package/dist/task/clone.js.map +1 -0
- package/dist/task/index.d.ts +3 -2
- package/dist/task/index.d.ts.map +1 -1
- package/dist/task/index.js +3 -2
- package/dist/task/index.js.map +1 -1
- package/dist/task/schema.d.ts +4 -4
- package/dist/task/schema.js +4 -4
- package/dist/task/summarize.d.ts +7 -5
- package/dist/task/summarize.d.ts.map +1 -1
- package/dist/task/summarize.js +62 -29
- package/dist/task/summarize.js.map +1 -1
- package/dist/utils/session.d.ts +74 -10
- package/dist/utils/session.d.ts.map +1 -1
- package/dist/utils/session.js +101 -51
- package/dist/utils/session.js.map +1 -1
- package/dist/utils/updateNotifier.d.ts +6 -0
- package/dist/utils/updateNotifier.d.ts.map +1 -0
- package/dist/utils/updateNotifier.js +17 -0
- package/dist/utils/updateNotifier.js.map +1 -0
- package/dist/workflow/engine.d.ts +35 -2
- package/dist/workflow/engine.d.ts.map +1 -1
- package/dist/workflow/engine.js +238 -38
- package/dist/workflow/engine.js.map +1 -1
- package/dist/workflow/index.d.ts +1 -1
- package/dist/workflow/index.d.ts.map +1 -1
- package/dist/workflow/index.js +1 -1
- package/dist/workflow/index.js.map +1 -1
- package/dist/workflow/instruction-builder.d.ts +89 -20
- package/dist/workflow/instruction-builder.d.ts.map +1 -1
- package/dist/workflow/instruction-builder.js +404 -61
- package/dist/workflow/instruction-builder.js.map +1 -1
- package/dist/workflow/parallel-logger.d.ts +76 -0
- package/dist/workflow/parallel-logger.d.ts.map +1 -0
- package/dist/workflow/parallel-logger.js +173 -0
- package/dist/workflow/parallel-logger.js.map +1 -0
- package/dist/workflow/phase-runner.d.ts +40 -0
- package/dist/workflow/phase-runner.d.ts.map +1 -0
- package/dist/workflow/phase-runner.js +69 -0
- package/dist/workflow/phase-runner.js.map +1 -0
- package/dist/workflow/rule-evaluator.d.ts +64 -0
- package/dist/workflow/rule-evaluator.d.ts.map +1 -0
- package/dist/workflow/rule-evaluator.js +178 -0
- package/dist/workflow/rule-evaluator.js.map +1 -0
- package/dist/workflow/rule-utils.d.ts +13 -0
- package/dist/workflow/rule-utils.d.ts.map +1 -0
- package/dist/workflow/rule-utils.js +17 -0
- package/dist/workflow/rule-utils.js.map +1 -0
- package/dist/workflow/transitions.d.ts +5 -13
- package/dist/workflow/transitions.d.ts.map +1 -1
- package/dist/workflow/transitions.js +8 -78
- package/dist/workflow/transitions.js.map +1 -1
- package/dist/workflow/types.d.ts +2 -1
- package/dist/workflow/types.d.ts.map +1 -1
- package/package.json +4 -1
- package/resources/global/en/agents/default/ai-antipattern-reviewer.md +193 -0
- package/resources/global/en/agents/default/{architect.md → architecture-reviewer.md} +144 -44
- package/resources/global/en/agents/default/coder.md +7 -7
- package/resources/global/en/agents/default/planner.md +29 -9
- package/resources/global/en/agents/default/{security.md → security-reviewer.md} +23 -5
- package/resources/global/en/agents/default/supervisor.md +13 -2
- package/resources/global/en/agents/expert/frontend-reviewer.md +0 -17
- package/resources/global/en/agents/expert/qa-reviewer.md +0 -16
- package/resources/global/en/agents/expert/security-reviewer.md +0 -16
- package/resources/global/en/agents/expert-cqrs/cqrs-es-reviewer.md +0 -17
- package/resources/global/en/agents/templates/coder.md +128 -0
- package/resources/global/en/agents/templates/planner.md +44 -0
- package/resources/global/en/agents/templates/reviewer.md +57 -0
- package/resources/global/en/agents/templates/supervisor.md +64 -0
- package/resources/global/en/workflows/default.yaml +235 -770
- package/resources/global/en/workflows/expert-cqrs.yaml +325 -697
- package/resources/global/en/workflows/expert.yaml +354 -722
- package/resources/global/en/workflows/magi.yaml +45 -52
- package/resources/global/en/workflows/research.yaml +18 -99
- package/resources/global/en/workflows/simple.yaml +156 -421
- package/resources/global/ja/agents/default/{ai-reviewer.md → ai-antipattern-reviewer.md} +92 -15
- package/resources/global/ja/agents/default/{architect.md → architecture-reviewer.md} +148 -48
- package/resources/global/ja/agents/default/coder.md +7 -7
- package/resources/global/ja/agents/default/planner.md +29 -9
- package/resources/global/ja/agents/default/{security.md → security-reviewer.md} +23 -5
- package/resources/global/ja/agents/default/supervisor.md +13 -2
- package/resources/global/ja/agents/expert/frontend-reviewer.md +0 -18
- package/resources/global/ja/agents/expert/qa-reviewer.md +0 -16
- package/resources/global/ja/agents/expert/security-reviewer.md +0 -16
- package/resources/global/ja/agents/expert-cqrs/cqrs-es-reviewer.md +0 -18
- package/resources/global/ja/agents/templates/coder.md +128 -0
- package/resources/global/ja/agents/templates/planner.md +44 -0
- package/resources/global/ja/agents/templates/reviewer.md +57 -0
- package/resources/global/ja/agents/templates/supervisor.md +64 -0
- package/resources/global/ja/workflows/default.yaml +230 -771
- package/resources/global/ja/workflows/expert-cqrs.yaml +316 -832
- package/resources/global/ja/workflows/expert.yaml +331 -711
- package/resources/global/ja/workflows/magi.yaml +45 -52
- package/resources/global/ja/workflows/research.yaml +18 -99
- package/resources/global/ja/workflows/simple.yaml +149 -415
- package/resources/project/dotgitignore +10 -0
- package/resources/project/tasks/TASK-FORMAT +37 -0
- package/dist/commands/reviewTasks.d.ts +0 -43
- package/dist/commands/reviewTasks.d.ts.map +0 -1
- package/dist/commands/reviewTasks.js.map +0 -1
- package/dist/task/worktree.d.ts +0 -70
- package/dist/task/worktree.d.ts.map +0 -1
- package/dist/task/worktree.js +0 -221
- package/dist/task/worktree.js.map +0 -1
- package/resources/global/en/agents/default/ai-reviewer.md +0 -116
|
@@ -1,94 +1,75 @@
|
|
|
1
1
|
# Default TAKT Workflow
|
|
2
|
-
# Plan ->
|
|
2
|
+
# Plan -> Implement -> AI Review -> Reviewers (parallel: Architect + Security) -> Supervisor Approval
|
|
3
3
|
#
|
|
4
|
-
# Template Variables:
|
|
4
|
+
# Template Variables (auto-injected by buildInstruction):
|
|
5
5
|
# {iteration} - Workflow-wide turn count (total steps executed across all agents)
|
|
6
6
|
# {max_iterations} - Maximum iterations allowed for the workflow
|
|
7
7
|
# {step_iteration} - Per-step iteration count (how many times THIS step has been executed)
|
|
8
8
|
# {task} - Original user request
|
|
9
9
|
# {previous_response} - Output from the previous step
|
|
10
|
-
# {git_diff} - Current uncommitted changes (git diff)
|
|
11
10
|
# {user_inputs} - Accumulated user inputs during workflow
|
|
12
11
|
# {report_dir} - Report directory name (e.g., "20250126-143052-task-summary")
|
|
13
12
|
|
|
14
13
|
name: default
|
|
15
14
|
description: Standard development workflow with planning and specialized reviews
|
|
16
15
|
|
|
17
|
-
max_iterations:
|
|
16
|
+
max_iterations: 30
|
|
18
17
|
|
|
19
18
|
initial_step: plan
|
|
20
19
|
|
|
21
20
|
steps:
|
|
22
21
|
- name: plan
|
|
23
|
-
|
|
22
|
+
edit: false
|
|
23
|
+
agent: ../agents/default/planner.md
|
|
24
|
+
report:
|
|
25
|
+
name: 00-plan.md
|
|
26
|
+
format: |
|
|
27
|
+
```markdown
|
|
28
|
+
# タスク計画
|
|
29
|
+
|
|
30
|
+
## 元の要求
|
|
31
|
+
{ユーザーの要求をそのまま記載}
|
|
32
|
+
|
|
33
|
+
## 分析結果
|
|
34
|
+
|
|
35
|
+
### 目的
|
|
36
|
+
{達成すべきこと}
|
|
37
|
+
|
|
38
|
+
### スコープ
|
|
39
|
+
{影響範囲}
|
|
40
|
+
|
|
41
|
+
### 実装アプローチ
|
|
42
|
+
{どう進めるか}
|
|
43
|
+
|
|
44
|
+
## 確認事項(あれば)
|
|
45
|
+
- {不明点や確認が必要な点}
|
|
46
|
+
```
|
|
24
47
|
allowed_tools:
|
|
25
48
|
- Read
|
|
26
49
|
- Glob
|
|
27
50
|
- Grep
|
|
51
|
+
- Write
|
|
28
52
|
- Bash
|
|
29
53
|
- WebSearch
|
|
30
54
|
- WebFetch
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|------|------|
|
|
44
|
-
| 分析完了 | `[PLANNER:DONE]` |
|
|
45
|
-
| 質問への回答 | `[PLANNER:ANSWER]` |
|
|
46
|
-
| 情報不足 | `[PLANNER:BLOCKED]` |
|
|
47
|
-
|
|
48
|
-
### 出力例
|
|
49
|
-
|
|
50
|
-
**DONE の場合:**
|
|
51
|
-
```
|
|
52
|
-
[PLANNER:DONE]
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
**ANSWER の場合:**
|
|
56
|
-
```
|
|
57
|
-
{質問への回答}
|
|
58
|
-
|
|
59
|
-
[PLANNER:ANSWER]
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
**BLOCKED の場合:**
|
|
63
|
-
```
|
|
64
|
-
[PLANNER:BLOCKED]
|
|
65
|
-
|
|
66
|
-
確認事項:
|
|
67
|
-
- {質問1}
|
|
68
|
-
- {質問2}
|
|
69
|
-
```
|
|
55
|
+
rules:
|
|
56
|
+
- condition: 要件が明確で実装可能
|
|
57
|
+
next: implement
|
|
58
|
+
- condition: ユーザーが質問をしている(実装タスクではない)
|
|
59
|
+
next: COMPLETE
|
|
60
|
+
- condition: 要件が不明確、情報不足
|
|
61
|
+
next: ABORT
|
|
62
|
+
appendix: |
|
|
63
|
+
確認事項:
|
|
64
|
+
- {質問1}
|
|
65
|
+
- {質問2}
|
|
66
|
+
pass_previous_response: true
|
|
70
67
|
instruction_template: |
|
|
71
|
-
## Workflow Context
|
|
72
|
-
- Iteration: {iteration}/{max_iterations}(ワークフロー全体)
|
|
73
|
-
- Step Iteration: {step_iteration}(このステップの実行回数)
|
|
74
|
-
- Step: plan (タスク分析)
|
|
75
|
-
- Report Directory: .takt/reports/{report_dir}/
|
|
76
|
-
- Report File: .takt/reports/{report_dir}/00-plan.md
|
|
77
|
-
|
|
78
|
-
## User Request
|
|
79
|
-
{task}
|
|
80
|
-
|
|
81
68
|
## Previous Response (implementからの差し戻し時)
|
|
82
69
|
{previous_response}
|
|
83
70
|
|
|
84
|
-
## Instructions
|
|
85
71
|
タスクを分析し、実装方針を立ててください。
|
|
86
72
|
|
|
87
|
-
**判断基準:**
|
|
88
|
-
- ユーザーの入力が実装タスクの場合 → 計画を立てて `[PLANNER:DONE]`
|
|
89
|
-
- ユーザーの入力が質問の場合 → 調査・回答して `[PLANNER:ANSWER]`
|
|
90
|
-
- 情報不足の場合 → `[PLANNER:BLOCKED]`
|
|
91
|
-
|
|
92
73
|
**注意:** Previous Responseがある場合は差し戻しのため、
|
|
93
74
|
その内容を踏まえて計画を見直してください(replan)。
|
|
94
75
|
|
|
@@ -97,42 +78,12 @@ steps:
|
|
|
97
78
|
2. 影響範囲を特定する
|
|
98
79
|
3. 実装アプローチを決める
|
|
99
80
|
|
|
100
|
-
**レポート出力:** 上記の `Report File` に出力してください。
|
|
101
|
-
- ファイルが存在しない場合: 新規作成
|
|
102
|
-
- ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
|
|
103
|
-
|
|
104
|
-
**レポートフォーマット:**
|
|
105
|
-
```markdown
|
|
106
|
-
# タスク計画
|
|
107
|
-
|
|
108
|
-
## 元の要求
|
|
109
|
-
{ユーザーの要求をそのまま記載}
|
|
110
|
-
|
|
111
|
-
## 分析結果
|
|
112
|
-
|
|
113
|
-
### 目的
|
|
114
|
-
{達成すべきこと}
|
|
115
|
-
|
|
116
|
-
### スコープ
|
|
117
|
-
{影響範囲}
|
|
118
|
-
|
|
119
|
-
### 実装アプローチ
|
|
120
|
-
{どう進めるか}
|
|
121
|
-
|
|
122
|
-
## 確認事項(あれば)
|
|
123
|
-
- {不明点や確認が必要な点}
|
|
124
|
-
```
|
|
125
|
-
pass_previous_response: true
|
|
126
|
-
transitions:
|
|
127
|
-
- condition: done
|
|
128
|
-
next_step: implement
|
|
129
|
-
- condition: answer
|
|
130
|
-
next_step: COMPLETE
|
|
131
|
-
- condition: blocked
|
|
132
|
-
next_step: ABORT
|
|
133
|
-
|
|
134
81
|
- name: implement
|
|
135
|
-
|
|
82
|
+
edit: true
|
|
83
|
+
agent: ../agents/default/coder.md
|
|
84
|
+
report:
|
|
85
|
+
- Scope: 01-coder-scope.md
|
|
86
|
+
- Decisions: 02-coder-decisions.md
|
|
136
87
|
allowed_tools:
|
|
137
88
|
- Read
|
|
138
89
|
- Glob
|
|
@@ -143,51 +94,12 @@ steps:
|
|
|
143
94
|
- WebSearch
|
|
144
95
|
- WebFetch
|
|
145
96
|
permission_mode: acceptEdits
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
| 実装完了 | `[CODER:DONE]` |
|
|
152
|
-
| 判断できない/情報不足 | `[CODER:BLOCKED]` |
|
|
153
|
-
|
|
154
|
-
**重要**: 迷ったら `[BLOCKED]`。勝手に判断しない。
|
|
155
|
-
|
|
156
|
-
### 出力例
|
|
157
|
-
|
|
158
|
-
**DONE の場合:**
|
|
159
|
-
```
|
|
160
|
-
実装完了しました。
|
|
161
|
-
- 作成: `src/auth/service.ts`, `tests/auth.test.ts`
|
|
162
|
-
- 変更: `src/routes.ts`
|
|
163
|
-
|
|
164
|
-
[CODER:DONE]
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
**BLOCKED の場合:**
|
|
168
|
-
```
|
|
169
|
-
[CODER:BLOCKED]
|
|
170
|
-
|
|
171
|
-
理由: DBスキーマが未定義のため実装できません
|
|
172
|
-
必要な情報: usersテーブルの構造
|
|
173
|
-
```
|
|
97
|
+
rules:
|
|
98
|
+
- condition: 実装完了
|
|
99
|
+
next: ai_review
|
|
100
|
+
- condition: 判断できない、情報不足
|
|
101
|
+
next: plan
|
|
174
102
|
instruction_template: |
|
|
175
|
-
## Workflow Context
|
|
176
|
-
- Iteration: {iteration}/{max_iterations}(ワークフロー全体)
|
|
177
|
-
- Step Iteration: {step_iteration}(このステップの実行回数)
|
|
178
|
-
- Step: implement
|
|
179
|
-
- Report Directory: .takt/reports/{report_dir}/
|
|
180
|
-
- Report Files:
|
|
181
|
-
- Scope: .takt/reports/{report_dir}/01-coder-scope.md
|
|
182
|
-
- Decisions: .takt/reports/{report_dir}/02-coder-decisions.md
|
|
183
|
-
|
|
184
|
-
## User Request
|
|
185
|
-
{task}
|
|
186
|
-
|
|
187
|
-
## Additional User Inputs
|
|
188
|
-
{user_inputs}
|
|
189
|
-
|
|
190
|
-
## Instructions
|
|
191
103
|
planステップで立てた計画に従って実装してください。
|
|
192
104
|
計画レポート(00-plan.md)を参照し、実装を進めてください。
|
|
193
105
|
|
|
@@ -196,10 +108,6 @@ steps:
|
|
|
196
108
|
- 既存コードを変更した場合は該当するテストを更新
|
|
197
109
|
- テストファイルの配置: プロジェクトの規約に従う(例: `__tests__/`, `*.test.ts`)
|
|
198
110
|
|
|
199
|
-
**レポート出力:** 上記の `Report Files` に出力してください。
|
|
200
|
-
- ファイルが存在しない場合: 新規作成
|
|
201
|
-
- ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
|
|
202
|
-
|
|
203
111
|
**Scopeレポートフォーマット(実装開始時に作成):**
|
|
204
112
|
```markdown
|
|
205
113
|
# 変更スコープ宣言
|
|
@@ -229,321 +137,60 @@ steps:
|
|
|
229
137
|
- **検討した選択肢**: {選択肢リスト}
|
|
230
138
|
- **理由**: {選んだ理由}
|
|
231
139
|
```
|
|
232
|
-
transitions:
|
|
233
|
-
- condition: done
|
|
234
|
-
next_step: review
|
|
235
|
-
- condition: blocked
|
|
236
|
-
next_step: plan
|
|
237
|
-
|
|
238
|
-
- name: review
|
|
239
|
-
agent: ~/.takt/agents/default/architect.md
|
|
240
|
-
allowed_tools:
|
|
241
|
-
- Read
|
|
242
|
-
- Glob
|
|
243
|
-
- Grep
|
|
244
|
-
- WebSearch
|
|
245
|
-
- WebFetch
|
|
246
|
-
status_rules_prompt: |
|
|
247
|
-
## 判定基準
|
|
248
|
-
|
|
249
|
-
| 状況 | 判定 |
|
|
250
|
-
|------|------|
|
|
251
|
-
| 構造に問題がある | REJECT |
|
|
252
|
-
| 設計原則違反がある | REJECT |
|
|
253
|
-
| セキュリティ問題がある | REJECT |
|
|
254
|
-
| テストが不十分 | REJECT |
|
|
255
|
-
| 改善すべき点がある(軽微) | IMPROVE |
|
|
256
|
-
| 問題なし | APPROVE |
|
|
257
|
-
|
|
258
|
-
**IMPROVE の使い方:**
|
|
259
|
-
- 設計としては許容範囲だが、改善した方が良い点がある場合
|
|
260
|
-
- 例: 命名の改善、小さなリファクタリング、コメント追加
|
|
261
|
-
|
|
262
|
-
## 出力フォーマット
|
|
263
|
-
|
|
264
|
-
| 状況 | タグ |
|
|
265
|
-
|------|------|
|
|
266
|
-
| 問題なし | `[ARCHITECT:APPROVE]` |
|
|
267
|
-
| 軽微な改善必要 | `[ARCHITECT:IMPROVE]` |
|
|
268
|
-
| 構造的な修正必要 | `[ARCHITECT:REJECT]` |
|
|
269
|
-
|
|
270
|
-
### 出力例
|
|
271
|
-
|
|
272
|
-
**APPROVE の場合:**
|
|
273
|
-
```
|
|
274
|
-
[ARCHITECT:APPROVE]
|
|
275
|
-
|
|
276
|
-
良い点:
|
|
277
|
-
- モジュール分割が適切
|
|
278
|
-
- 単一責務が守られている
|
|
279
|
-
```
|
|
280
|
-
|
|
281
|
-
**IMPROVE の場合:**
|
|
282
|
-
```
|
|
283
|
-
[ARCHITECT:IMPROVE]
|
|
284
|
-
|
|
285
|
-
改善点:
|
|
286
|
-
- 命名を改善してください: `data` → `userData`
|
|
287
|
-
- コメントを追加してください
|
|
288
|
-
```
|
|
289
|
-
|
|
290
|
-
**REJECT の場合:**
|
|
291
|
-
```
|
|
292
|
-
[ARCHITECT:REJECT]
|
|
293
|
-
|
|
294
|
-
問題点:
|
|
295
|
-
1. ファイルサイズ超過
|
|
296
|
-
- 場所: `src/services/user.ts` (523行)
|
|
297
|
-
- 修正案: 3ファイルに分割
|
|
298
|
-
```
|
|
299
|
-
instruction_template: |
|
|
300
|
-
## Workflow Context
|
|
301
|
-
- Iteration: {iteration}/{max_iterations}(ワークフロー全体)
|
|
302
|
-
- Step Iteration: {step_iteration}(このステップの実行回数)
|
|
303
|
-
- Step: review (アーキテクチャレビュー)
|
|
304
|
-
- Report Directory: .takt/reports/{report_dir}/
|
|
305
|
-
- Report File: .takt/reports/{report_dir}/03-architect-review.md
|
|
306
|
-
|
|
307
|
-
## Original User Request (ワークフロー開始時の元の要求)
|
|
308
|
-
{task}
|
|
309
|
-
|
|
310
|
-
## Git Diff
|
|
311
|
-
```diff
|
|
312
|
-
{git_diff}
|
|
313
|
-
```
|
|
314
|
-
|
|
315
|
-
## Instructions
|
|
316
|
-
**アーキテクチャと設計**のレビューに集中してください。AI特有の問題はレビューしないでください(次のステップで行います)。
|
|
317
|
-
|
|
318
|
-
変更をレビューしてフィードバックを提供してください。
|
|
319
|
-
|
|
320
|
-
**レビュー観点:**
|
|
321
|
-
- 構造・設計の妥当性
|
|
322
|
-
- コード品質
|
|
323
|
-
- 変更スコープの適切性
|
|
324
|
-
- テストカバレッジ
|
|
325
|
-
- デッドコード
|
|
326
|
-
- 呼び出しチェーン検証
|
|
327
|
-
|
|
328
|
-
**レポート出力:** 上記の `Report File` に出力してください。
|
|
329
|
-
- ファイルが存在しない場合: 新規作成
|
|
330
|
-
- ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
|
|
331
|
-
|
|
332
|
-
**レポートフォーマット:**
|
|
333
|
-
```markdown
|
|
334
|
-
# アーキテクチャレビュー
|
|
335
|
-
|
|
336
|
-
## 結果: APPROVE / IMPROVE / REJECT
|
|
337
|
-
|
|
338
|
-
## サマリー
|
|
339
|
-
{1-2文で結果を要約}
|
|
340
|
-
|
|
341
|
-
## 確認した観点
|
|
342
|
-
- [x] 構造・設計
|
|
343
|
-
- [x] コード品質
|
|
344
|
-
- [x] 変更スコープ
|
|
345
|
-
- [x] テストカバレッジ
|
|
346
|
-
- [x] デッドコード
|
|
347
|
-
- [x] 呼び出しチェーン検証
|
|
348
|
-
|
|
349
|
-
## 問題点(REJECTの場合)
|
|
350
|
-
| # | 場所 | 問題 | 修正案 |
|
|
351
|
-
|---|------|------|--------|
|
|
352
|
-
| 1 | `src/file.ts:42` | 問題の説明 | 修正方法 |
|
|
353
|
-
|
|
354
|
-
## 改善提案(任意・ブロッキングではない)
|
|
355
|
-
- {将来的な改善提案}
|
|
356
|
-
```
|
|
357
|
-
|
|
358
|
-
**認知負荷軽減ルール:**
|
|
359
|
-
- APPROVE + 問題なし → サマリーのみ(5行以内)
|
|
360
|
-
- APPROVE + 軽微な提案 → サマリー + 改善提案(15行以内)
|
|
361
|
-
- REJECT → 問題点を表形式で(30行以内)
|
|
362
|
-
transitions:
|
|
363
|
-
- condition: approved
|
|
364
|
-
next_step: ai_review
|
|
365
|
-
- condition: improve
|
|
366
|
-
next_step: improve
|
|
367
|
-
- condition: rejected
|
|
368
|
-
next_step: fix
|
|
369
|
-
|
|
370
|
-
- name: improve
|
|
371
|
-
agent: ~/.takt/agents/default/coder.md
|
|
372
|
-
allowed_tools:
|
|
373
|
-
- Read
|
|
374
|
-
- Glob
|
|
375
|
-
- Grep
|
|
376
|
-
- Edit
|
|
377
|
-
- Write
|
|
378
|
-
- Bash
|
|
379
|
-
- WebSearch
|
|
380
|
-
- WebFetch
|
|
381
|
-
permission_mode: acceptEdits
|
|
382
|
-
status_rules_prompt: |
|
|
383
|
-
## 出力フォーマット
|
|
384
|
-
|
|
385
|
-
| 状況 | タグ |
|
|
386
|
-
|------|------|
|
|
387
|
-
| 改善完了 | `[CODER:DONE]` |
|
|
388
|
-
| 判断できない/情報不足 | `[CODER:BLOCKED]` |
|
|
389
|
-
|
|
390
|
-
**重要**: 迷ったら `[BLOCKED]`。勝手に判断しない。
|
|
391
|
-
|
|
392
|
-
### 出力例
|
|
393
|
-
|
|
394
|
-
**DONE の場合:**
|
|
395
|
-
```
|
|
396
|
-
改善を完了しました。
|
|
397
|
-
- 命名を改善: `data` → `userData`
|
|
398
|
-
- コメントを追加
|
|
399
|
-
|
|
400
|
-
[CODER:DONE]
|
|
401
|
-
```
|
|
402
|
-
|
|
403
|
-
**BLOCKED の場合:**
|
|
404
|
-
```
|
|
405
|
-
[CODER:BLOCKED]
|
|
406
|
-
|
|
407
|
-
理由: 改善の意図が不明確です
|
|
408
|
-
必要な情報: 具体的な改善内容
|
|
409
|
-
```
|
|
410
|
-
instruction_template: |
|
|
411
|
-
## Workflow Context
|
|
412
|
-
- Iteration: {iteration}/{max_iterations}(ワークフロー全体)
|
|
413
|
-
- Step Iteration: {step_iteration}(このステップの実行回数)
|
|
414
|
-
- Step: improve
|
|
415
|
-
|
|
416
|
-
## Architect Feedback (これが最新の指示です - 優先して対応してください)
|
|
417
|
-
{previous_response}
|
|
418
|
-
|
|
419
|
-
## Original User Request (ワークフロー開始時の元の要求 - 参考情報)
|
|
420
|
-
{task}
|
|
421
|
-
|
|
422
|
-
## Additional User Inputs
|
|
423
|
-
{user_inputs}
|
|
424
|
-
|
|
425
|
-
## Instructions
|
|
426
|
-
**重要**: Architectの改善提案に対応してください。
|
|
427
|
-
これらは軽微な改善であり、設計上の大きな問題ではありません。
|
|
428
|
-
|
|
429
|
-
以下のような改善を行ってください:
|
|
430
|
-
- 命名の改善
|
|
431
|
-
- 小さなリファクタリング
|
|
432
|
-
- コメントの追加・修正
|
|
433
|
-
- コードの整理
|
|
434
|
-
pass_previous_response: true
|
|
435
|
-
transitions:
|
|
436
|
-
- condition: done
|
|
437
|
-
next_step: review
|
|
438
|
-
- condition: blocked
|
|
439
|
-
next_step: plan
|
|
440
140
|
|
|
441
141
|
- name: ai_review
|
|
442
|
-
|
|
142
|
+
edit: false
|
|
143
|
+
agent: ../agents/default/ai-antipattern-reviewer.md
|
|
144
|
+
report:
|
|
145
|
+
name: 03-ai-review.md
|
|
146
|
+
format: |
|
|
147
|
+
```markdown
|
|
148
|
+
# AI生成コードレビュー
|
|
149
|
+
|
|
150
|
+
## 結果: APPROVE / REJECT
|
|
151
|
+
|
|
152
|
+
## サマリー
|
|
153
|
+
{1文で結果を要約}
|
|
154
|
+
|
|
155
|
+
## 検証した項目
|
|
156
|
+
| 観点 | 結果 | 備考 |
|
|
157
|
+
|------|------|------|
|
|
158
|
+
| 仮定の妥当性 | ✅ | - |
|
|
159
|
+
| API/ライブラリの実在 | ✅ | - |
|
|
160
|
+
| コンテキスト適合 | ✅ | - |
|
|
161
|
+
| スコープ | ✅ | - |
|
|
162
|
+
|
|
163
|
+
## 問題点(REJECTの場合)
|
|
164
|
+
| # | カテゴリ | 場所 | 問題 |
|
|
165
|
+
|---|---------|------|------|
|
|
166
|
+
| 1 | 幻覚API | `src/file.ts:23` | 存在しないメソッド |
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
**認知負荷軽減ルール:**
|
|
170
|
+
- 問題なし → サマリー1文 + チェック表のみ(10行以内)
|
|
171
|
+
- 問題あり → + 問題を表形式で(25行以内)
|
|
443
172
|
allowed_tools:
|
|
444
173
|
- Read
|
|
445
174
|
- Glob
|
|
446
175
|
- Grep
|
|
176
|
+
- Write
|
|
447
177
|
- WebSearch
|
|
448
178
|
- WebFetch
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
| 仮定が間違っている(動作に影響) | REJECT |
|
|
455
|
-
| もっともらしいが間違っているコード | REJECT |
|
|
456
|
-
| コードベースの文脈に重大な不整合 | REJECT |
|
|
457
|
-
| スコープクリープ | APPROVE(警告を付記) |
|
|
458
|
-
| 軽微なスタイルの逸脱のみ | APPROVE |
|
|
459
|
-
| コードが文脈に合い動作する | APPROVE |
|
|
460
|
-
|
|
461
|
-
**注意:** スコープクリープは警告として記載するが、それだけでREJECTしない。
|
|
462
|
-
|
|
463
|
-
## 出力フォーマット
|
|
464
|
-
|
|
465
|
-
| 状況 | タグ |
|
|
466
|
-
|------|------|
|
|
467
|
-
| AI特有の問題なし | `[AI_REVIEW:APPROVE]` |
|
|
468
|
-
| 問題あり | `[AI_REVIEW:REJECT]` |
|
|
469
|
-
|
|
470
|
-
### 出力例
|
|
471
|
-
|
|
472
|
-
**APPROVE の場合:**
|
|
473
|
-
```
|
|
474
|
-
[AI_REVIEW:APPROVE]
|
|
475
|
-
|
|
476
|
-
検証結果: 問題なし
|
|
477
|
-
```
|
|
478
|
-
|
|
479
|
-
**REJECT の場合:**
|
|
480
|
-
```
|
|
481
|
-
[AI_REVIEW:REJECT]
|
|
482
|
-
|
|
483
|
-
問題点:
|
|
484
|
-
1. 存在しないAPIを使用: `fetch.json()` → `response.json()`
|
|
485
|
-
```
|
|
179
|
+
rules:
|
|
180
|
+
- condition: AI特有の問題なし
|
|
181
|
+
next: reviewers
|
|
182
|
+
- condition: AI特有の問題あり
|
|
183
|
+
next: ai_fix
|
|
486
184
|
instruction_template: |
|
|
487
|
-
## Workflow Context
|
|
488
|
-
- Iteration: {iteration}/{max_iterations}(ワークフロー全体)
|
|
489
|
-
- Step Iteration: {step_iteration}(このステップの実行回数)
|
|
490
|
-
- Step: ai_review (AI生成コードレビュー)
|
|
491
|
-
- Report Directory: .takt/reports/{report_dir}/
|
|
492
|
-
- Report File: .takt/reports/{report_dir}/04-ai-review.md
|
|
493
|
-
|
|
494
|
-
## Original User Request (ワークフロー開始時の元の要求)
|
|
495
|
-
{task}
|
|
496
|
-
|
|
497
|
-
## Git Diff
|
|
498
|
-
```diff
|
|
499
|
-
{git_diff}
|
|
500
|
-
```
|
|
501
|
-
|
|
502
|
-
## Instructions
|
|
503
185
|
AI特有の問題についてコードをレビューしてください:
|
|
504
186
|
- 仮定の検証
|
|
505
187
|
- もっともらしいが間違っているパターン
|
|
506
188
|
- 既存コードベースとの適合性
|
|
507
189
|
- スコープクリープの検出
|
|
508
190
|
|
|
509
|
-
**レポート出力:** 上記の `Report File` に出力してください。
|
|
510
|
-
- ファイルが存在しない場合: 新規作成
|
|
511
|
-
- ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
|
|
512
|
-
|
|
513
|
-
**レポートフォーマット:**
|
|
514
|
-
```markdown
|
|
515
|
-
# AI生成コードレビュー
|
|
516
|
-
|
|
517
|
-
## 結果: APPROVE / REJECT
|
|
518
|
-
|
|
519
|
-
## サマリー
|
|
520
|
-
{1文で結果を要約}
|
|
521
|
-
|
|
522
|
-
## 検証した項目
|
|
523
|
-
| 観点 | 結果 | 備考 |
|
|
524
|
-
|------|------|------|
|
|
525
|
-
| 仮定の妥当性 | ✅ | - |
|
|
526
|
-
| API/ライブラリの実在 | ✅ | - |
|
|
527
|
-
| コンテキスト適合 | ✅ | - |
|
|
528
|
-
| スコープ | ✅ | - |
|
|
529
|
-
|
|
530
|
-
## 問題点(REJECTの場合)
|
|
531
|
-
| # | カテゴリ | 場所 | 問題 |
|
|
532
|
-
|---|---------|------|------|
|
|
533
|
-
| 1 | 幻覚API | `src/file.ts:23` | 存在しないメソッド |
|
|
534
|
-
```
|
|
535
|
-
|
|
536
|
-
**認知負荷軽減ルール:**
|
|
537
|
-
- 問題なし → サマリー1文 + チェック表のみ(10行以内)
|
|
538
|
-
- 問題あり → + 問題を表形式で(25行以内)
|
|
539
|
-
transitions:
|
|
540
|
-
- condition: approved
|
|
541
|
-
next_step: security_review
|
|
542
|
-
- condition: rejected
|
|
543
|
-
next_step: ai_fix
|
|
544
|
-
|
|
545
191
|
- name: ai_fix
|
|
546
|
-
|
|
192
|
+
edit: true
|
|
193
|
+
agent: ../agents/default/coder.md
|
|
547
194
|
allowed_tools:
|
|
548
195
|
- Read
|
|
549
196
|
- Glob
|
|
@@ -554,49 +201,15 @@ steps:
|
|
|
554
201
|
- WebSearch
|
|
555
202
|
- WebFetch
|
|
556
203
|
permission_mode: acceptEdits
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
| AI問題の修正完了 | `[CODER:DONE]` |
|
|
563
|
-
| 判断できない/情報不足 | `[CODER:BLOCKED]` |
|
|
564
|
-
|
|
565
|
-
**重要**: 迷ったら `[BLOCKED]`。勝手に判断しない。
|
|
566
|
-
|
|
567
|
-
### 出力例
|
|
568
|
-
|
|
569
|
-
**DONE の場合:**
|
|
570
|
-
```
|
|
571
|
-
AI Reviewerの指摘を修正しました。
|
|
572
|
-
- 存在しないAPIを修正: `fetch.json()` → `response.json()`
|
|
573
|
-
|
|
574
|
-
[CODER:DONE]
|
|
575
|
-
```
|
|
576
|
-
|
|
577
|
-
**BLOCKED の場合:**
|
|
578
|
-
```
|
|
579
|
-
[CODER:BLOCKED]
|
|
580
|
-
|
|
581
|
-
理由: 指摘された問題の修正方法が不明確です
|
|
582
|
-
必要な情報: 代替APIの仕様
|
|
583
|
-
```
|
|
204
|
+
rules:
|
|
205
|
+
- condition: AI問題の修正完了
|
|
206
|
+
next: reviewers
|
|
207
|
+
- condition: 判断できない、情報不足
|
|
208
|
+
next: plan
|
|
584
209
|
instruction_template: |
|
|
585
|
-
## Workflow Context
|
|
586
|
-
- Iteration: {iteration}/{max_iterations}(ワークフロー全体)
|
|
587
|
-
- Step Iteration: {step_iteration}(このステップの実行回数)
|
|
588
|
-
- Step: ai_fix
|
|
589
|
-
|
|
590
210
|
## AI Review Feedback (これが最新の指示です - 優先して対応してください)
|
|
591
211
|
{previous_response}
|
|
592
212
|
|
|
593
|
-
## Original User Request (ワークフロー開始時の元の要求 - 参考情報)
|
|
594
|
-
{task}
|
|
595
|
-
|
|
596
|
-
## Additional User Inputs
|
|
597
|
-
{user_inputs}
|
|
598
|
-
|
|
599
|
-
## Instructions
|
|
600
213
|
**重要**: AI Reviewerのフィードバックに対応してください。
|
|
601
214
|
以下に集中してください:
|
|
602
215
|
- 間違った仮定の修正
|
|
@@ -604,182 +217,126 @@ steps:
|
|
|
604
217
|
- 既存コードベースのパターンとの整合
|
|
605
218
|
- スコープクリープの除去
|
|
606
219
|
pass_previous_response: true
|
|
607
|
-
transitions:
|
|
608
|
-
- condition: done
|
|
609
|
-
next_step: review
|
|
610
|
-
- condition: blocked
|
|
611
|
-
next_step: plan
|
|
612
|
-
|
|
613
|
-
- name: security_review
|
|
614
|
-
agent: ~/.takt/agents/default/security.md
|
|
615
|
-
allowed_tools:
|
|
616
|
-
- Read
|
|
617
|
-
- Glob
|
|
618
|
-
- Grep
|
|
619
|
-
- WebSearch
|
|
620
|
-
- WebFetch
|
|
621
|
-
status_rules_prompt: |
|
|
622
|
-
## 判定基準
|
|
623
|
-
|
|
624
|
-
| 状況 | 判定 |
|
|
625
|
-
|------|------|
|
|
626
|
-
| 重大な脆弱性 | REJECT |
|
|
627
|
-
| 中程度の脆弱性 | REJECT |
|
|
628
|
-
| 軽微な問題・警告のみ | APPROVE(警告を付記) |
|
|
629
|
-
| セキュリティ問題なし | APPROVE |
|
|
630
|
-
|
|
631
|
-
## 出力フォーマット
|
|
632
|
-
|
|
633
|
-
| 状況 | タグ |
|
|
634
|
-
|------|------|
|
|
635
|
-
| セキュリティ問題なし | `[SECURITY:APPROVE]` |
|
|
636
|
-
| 脆弱性があり修正が必要 | `[SECURITY:REJECT]` |
|
|
637
|
-
|
|
638
|
-
### 出力例
|
|
639
|
-
|
|
640
|
-
**APPROVE の場合:**
|
|
641
|
-
```
|
|
642
|
-
[SECURITY:APPROVE]
|
|
643
|
-
|
|
644
|
-
セキュリティ問題は検出されませんでした。
|
|
645
|
-
```
|
|
646
|
-
|
|
647
|
-
**REJECT の場合:**
|
|
648
|
-
```
|
|
649
|
-
[SECURITY:REJECT]
|
|
650
|
-
|
|
651
|
-
脆弱性:
|
|
652
|
-
1. SQLインジェクション: `src/db.ts:42`
|
|
653
|
-
修正案: パラメータ化クエリを使用
|
|
654
|
-
```
|
|
655
|
-
instruction_template: |
|
|
656
|
-
## Workflow Context
|
|
657
|
-
- Iteration: {iteration}/{max_iterations}(ワークフロー全体)
|
|
658
|
-
- Step Iteration: {step_iteration}(このステップの実行回数)
|
|
659
|
-
- Step: security_review
|
|
660
|
-
- Report Directory: .takt/reports/{report_dir}/
|
|
661
|
-
- Report File: .takt/reports/{report_dir}/05-security-review.md
|
|
662
|
-
|
|
663
|
-
## Original User Request (ワークフロー開始時の元の要求)
|
|
664
|
-
{task}
|
|
665
|
-
|
|
666
|
-
## Git Diff
|
|
667
|
-
```diff
|
|
668
|
-
{git_diff}
|
|
669
|
-
```
|
|
670
|
-
|
|
671
|
-
## Instructions
|
|
672
|
-
変更に対してセキュリティレビューを行ってください。以下の脆弱性を確認してください:
|
|
673
|
-
- インジェクション攻撃(SQL, コマンド, XSS)
|
|
674
|
-
- 認証・認可の問題
|
|
675
|
-
- データ露出リスク
|
|
676
|
-
- 暗号化の弱点
|
|
677
|
-
|
|
678
|
-
**レポート出力:** 上記の `Report File` に出力してください。
|
|
679
|
-
- ファイルが存在しない場合: 新規作成
|
|
680
|
-
- ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
|
|
681
|
-
|
|
682
|
-
**レポートフォーマット:**
|
|
683
|
-
```markdown
|
|
684
|
-
# セキュリティレビュー
|
|
685
|
-
|
|
686
|
-
## 結果: APPROVE / REJECT
|
|
687
|
-
|
|
688
|
-
## 重大度: None / Low / Medium / High / Critical
|
|
689
|
-
|
|
690
|
-
## チェック結果
|
|
691
|
-
| カテゴリ | 結果 | 備考 |
|
|
692
|
-
|---------|------|------|
|
|
693
|
-
| インジェクション | ✅ | - |
|
|
694
|
-
| 認証・認可 | ✅ | - |
|
|
695
|
-
| データ保護 | ✅ | - |
|
|
696
|
-
| 依存関係 | ✅ | - |
|
|
697
|
-
|
|
698
|
-
## 脆弱性(REJECTの場合)
|
|
699
|
-
| # | 重大度 | 種類 | 場所 | 修正案 |
|
|
700
|
-
|---|--------|------|------|--------|
|
|
701
|
-
| 1 | High | SQLi | `src/db.ts:42` | パラメータ化クエリを使用 |
|
|
702
220
|
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
221
|
+
- name: reviewers
|
|
222
|
+
parallel:
|
|
223
|
+
- name: arch-review
|
|
224
|
+
edit: false
|
|
225
|
+
agent: ../agents/default/architecture-reviewer.md
|
|
226
|
+
report:
|
|
227
|
+
name: 04-architect-review.md
|
|
228
|
+
format: |
|
|
229
|
+
```markdown
|
|
230
|
+
# アーキテクチャレビュー
|
|
231
|
+
|
|
232
|
+
## 結果: APPROVE / IMPROVE / REJECT
|
|
233
|
+
|
|
234
|
+
## サマリー
|
|
235
|
+
{1-2文で結果を要約}
|
|
236
|
+
|
|
237
|
+
## 確認した観点
|
|
238
|
+
- [x] 構造・設計
|
|
239
|
+
- [x] コード品質
|
|
240
|
+
- [x] 変更スコープ
|
|
241
|
+
- [x] テストカバレッジ
|
|
242
|
+
- [x] デッドコード
|
|
243
|
+
- [x] 呼び出しチェーン検証
|
|
244
|
+
|
|
245
|
+
## 問題点(REJECTの場合)
|
|
246
|
+
| # | 場所 | 問題 | 修正案 |
|
|
247
|
+
|---|------|------|--------|
|
|
248
|
+
| 1 | `src/file.ts:42` | 問題の説明 | 修正方法 |
|
|
249
|
+
|
|
250
|
+
## 改善提案(任意・ブロッキングではない)
|
|
251
|
+
- {将来的な改善提案}
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
**認知負荷軽減ルール:**
|
|
255
|
+
- APPROVE + 問題なし → サマリーのみ(5行以内)
|
|
256
|
+
- APPROVE + 軽微な提案 → サマリー + 改善提案(15行以内)
|
|
257
|
+
- REJECT → 問題点を表形式で(30行以内)
|
|
258
|
+
allowed_tools:
|
|
259
|
+
- Read
|
|
260
|
+
- Glob
|
|
261
|
+
- Grep
|
|
262
|
+
- Write
|
|
263
|
+
- WebSearch
|
|
264
|
+
- WebFetch
|
|
265
|
+
rules:
|
|
266
|
+
- condition: approved
|
|
267
|
+
- condition: needs_fix
|
|
268
|
+
instruction_template: |
|
|
269
|
+
**アーキテクチャと設計**のレビューに集中してください。AI特有の問題はレビューしないでください(ai_reviewステップで行います)。
|
|
270
|
+
|
|
271
|
+
変更をレビューしてフィードバックを提供してください。
|
|
272
|
+
|
|
273
|
+
**レビュー観点:**
|
|
274
|
+
- 構造・設計の妥当性
|
|
275
|
+
- コード品質
|
|
276
|
+
- 変更スコープの適切性
|
|
277
|
+
- テストカバレッジ
|
|
278
|
+
- デッドコード
|
|
279
|
+
- 呼び出しチェーン検証
|
|
280
|
+
|
|
281
|
+
- name: security-review
|
|
282
|
+
edit: false
|
|
283
|
+
agent: ../agents/default/security-reviewer.md
|
|
284
|
+
report:
|
|
285
|
+
name: 05-security-review.md
|
|
286
|
+
format: |
|
|
287
|
+
```markdown
|
|
288
|
+
# セキュリティレビュー
|
|
289
|
+
|
|
290
|
+
## 結果: APPROVE / REJECT
|
|
291
|
+
|
|
292
|
+
## 重大度: None / Low / Medium / High / Critical
|
|
293
|
+
|
|
294
|
+
## チェック結果
|
|
295
|
+
| カテゴリ | 結果 | 備考 |
|
|
296
|
+
|---------|------|------|
|
|
297
|
+
| インジェクション | ✅ | - |
|
|
298
|
+
| 認証・認可 | ✅ | - |
|
|
299
|
+
| データ保護 | ✅ | - |
|
|
300
|
+
| 依存関係 | ✅ | - |
|
|
301
|
+
|
|
302
|
+
## 脆弱性(REJECTの場合)
|
|
303
|
+
| # | 重大度 | 種類 | 場所 | 修正案 |
|
|
304
|
+
|---|--------|------|------|--------|
|
|
305
|
+
| 1 | High | SQLi | `src/db.ts:42` | パラメータ化クエリを使用 |
|
|
306
|
+
|
|
307
|
+
## 警告(ブロッキングではない)
|
|
308
|
+
- {セキュリティに関する推奨事項}
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
**認知負荷軽減ルール:**
|
|
312
|
+
- 問題なし → チェック表のみ(10行以内)
|
|
313
|
+
- 警告あり → + 警告を1-2行(15行以内)
|
|
314
|
+
- 脆弱性あり → + 表形式で(30行以内)
|
|
315
|
+
allowed_tools:
|
|
316
|
+
- Read
|
|
317
|
+
- Glob
|
|
318
|
+
- Grep
|
|
319
|
+
- Write
|
|
320
|
+
- WebSearch
|
|
321
|
+
- WebFetch
|
|
322
|
+
rules:
|
|
323
|
+
- condition: approved
|
|
324
|
+
- condition: needs_fix
|
|
325
|
+
instruction_template: |
|
|
326
|
+
変更に対してセキュリティレビューを行ってください。以下の脆弱性を確認してください:
|
|
327
|
+
- インジェクション攻撃(SQL, コマンド, XSS)
|
|
328
|
+
- 認証・認可の問題
|
|
329
|
+
- データ露出リスク
|
|
330
|
+
- 暗号化の弱点
|
|
331
|
+
rules:
|
|
332
|
+
- condition: all("approved")
|
|
333
|
+
next: supervise
|
|
334
|
+
- condition: any("needs_fix")
|
|
335
|
+
next: fix
|
|
780
336
|
|
|
781
337
|
- name: fix
|
|
782
|
-
|
|
338
|
+
edit: true
|
|
339
|
+
agent: ../agents/default/coder.md
|
|
783
340
|
allowed_tools:
|
|
784
341
|
- Read
|
|
785
342
|
- Glob
|
|
@@ -790,128 +347,39 @@ steps:
|
|
|
790
347
|
- WebSearch
|
|
791
348
|
- WebFetch
|
|
792
349
|
permission_mode: acceptEdits
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
| Architectの指摘を修正完了 | `[CODER:DONE]` |
|
|
799
|
-
| 判断できない/情報不足 | `[CODER:BLOCKED]` |
|
|
800
|
-
|
|
801
|
-
**重要**: 迷ったら `[BLOCKED]`。勝手に判断しない。
|
|
802
|
-
|
|
803
|
-
### 出力例
|
|
804
|
-
|
|
805
|
-
**DONE の場合:**
|
|
806
|
-
```
|
|
807
|
-
Architectの指摘を修正しました。
|
|
808
|
-
- ファイル分割: 3ファイルに分割
|
|
809
|
-
- 型定義を追加
|
|
810
|
-
|
|
811
|
-
[CODER:DONE]
|
|
812
|
-
```
|
|
813
|
-
|
|
814
|
-
**BLOCKED の場合:**
|
|
815
|
-
```
|
|
816
|
-
[CODER:BLOCKED]
|
|
817
|
-
|
|
818
|
-
理由: 修正方針が不明確です
|
|
819
|
-
必要な情報: 分割の具体的な方法
|
|
820
|
-
```
|
|
350
|
+
rules:
|
|
351
|
+
- condition: 修正完了
|
|
352
|
+
next: reviewers
|
|
353
|
+
- condition: 判断できない、情報不足
|
|
354
|
+
next: plan
|
|
821
355
|
instruction_template: |
|
|
822
|
-
##
|
|
823
|
-
- Iteration: {iteration}/{max_iterations}(ワークフロー全体)
|
|
824
|
-
- Step Iteration: {step_iteration}(このステップの実行回数)
|
|
825
|
-
- Step: fix
|
|
826
|
-
|
|
827
|
-
## Architect Feedback (これが最新の指示です - 優先して対応してください)
|
|
356
|
+
## Review Feedback (これが最新の指示です - 優先して対応してください)
|
|
828
357
|
{previous_response}
|
|
829
358
|
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
## Additional User Inputs
|
|
834
|
-
{user_inputs}
|
|
835
|
-
|
|
836
|
-
## Instructions
|
|
837
|
-
**重要**: Architectのフィードバックに対応してください。
|
|
838
|
-
「Original User Request」は参考情報であり、最新の指示ではありません。
|
|
839
|
-
セッションの会話履歴を確認し、Architectの指摘事項を修正してください。
|
|
359
|
+
**重要**: レビュアーのフィードバックに対応してください。
|
|
360
|
+
セッションの会話履歴を確認し、レビュアーの指摘事項を修正してください。
|
|
840
361
|
pass_previous_response: true
|
|
841
|
-
transitions:
|
|
842
|
-
- condition: done
|
|
843
|
-
next_step: review
|
|
844
|
-
- condition: blocked
|
|
845
|
-
next_step: plan
|
|
846
362
|
|
|
847
363
|
- name: supervise
|
|
848
|
-
|
|
364
|
+
edit: false
|
|
365
|
+
agent: ../agents/default/supervisor.md
|
|
366
|
+
report:
|
|
367
|
+
- Validation: 06-supervisor-validation.md
|
|
368
|
+
- Summary: summary.md
|
|
849
369
|
allowed_tools:
|
|
850
370
|
- Read
|
|
851
371
|
- Glob
|
|
852
372
|
- Grep
|
|
373
|
+
- Write
|
|
853
374
|
- Bash
|
|
854
375
|
- WebSearch
|
|
855
376
|
- WebFetch
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
| 要求が満たされていない | REJECT |
|
|
862
|
-
| テストが失敗する | REJECT |
|
|
863
|
-
| ビルドが通らない | REJECT |
|
|
864
|
-
| その場しのぎが残っている | REJECT |
|
|
865
|
-
| すべて問題なし | APPROVE |
|
|
866
|
-
|
|
867
|
-
**原則**: 疑わしきは REJECT。曖昧な承認はしない。
|
|
868
|
-
|
|
869
|
-
## 出力フォーマット
|
|
870
|
-
|
|
871
|
-
| 状況 | タグ |
|
|
872
|
-
|------|------|
|
|
873
|
-
| 最終承認 | `[SUPERVISOR:APPROVE]` |
|
|
874
|
-
| 差し戻し | `[SUPERVISOR:REJECT]` |
|
|
875
|
-
|
|
876
|
-
### 出力例
|
|
877
|
-
|
|
878
|
-
**APPROVE の場合:**
|
|
879
|
-
```
|
|
880
|
-
[SUPERVISOR:APPROVE]
|
|
881
|
-
|
|
882
|
-
検証結果:
|
|
883
|
-
- テスト: ✅ 全件パス
|
|
884
|
-
- ビルド: ✅ 成功
|
|
885
|
-
- 要求充足: ✅
|
|
886
|
-
```
|
|
887
|
-
|
|
888
|
-
**REJECT の場合:**
|
|
889
|
-
```
|
|
890
|
-
[SUPERVISOR:REJECT]
|
|
891
|
-
|
|
892
|
-
問題点:
|
|
893
|
-
1. テストが失敗: `npm test` で 2 件失敗
|
|
894
|
-
2. 元の要求を満たしていない: ログイン機能が未実装
|
|
895
|
-
```
|
|
377
|
+
rules:
|
|
378
|
+
- condition: すべて問題なし
|
|
379
|
+
next: COMPLETE
|
|
380
|
+
- condition: 要求未達成、テスト失敗、ビルドエラー
|
|
381
|
+
next: plan
|
|
896
382
|
instruction_template: |
|
|
897
|
-
## Workflow Context
|
|
898
|
-
- Iteration: {iteration}/{max_iterations}(ワークフロー全体)
|
|
899
|
-
- Step Iteration: {step_iteration}(このステップの実行回数)
|
|
900
|
-
- Step: supervise (final verification)
|
|
901
|
-
- Report Directory: .takt/reports/{report_dir}/
|
|
902
|
-
- Report Files:
|
|
903
|
-
- Validation: .takt/reports/{report_dir}/06-supervisor-validation.md
|
|
904
|
-
- Summary: .takt/reports/{report_dir}/summary.md
|
|
905
|
-
|
|
906
|
-
## Original User Request
|
|
907
|
-
{task}
|
|
908
|
-
|
|
909
|
-
## Git Diff
|
|
910
|
-
```diff
|
|
911
|
-
{git_diff}
|
|
912
|
-
```
|
|
913
|
-
|
|
914
|
-
## Instructions
|
|
915
383
|
テスト実行、ビルド確認、最終承認を行ってください。
|
|
916
384
|
|
|
917
385
|
**ワークフロー全体の確認:**
|
|
@@ -922,10 +390,6 @@ steps:
|
|
|
922
390
|
**レポートの確認:** Report Directory内の全レポートを読み、
|
|
923
391
|
未対応の改善提案がないか確認してください。
|
|
924
392
|
|
|
925
|
-
**レポート出力:** 上記の `Report Files` に出力してください。
|
|
926
|
-
- ファイルが存在しない場合: 新規作成
|
|
927
|
-
- ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
|
|
928
|
-
|
|
929
393
|
**Validationレポートフォーマット:**
|
|
930
394
|
```markdown
|
|
931
395
|
# 最終検証結果
|
|
@@ -979,8 +443,3 @@ steps:
|
|
|
979
443
|
npm run build
|
|
980
444
|
```
|
|
981
445
|
```
|
|
982
|
-
transitions:
|
|
983
|
-
- condition: approved
|
|
984
|
-
next_step: COMPLETE
|
|
985
|
-
- condition: rejected
|
|
986
|
-
next_step: plan
|