takt 0.1.6 → 0.1.7
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/dist/models/schemas.js
CHANGED
|
@@ -117,10 +117,10 @@ export const ProjectConfigSchema = z.object({
|
|
|
117
117
|
* Custom agents can override these patterns in their configuration.
|
|
118
118
|
*/
|
|
119
119
|
export const GENERIC_STATUS_PATTERNS = {
|
|
120
|
-
approved: '\\[\\w+:APPROVE\\]',
|
|
121
|
-
rejected: '\\[\\w+:REJECT\\]',
|
|
122
|
-
improve: '\\[\\w+:IMPROVE\\]',
|
|
123
|
-
done: '\\[\\w+:(DONE|FIXED)\\]',
|
|
124
|
-
blocked: '\\[\\w+:BLOCKED\\]',
|
|
120
|
+
approved: '\\[[\\w-]+:APPROVE\\]',
|
|
121
|
+
rejected: '\\[[\\w-]+:REJECT\\]',
|
|
122
|
+
improve: '\\[[\\w-]+:IMPROVE\\]',
|
|
123
|
+
done: '\\[[\\w-]+:(DONE|FIXED)\\]',
|
|
124
|
+
blocked: '\\[[\\w-]+:BLOCKED\\]',
|
|
125
125
|
};
|
|
126
126
|
//# sourceMappingURL=schemas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/models/schemas.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,wBAAwB;AACxB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEtF,oBAAoB;AACpB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC;IACjC,SAAS;IACT,aAAa;IACb,MAAM;IACN,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,WAAW;IACX,aAAa;CACd,CAAC,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC9C,MAAM;IACN,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;CACT,CAAC,CAAC;AAEH,mCAAmC;AACnC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;AAEjF,iCAAiC;AACjC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,SAAS,EAAE,yBAAyB;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC5B,CAAC,CAAC;AAEH,6CAA6C;AAC7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,kGAAkG;IAClG,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC7C,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3C,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,sBAAsB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC5D,YAAY,EAAE,wBAAwB,CAAC,QAAQ,EAAE;IACjD,WAAW,EAAE,CAAC,CAAC,KAAK,CAClB,CAAC,CAAC,MAAM,CAAC;QACP,SAAS,EAAE,yBAAyB;QACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC7B,CAAC,CACH,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CACzB,CAAC,CAAC;AAEH,sDAAsD;AACtD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAClE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAEH,wCAAwC;AACxC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC7C,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC,MAAM,CACP,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,EACnF,EAAE,OAAO,EAAE,oEAAoE,EAAE,CAClF,CAAC;AAEF,0BAA0B;AAC1B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEH,8BAA8B;AAC9B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAEnD,2BAA2B;AAC3B,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAC7D,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/D,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1D,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;IAChF,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC1E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,KAAK,EAAE,iBAAiB,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAEH,4BAA4B;AAC5B,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE;IACnD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;CACzD,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAA2B;IAC7D,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/models/schemas.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,594 @@
|
|
|
1
|
+
# Simple TAKT Workflow
|
|
2
|
+
# Plan -> Coder -> Architect Review -> AI Review -> Supervisor Approval
|
|
3
|
+
# (Simplified version of default - removed improve, fix, ai_fix, security_review, security_fix)
|
|
4
|
+
#
|
|
5
|
+
# Template Variables:
|
|
6
|
+
# {iteration} - Workflow-wide turn count (total steps executed across all agents)
|
|
7
|
+
# {max_iterations} - Maximum iterations allowed for the workflow
|
|
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
|
|
13
|
+
# {report_dir} - Report directory name (e.g., "20250126-143052-task-summary")
|
|
14
|
+
|
|
15
|
+
name: simple
|
|
16
|
+
description: Simplified development workflow (plan -> implement -> review -> ai_review -> supervise)
|
|
17
|
+
|
|
18
|
+
max_iterations: 20
|
|
19
|
+
|
|
20
|
+
initial_step: plan
|
|
21
|
+
|
|
22
|
+
steps:
|
|
23
|
+
- name: plan
|
|
24
|
+
agent: ~/.takt/agents/default/planner.md
|
|
25
|
+
allowed_tools:
|
|
26
|
+
- Read
|
|
27
|
+
- Glob
|
|
28
|
+
- Grep
|
|
29
|
+
- Bash
|
|
30
|
+
- WebSearch
|
|
31
|
+
- WebFetch
|
|
32
|
+
status_rules_prompt: |
|
|
33
|
+
# ⚠️ REQUIRED: Status Output Rules ⚠️
|
|
34
|
+
|
|
35
|
+
**Without this tag, the workflow will stop.**
|
|
36
|
+
Your final output MUST include a status tag following the rules below.
|
|
37
|
+
|
|
38
|
+
## Judgment Criteria
|
|
39
|
+
|
|
40
|
+
| Situation | Judgment |
|
|
41
|
+
|-----------|----------|
|
|
42
|
+
| Requirements clear and implementable | DONE |
|
|
43
|
+
| Requirements unclear, insufficient info | BLOCKED |
|
|
44
|
+
|
|
45
|
+
## Output Format
|
|
46
|
+
|
|
47
|
+
| Situation | Tag |
|
|
48
|
+
|-----------|-----|
|
|
49
|
+
| Analysis complete | `[PLANNER:DONE]` |
|
|
50
|
+
| Insufficient info | `[PLANNER:BLOCKED]` |
|
|
51
|
+
|
|
52
|
+
### Output Examples
|
|
53
|
+
|
|
54
|
+
**DONE case:**
|
|
55
|
+
```
|
|
56
|
+
[PLANNER:DONE]
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**BLOCKED case:**
|
|
60
|
+
```
|
|
61
|
+
[PLANNER:BLOCKED]
|
|
62
|
+
|
|
63
|
+
Clarifications needed:
|
|
64
|
+
- {Question 1}
|
|
65
|
+
- {Question 2}
|
|
66
|
+
```
|
|
67
|
+
instruction_template: |
|
|
68
|
+
## Workflow Context
|
|
69
|
+
- Iteration: {iteration}/{max_iterations} (workflow-wide)
|
|
70
|
+
- Step Iteration: {step_iteration} (times this step has run)
|
|
71
|
+
- Step: plan (Task Analysis)
|
|
72
|
+
- Report Directory: .takt/reports/{report_dir}/
|
|
73
|
+
- Report File: .takt/reports/{report_dir}/00-plan.md
|
|
74
|
+
|
|
75
|
+
## User Request
|
|
76
|
+
{task}
|
|
77
|
+
|
|
78
|
+
## Previous Response (when returned from implement)
|
|
79
|
+
{previous_response}
|
|
80
|
+
|
|
81
|
+
## Instructions
|
|
82
|
+
Analyze the task and create an implementation plan.
|
|
83
|
+
|
|
84
|
+
**Note:** If returned from implement step (Previous Response exists),
|
|
85
|
+
review and revise the plan based on that feedback (replan).
|
|
86
|
+
|
|
87
|
+
**Tasks:**
|
|
88
|
+
1. Understand the requirements
|
|
89
|
+
2. Identify impact scope
|
|
90
|
+
3. Decide implementation approach
|
|
91
|
+
|
|
92
|
+
**Report output:** Output to the `Report File` specified above.
|
|
93
|
+
- If file does not exist: Create new file
|
|
94
|
+
- If file exists: Append with `## Iteration {step_iteration}` section
|
|
95
|
+
|
|
96
|
+
**Report format:**
|
|
97
|
+
```markdown
|
|
98
|
+
# Task Plan
|
|
99
|
+
|
|
100
|
+
## Original Request
|
|
101
|
+
{User's request as-is}
|
|
102
|
+
|
|
103
|
+
## Analysis Results
|
|
104
|
+
|
|
105
|
+
### Objective
|
|
106
|
+
{What needs to be achieved}
|
|
107
|
+
|
|
108
|
+
### Scope
|
|
109
|
+
{Impact scope}
|
|
110
|
+
|
|
111
|
+
### Implementation Approach
|
|
112
|
+
{How to proceed}
|
|
113
|
+
|
|
114
|
+
## Clarifications Needed (if any)
|
|
115
|
+
- {Unclear points or items requiring confirmation}
|
|
116
|
+
```
|
|
117
|
+
pass_previous_response: true
|
|
118
|
+
transitions:
|
|
119
|
+
- condition: done
|
|
120
|
+
next_step: implement
|
|
121
|
+
- condition: blocked
|
|
122
|
+
next_step: ABORT
|
|
123
|
+
|
|
124
|
+
- name: implement
|
|
125
|
+
agent: ~/.takt/agents/default/coder.md
|
|
126
|
+
allowed_tools:
|
|
127
|
+
- Read
|
|
128
|
+
- Glob
|
|
129
|
+
- Grep
|
|
130
|
+
- Edit
|
|
131
|
+
- Write
|
|
132
|
+
- Bash
|
|
133
|
+
- WebSearch
|
|
134
|
+
- WebFetch
|
|
135
|
+
status_rules_prompt: |
|
|
136
|
+
# ⚠️ REQUIRED: Status Output Rules ⚠️
|
|
137
|
+
|
|
138
|
+
**Without this tag, the workflow will stop.**
|
|
139
|
+
Your final output MUST include a status tag following the rules below.
|
|
140
|
+
|
|
141
|
+
## Output Format
|
|
142
|
+
|
|
143
|
+
| Situation | Tag |
|
|
144
|
+
|-----------|-----|
|
|
145
|
+
| Implementation complete | `[CODER:DONE]` |
|
|
146
|
+
| Cannot decide/insufficient info | `[CODER:BLOCKED]` |
|
|
147
|
+
|
|
148
|
+
**Important**: When in doubt, `[BLOCKED]`. Don't decide on your own.
|
|
149
|
+
|
|
150
|
+
### Output Examples
|
|
151
|
+
|
|
152
|
+
**DONE case:**
|
|
153
|
+
```
|
|
154
|
+
Implementation complete.
|
|
155
|
+
- Created: `src/auth/service.ts`, `tests/auth.test.ts`
|
|
156
|
+
- Modified: `src/routes.ts`
|
|
157
|
+
|
|
158
|
+
[CODER:DONE]
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
**BLOCKED case:**
|
|
162
|
+
```
|
|
163
|
+
[CODER:BLOCKED]
|
|
164
|
+
|
|
165
|
+
Reason: DB schema is undefined, cannot implement
|
|
166
|
+
Required info: users table structure
|
|
167
|
+
```
|
|
168
|
+
instruction_template: |
|
|
169
|
+
## Workflow Context
|
|
170
|
+
- Iteration: {iteration}/{max_iterations} (workflow-wide)
|
|
171
|
+
- Step Iteration: {step_iteration} (times this step has run)
|
|
172
|
+
- Step: implement
|
|
173
|
+
- Report Directory: .takt/reports/{report_dir}/
|
|
174
|
+
- Report Files:
|
|
175
|
+
- Scope: .takt/reports/{report_dir}/01-coder-scope.md
|
|
176
|
+
- Decisions: .takt/reports/{report_dir}/02-coder-decisions.md
|
|
177
|
+
|
|
178
|
+
## User Request
|
|
179
|
+
{task}
|
|
180
|
+
|
|
181
|
+
## Additional User Inputs
|
|
182
|
+
{user_inputs}
|
|
183
|
+
|
|
184
|
+
## Instructions
|
|
185
|
+
Follow the plan from the plan step and implement.
|
|
186
|
+
Refer to the plan report (00-plan.md) and proceed with implementation.
|
|
187
|
+
|
|
188
|
+
**Report output:** Output to the `Report Files` specified above.
|
|
189
|
+
- If file does not exist: Create new file
|
|
190
|
+
- If file exists: Append with `## Iteration {step_iteration}` section
|
|
191
|
+
|
|
192
|
+
**Scope report format (create at implementation start):**
|
|
193
|
+
```markdown
|
|
194
|
+
# Change Scope Declaration
|
|
195
|
+
|
|
196
|
+
## Task
|
|
197
|
+
{One-line task summary}
|
|
198
|
+
|
|
199
|
+
## Planned Changes
|
|
200
|
+
| Type | File |
|
|
201
|
+
|------|------|
|
|
202
|
+
| Create | `src/example.ts` |
|
|
203
|
+
| Modify | `src/routes.ts` |
|
|
204
|
+
|
|
205
|
+
## Estimated Size
|
|
206
|
+
Small / Medium / Large
|
|
207
|
+
|
|
208
|
+
## Impact Scope
|
|
209
|
+
- {Affected modules or features}
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
**Decisions report format (on completion, only if decisions were made):**
|
|
213
|
+
```markdown
|
|
214
|
+
# Decision Log
|
|
215
|
+
|
|
216
|
+
## 1. {Decision Content}
|
|
217
|
+
- **Background**: {Why the decision was needed}
|
|
218
|
+
- **Options Considered**: {List of options}
|
|
219
|
+
- **Reason**: {Why this option was chosen}
|
|
220
|
+
```
|
|
221
|
+
transitions:
|
|
222
|
+
- condition: done
|
|
223
|
+
next_step: review
|
|
224
|
+
- condition: blocked
|
|
225
|
+
next_step: plan
|
|
226
|
+
|
|
227
|
+
- name: review
|
|
228
|
+
agent: ~/.takt/agents/default/architect.md
|
|
229
|
+
allowed_tools:
|
|
230
|
+
- Read
|
|
231
|
+
- Glob
|
|
232
|
+
- Grep
|
|
233
|
+
- WebSearch
|
|
234
|
+
- WebFetch
|
|
235
|
+
status_rules_prompt: |
|
|
236
|
+
# ⚠️ REQUIRED: Status Output Rules ⚠️
|
|
237
|
+
|
|
238
|
+
**Without this tag, the workflow will stop.**
|
|
239
|
+
Your final output MUST include a status tag following the rules below.
|
|
240
|
+
|
|
241
|
+
## Judgment Criteria
|
|
242
|
+
|
|
243
|
+
| Situation | Judgment |
|
|
244
|
+
|-----------|----------|
|
|
245
|
+
| Structural issues | REJECT |
|
|
246
|
+
| Design principle violations | REJECT |
|
|
247
|
+
| Security issues | REJECT |
|
|
248
|
+
| Insufficient tests | REJECT |
|
|
249
|
+
| No issues | APPROVE |
|
|
250
|
+
|
|
251
|
+
**Note:** In simple workflow, IMPROVE is not used.
|
|
252
|
+
If there are minor suggestions, use APPROVE + comments.
|
|
253
|
+
|
|
254
|
+
## Output Format
|
|
255
|
+
|
|
256
|
+
| Situation | Tag |
|
|
257
|
+
|-----------|-----|
|
|
258
|
+
| No issues | `[ARCHITECT:APPROVE]` |
|
|
259
|
+
| Structural changes required | `[ARCHITECT:REJECT]` |
|
|
260
|
+
|
|
261
|
+
### Output Examples
|
|
262
|
+
|
|
263
|
+
**APPROVE case:**
|
|
264
|
+
```
|
|
265
|
+
[ARCHITECT:APPROVE]
|
|
266
|
+
|
|
267
|
+
Positive points:
|
|
268
|
+
- Appropriate module organization
|
|
269
|
+
- Single responsibility maintained
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
**REJECT case:**
|
|
273
|
+
```
|
|
274
|
+
[ARCHITECT:REJECT]
|
|
275
|
+
|
|
276
|
+
Issues:
|
|
277
|
+
1. File size exceeded
|
|
278
|
+
- Location: `src/services/user.ts` (523 lines)
|
|
279
|
+
- Fix: Split into 3 files
|
|
280
|
+
```
|
|
281
|
+
instruction_template: |
|
|
282
|
+
## Workflow Context
|
|
283
|
+
- Iteration: {iteration}/{max_iterations} (workflow-wide)
|
|
284
|
+
- Step Iteration: {step_iteration} (times this step has run)
|
|
285
|
+
- Step: review (Architecture Review)
|
|
286
|
+
- Report Directory: .takt/reports/{report_dir}/
|
|
287
|
+
- Report File: .takt/reports/{report_dir}/03-architect-review.md
|
|
288
|
+
|
|
289
|
+
## Original User Request (Initial request from workflow start)
|
|
290
|
+
{task}
|
|
291
|
+
|
|
292
|
+
## Git Diff
|
|
293
|
+
```diff
|
|
294
|
+
{git_diff}
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
## Instructions
|
|
298
|
+
Focus on **architecture and design** review. Do NOT review AI-specific issues (that's the next step).
|
|
299
|
+
|
|
300
|
+
Review the changes and provide feedback.
|
|
301
|
+
|
|
302
|
+
**Note:** In simple workflow, IMPROVE judgment is not used.
|
|
303
|
+
If there are minor suggestions, use APPROVE + comments.
|
|
304
|
+
|
|
305
|
+
**Report output:** Output to the `Report File` specified above.
|
|
306
|
+
- If file does not exist: Create new file
|
|
307
|
+
- If file exists: Append with `## Iteration {step_iteration}` section
|
|
308
|
+
|
|
309
|
+
**Report format:**
|
|
310
|
+
```markdown
|
|
311
|
+
# Architecture Review
|
|
312
|
+
|
|
313
|
+
## Result: APPROVE / REJECT
|
|
314
|
+
|
|
315
|
+
## Summary
|
|
316
|
+
{1-2 sentences summarizing result}
|
|
317
|
+
|
|
318
|
+
## Reviewed Perspectives
|
|
319
|
+
- [x] Structure & Design
|
|
320
|
+
- [x] Code Quality
|
|
321
|
+
- [x] Change Scope
|
|
322
|
+
|
|
323
|
+
## Issues (if REJECT)
|
|
324
|
+
| # | Location | Issue | Fix |
|
|
325
|
+
|---|----------|-------|-----|
|
|
326
|
+
| 1 | `src/file.ts:42` | Issue description | Fix method |
|
|
327
|
+
|
|
328
|
+
## Improvement Suggestions (optional, non-blocking)
|
|
329
|
+
- {Future improvement suggestions}
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
**Cognitive load reduction rules:**
|
|
333
|
+
- APPROVE + no issues → Summary only (5 lines or less)
|
|
334
|
+
- APPROVE + minor suggestions → Summary + suggestions (15 lines or less)
|
|
335
|
+
- REJECT → Issues in table format (30 lines or less)
|
|
336
|
+
transitions:
|
|
337
|
+
- condition: approved
|
|
338
|
+
next_step: ai_review
|
|
339
|
+
- condition: rejected
|
|
340
|
+
next_step: plan
|
|
341
|
+
|
|
342
|
+
- name: ai_review
|
|
343
|
+
agent: ~/.takt/agents/default/ai-reviewer.md
|
|
344
|
+
allowed_tools:
|
|
345
|
+
- Read
|
|
346
|
+
- Glob
|
|
347
|
+
- Grep
|
|
348
|
+
- WebSearch
|
|
349
|
+
- WebFetch
|
|
350
|
+
status_rules_prompt: |
|
|
351
|
+
# ⚠️ REQUIRED: Status Output Rules ⚠️
|
|
352
|
+
|
|
353
|
+
**Without this tag, the workflow will stop.**
|
|
354
|
+
Your final output MUST include a status tag following the rules below.
|
|
355
|
+
|
|
356
|
+
## Judgment Criteria
|
|
357
|
+
|
|
358
|
+
| Situation | Judgment |
|
|
359
|
+
|-----------|----------|
|
|
360
|
+
| Incorrect assumptions (affecting behavior) | REJECT |
|
|
361
|
+
| Plausible-but-wrong code | REJECT |
|
|
362
|
+
| Significant context mismatch with codebase | REJECT |
|
|
363
|
+
| Scope creep | APPROVE (with warning noted) |
|
|
364
|
+
| Minor style deviations only | APPROVE |
|
|
365
|
+
| Code fits context and works | APPROVE |
|
|
366
|
+
|
|
367
|
+
**Note:** Scope creep is noted as a warning but doesn't warrant REJECT alone.
|
|
368
|
+
|
|
369
|
+
## Output Format
|
|
370
|
+
|
|
371
|
+
| Situation | Tag |
|
|
372
|
+
|-----------|-----|
|
|
373
|
+
| No AI-specific issues | `[AI_REVIEW:APPROVE]` |
|
|
374
|
+
| Issues found | `[AI_REVIEW:REJECT]` |
|
|
375
|
+
|
|
376
|
+
### Output Examples
|
|
377
|
+
|
|
378
|
+
**APPROVE case:**
|
|
379
|
+
```
|
|
380
|
+
[AI_REVIEW:APPROVE]
|
|
381
|
+
|
|
382
|
+
Verification result: No issues
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
**REJECT case:**
|
|
386
|
+
```
|
|
387
|
+
[AI_REVIEW:REJECT]
|
|
388
|
+
|
|
389
|
+
Issues:
|
|
390
|
+
1. Non-existent API used: `fetch.json()` → `response.json()`
|
|
391
|
+
```
|
|
392
|
+
instruction_template: |
|
|
393
|
+
## Workflow Context
|
|
394
|
+
- Iteration: {iteration}/{max_iterations} (workflow-wide)
|
|
395
|
+
- Step Iteration: {step_iteration} (times this step has run)
|
|
396
|
+
- Step: ai_review (AI-Generated Code Review)
|
|
397
|
+
- Report Directory: .takt/reports/{report_dir}/
|
|
398
|
+
- Report File: .takt/reports/{report_dir}/04-ai-review.md
|
|
399
|
+
|
|
400
|
+
## Original User Request (Initial request from workflow start)
|
|
401
|
+
{task}
|
|
402
|
+
|
|
403
|
+
## Git Diff
|
|
404
|
+
```diff
|
|
405
|
+
{git_diff}
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
## Instructions
|
|
409
|
+
Review the code for AI-specific issues:
|
|
410
|
+
- Assumption validation
|
|
411
|
+
- Plausible but wrong patterns
|
|
412
|
+
- Context fit with existing codebase
|
|
413
|
+
- Scope creep detection
|
|
414
|
+
|
|
415
|
+
**Report output:** Output to the `Report File` specified above.
|
|
416
|
+
- If file does not exist: Create new file
|
|
417
|
+
- If file exists: Append with `## Iteration {step_iteration}` section
|
|
418
|
+
|
|
419
|
+
**Report format:**
|
|
420
|
+
```markdown
|
|
421
|
+
# AI-Generated Code Review
|
|
422
|
+
|
|
423
|
+
## Result: APPROVE / REJECT
|
|
424
|
+
|
|
425
|
+
## Summary
|
|
426
|
+
{One sentence summarizing result}
|
|
427
|
+
|
|
428
|
+
## Verified Items
|
|
429
|
+
| Aspect | Result | Notes |
|
|
430
|
+
|--------|--------|-------|
|
|
431
|
+
| Assumption validity | ✅ | - |
|
|
432
|
+
| API/Library existence | ✅ | - |
|
|
433
|
+
| Context fit | ✅ | - |
|
|
434
|
+
| Scope | ✅ | - |
|
|
435
|
+
|
|
436
|
+
## Issues (if REJECT)
|
|
437
|
+
| # | Category | Location | Issue |
|
|
438
|
+
|---|----------|----------|-------|
|
|
439
|
+
| 1 | Hallucinated API | `src/file.ts:23` | Non-existent method |
|
|
440
|
+
```
|
|
441
|
+
|
|
442
|
+
**Cognitive load reduction rules:**
|
|
443
|
+
- No issues → Summary 1 line + check table only (10 lines or less)
|
|
444
|
+
- Issues found → + Issues in table format (25 lines or less)
|
|
445
|
+
transitions:
|
|
446
|
+
- condition: approved
|
|
447
|
+
next_step: supervise
|
|
448
|
+
- condition: rejected
|
|
449
|
+
next_step: plan
|
|
450
|
+
|
|
451
|
+
- name: supervise
|
|
452
|
+
agent: ~/.takt/agents/default/supervisor.md
|
|
453
|
+
allowed_tools:
|
|
454
|
+
- Read
|
|
455
|
+
- Glob
|
|
456
|
+
- Grep
|
|
457
|
+
- Bash
|
|
458
|
+
- WebSearch
|
|
459
|
+
- WebFetch
|
|
460
|
+
status_rules_prompt: |
|
|
461
|
+
# ⚠️ REQUIRED: Status Output Rules ⚠️
|
|
462
|
+
|
|
463
|
+
**Without this tag, the workflow will stop.**
|
|
464
|
+
Your final output MUST include a status tag following the rules below.
|
|
465
|
+
|
|
466
|
+
## Judgment Criteria
|
|
467
|
+
|
|
468
|
+
| Situation | Judgment |
|
|
469
|
+
|-----------|----------|
|
|
470
|
+
| Requirements not met | REJECT |
|
|
471
|
+
| Tests failing | REJECT |
|
|
472
|
+
| Build fails | REJECT |
|
|
473
|
+
| Workarounds remaining | REJECT |
|
|
474
|
+
| All OK | APPROVE |
|
|
475
|
+
|
|
476
|
+
**Principle**: When in doubt, REJECT. Don't give ambiguous approval.
|
|
477
|
+
|
|
478
|
+
## Output Format
|
|
479
|
+
|
|
480
|
+
| Situation | Tag |
|
|
481
|
+
|-----------|-----|
|
|
482
|
+
| Final approval | `[SUPERVISOR:APPROVE]` |
|
|
483
|
+
| Return for fixes | `[SUPERVISOR:REJECT]` |
|
|
484
|
+
|
|
485
|
+
### Output Examples
|
|
486
|
+
|
|
487
|
+
**APPROVE case:**
|
|
488
|
+
```
|
|
489
|
+
[SUPERVISOR:APPROVE]
|
|
490
|
+
|
|
491
|
+
Verification results:
|
|
492
|
+
- Tests: ✅ All passed
|
|
493
|
+
- Build: ✅ Succeeded
|
|
494
|
+
- Requirements met: ✅
|
|
495
|
+
```
|
|
496
|
+
|
|
497
|
+
**REJECT case:**
|
|
498
|
+
```
|
|
499
|
+
[SUPERVISOR:REJECT]
|
|
500
|
+
|
|
501
|
+
Issues:
|
|
502
|
+
1. Tests failing: `npm test` - 2 failures
|
|
503
|
+
2. Requirements not met: Login feature not implemented
|
|
504
|
+
```
|
|
505
|
+
instruction_template: |
|
|
506
|
+
## Workflow Context
|
|
507
|
+
- Iteration: {iteration}/{max_iterations} (workflow-wide)
|
|
508
|
+
- Step Iteration: {step_iteration} (times this step has run)
|
|
509
|
+
- Step: supervise (final verification)
|
|
510
|
+
- Report Directory: .takt/reports/{report_dir}/
|
|
511
|
+
- Report Files:
|
|
512
|
+
- Validation: .takt/reports/{report_dir}/05-supervisor-validation.md
|
|
513
|
+
- Summary: .takt/reports/{report_dir}/summary.md
|
|
514
|
+
|
|
515
|
+
## Original User Request
|
|
516
|
+
{task}
|
|
517
|
+
|
|
518
|
+
## Git Diff
|
|
519
|
+
```diff
|
|
520
|
+
{git_diff}
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
## Instructions
|
|
524
|
+
Run tests, verify the build, and perform final approval.
|
|
525
|
+
|
|
526
|
+
**Workflow Overall Review:**
|
|
527
|
+
1. Does the implementation match the plan (00-plan.md)?
|
|
528
|
+
2. Were all review step issues addressed?
|
|
529
|
+
3. Was the original task objective achieved?
|
|
530
|
+
|
|
531
|
+
**Review Reports:** Read all reports in Report Directory and
|
|
532
|
+
check for any unaddressed improvement suggestions.
|
|
533
|
+
|
|
534
|
+
**Report output:** Output to the `Report Files` specified above.
|
|
535
|
+
- If file does not exist: Create new file
|
|
536
|
+
- If file exists: Append with `## Iteration {step_iteration}` section
|
|
537
|
+
|
|
538
|
+
**Validation report format:**
|
|
539
|
+
```markdown
|
|
540
|
+
# Final Validation Results
|
|
541
|
+
|
|
542
|
+
## Result: APPROVE / REJECT
|
|
543
|
+
|
|
544
|
+
## Validation Summary
|
|
545
|
+
| Item | Status | Verification Method |
|
|
546
|
+
|------|--------|---------------------|
|
|
547
|
+
| Requirements met | ✅ | Matched against requirements list |
|
|
548
|
+
| Tests | ✅ | `npm test` (N passed) |
|
|
549
|
+
| Build | ✅ | `npm run build` succeeded |
|
|
550
|
+
| Functional check | ✅ | Main flows verified |
|
|
551
|
+
|
|
552
|
+
## Deliverables
|
|
553
|
+
- Created: {Created files}
|
|
554
|
+
- Modified: {Modified files}
|
|
555
|
+
|
|
556
|
+
## Incomplete Items (if REJECT)
|
|
557
|
+
| # | Item | Reason |
|
|
558
|
+
|---|------|--------|
|
|
559
|
+
| 1 | {Item} | {Reason} |
|
|
560
|
+
```
|
|
561
|
+
|
|
562
|
+
**Summary report format (only if APPROVE):**
|
|
563
|
+
```markdown
|
|
564
|
+
# Task Completion Summary
|
|
565
|
+
|
|
566
|
+
## Task
|
|
567
|
+
{Original request in 1-2 sentences}
|
|
568
|
+
|
|
569
|
+
## Result
|
|
570
|
+
✅ Complete
|
|
571
|
+
|
|
572
|
+
## Changes
|
|
573
|
+
| Type | File | Summary |
|
|
574
|
+
|------|------|---------|
|
|
575
|
+
| Create | `src/file.ts` | Summary description |
|
|
576
|
+
|
|
577
|
+
## Review Results
|
|
578
|
+
| Review | Result |
|
|
579
|
+
|--------|--------|
|
|
580
|
+
| Architect | ✅ APPROVE |
|
|
581
|
+
| AI Review | ✅ APPROVE |
|
|
582
|
+
| Supervisor | ✅ APPROVE |
|
|
583
|
+
|
|
584
|
+
## Verification Commands
|
|
585
|
+
```bash
|
|
586
|
+
npm test
|
|
587
|
+
npm run build
|
|
588
|
+
```
|
|
589
|
+
```
|
|
590
|
+
transitions:
|
|
591
|
+
- condition: approved
|
|
592
|
+
next_step: COMPLETE
|
|
593
|
+
- condition: rejected
|
|
594
|
+
next_step: plan
|
|
@@ -0,0 +1,594 @@
|
|
|
1
|
+
# Simple TAKT Workflow
|
|
2
|
+
# Plan -> Coder -> Architect Review -> AI Review -> Supervisor Approval
|
|
3
|
+
# (defaultの簡略版 - improve, fix, ai_fix, security_review, security_fix を削除)
|
|
4
|
+
#
|
|
5
|
+
# Template Variables:
|
|
6
|
+
# {iteration} - Workflow-wide turn count (total steps executed across all agents)
|
|
7
|
+
# {max_iterations} - Maximum iterations allowed for the workflow
|
|
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
|
|
13
|
+
# {report_dir} - Report directory name (e.g., "20250126-143052-task-summary")
|
|
14
|
+
|
|
15
|
+
name: simple
|
|
16
|
+
description: Simplified development workflow (plan -> implement -> review -> ai_review -> supervise)
|
|
17
|
+
|
|
18
|
+
max_iterations: 20
|
|
19
|
+
|
|
20
|
+
initial_step: plan
|
|
21
|
+
|
|
22
|
+
steps:
|
|
23
|
+
- name: plan
|
|
24
|
+
agent: ~/.takt/agents/default/planner.md
|
|
25
|
+
allowed_tools:
|
|
26
|
+
- Read
|
|
27
|
+
- Glob
|
|
28
|
+
- Grep
|
|
29
|
+
- Bash
|
|
30
|
+
- WebSearch
|
|
31
|
+
- WebFetch
|
|
32
|
+
status_rules_prompt: |
|
|
33
|
+
# ⚠️ 必須: ステータス出力ルール ⚠️
|
|
34
|
+
|
|
35
|
+
**このタグがないとワークフローが停止します。**
|
|
36
|
+
最終出力には必ず以下のルールに従ったステータスタグを含めてください。
|
|
37
|
+
|
|
38
|
+
## 判定基準
|
|
39
|
+
|
|
40
|
+
| 状況 | 判定 |
|
|
41
|
+
|------|------|
|
|
42
|
+
| 要件が明確で実装可能 | DONE |
|
|
43
|
+
| 要件が不明確、情報不足 | BLOCKED |
|
|
44
|
+
|
|
45
|
+
## 出力フォーマット
|
|
46
|
+
|
|
47
|
+
| 状況 | タグ |
|
|
48
|
+
|------|------|
|
|
49
|
+
| 分析完了 | `[PLANNER:DONE]` |
|
|
50
|
+
| 情報不足 | `[PLANNER:BLOCKED]` |
|
|
51
|
+
|
|
52
|
+
### 出力例
|
|
53
|
+
|
|
54
|
+
**DONE の場合:**
|
|
55
|
+
```
|
|
56
|
+
[PLANNER:DONE]
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**BLOCKED の場合:**
|
|
60
|
+
```
|
|
61
|
+
[PLANNER:BLOCKED]
|
|
62
|
+
|
|
63
|
+
確認事項:
|
|
64
|
+
- {質問1}
|
|
65
|
+
- {質問2}
|
|
66
|
+
```
|
|
67
|
+
instruction_template: |
|
|
68
|
+
## Workflow Context
|
|
69
|
+
- Iteration: {iteration}/{max_iterations}(ワークフロー全体)
|
|
70
|
+
- Step Iteration: {step_iteration}(このステップの実行回数)
|
|
71
|
+
- Step: plan (タスク分析)
|
|
72
|
+
- Report Directory: .takt/reports/{report_dir}/
|
|
73
|
+
- Report File: .takt/reports/{report_dir}/00-plan.md
|
|
74
|
+
|
|
75
|
+
## User Request
|
|
76
|
+
{task}
|
|
77
|
+
|
|
78
|
+
## Previous Response (implementからの差し戻し時)
|
|
79
|
+
{previous_response}
|
|
80
|
+
|
|
81
|
+
## Instructions
|
|
82
|
+
タスクを分析し、実装方針を立ててください。
|
|
83
|
+
|
|
84
|
+
**注意:** Previous Responseがある場合は差し戻しのため、
|
|
85
|
+
その内容を踏まえて計画を見直してください(replan)。
|
|
86
|
+
|
|
87
|
+
**やること:**
|
|
88
|
+
1. タスクの要件を理解する
|
|
89
|
+
2. 影響範囲を特定する
|
|
90
|
+
3. 実装アプローチを決める
|
|
91
|
+
|
|
92
|
+
**レポート出力:** 上記の `Report File` に出力してください。
|
|
93
|
+
- ファイルが存在しない場合: 新規作成
|
|
94
|
+
- ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
|
|
95
|
+
|
|
96
|
+
**レポートフォーマット:**
|
|
97
|
+
```markdown
|
|
98
|
+
# タスク計画
|
|
99
|
+
|
|
100
|
+
## 元の要求
|
|
101
|
+
{ユーザーの要求をそのまま記載}
|
|
102
|
+
|
|
103
|
+
## 分析結果
|
|
104
|
+
|
|
105
|
+
### 目的
|
|
106
|
+
{達成すべきこと}
|
|
107
|
+
|
|
108
|
+
### スコープ
|
|
109
|
+
{影響範囲}
|
|
110
|
+
|
|
111
|
+
### 実装アプローチ
|
|
112
|
+
{どう進めるか}
|
|
113
|
+
|
|
114
|
+
## 確認事項(あれば)
|
|
115
|
+
- {不明点や確認が必要な点}
|
|
116
|
+
```
|
|
117
|
+
pass_previous_response: true
|
|
118
|
+
transitions:
|
|
119
|
+
- condition: done
|
|
120
|
+
next_step: implement
|
|
121
|
+
- condition: blocked
|
|
122
|
+
next_step: ABORT
|
|
123
|
+
|
|
124
|
+
- name: implement
|
|
125
|
+
agent: ~/.takt/agents/default/coder.md
|
|
126
|
+
allowed_tools:
|
|
127
|
+
- Read
|
|
128
|
+
- Glob
|
|
129
|
+
- Grep
|
|
130
|
+
- Edit
|
|
131
|
+
- Write
|
|
132
|
+
- Bash
|
|
133
|
+
- WebSearch
|
|
134
|
+
- WebFetch
|
|
135
|
+
status_rules_prompt: |
|
|
136
|
+
# ⚠️ 必須: ステータス出力ルール ⚠️
|
|
137
|
+
|
|
138
|
+
**このタグがないとワークフローが停止します。**
|
|
139
|
+
最終出力には必ず以下のルールに従ったステータスタグを含めてください。
|
|
140
|
+
|
|
141
|
+
## 出力フォーマット
|
|
142
|
+
|
|
143
|
+
| 状況 | タグ |
|
|
144
|
+
|------|------|
|
|
145
|
+
| 実装完了 | `[CODER:DONE]` |
|
|
146
|
+
| 判断できない/情報不足 | `[CODER:BLOCKED]` |
|
|
147
|
+
|
|
148
|
+
**重要**: 迷ったら `[BLOCKED]`。勝手に判断しない。
|
|
149
|
+
|
|
150
|
+
### 出力例
|
|
151
|
+
|
|
152
|
+
**DONE の場合:**
|
|
153
|
+
```
|
|
154
|
+
実装完了しました。
|
|
155
|
+
- 作成: `src/auth/service.ts`, `tests/auth.test.ts`
|
|
156
|
+
- 変更: `src/routes.ts`
|
|
157
|
+
|
|
158
|
+
[CODER:DONE]
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
**BLOCKED の場合:**
|
|
162
|
+
```
|
|
163
|
+
[CODER:BLOCKED]
|
|
164
|
+
|
|
165
|
+
理由: DBスキーマが未定義のため実装できません
|
|
166
|
+
必要な情報: usersテーブルの構造
|
|
167
|
+
```
|
|
168
|
+
instruction_template: |
|
|
169
|
+
## Workflow Context
|
|
170
|
+
- Iteration: {iteration}/{max_iterations}(ワークフロー全体)
|
|
171
|
+
- Step Iteration: {step_iteration}(このステップの実行回数)
|
|
172
|
+
- Step: implement
|
|
173
|
+
- Report Directory: .takt/reports/{report_dir}/
|
|
174
|
+
- Report Files:
|
|
175
|
+
- Scope: .takt/reports/{report_dir}/01-coder-scope.md
|
|
176
|
+
- Decisions: .takt/reports/{report_dir}/02-coder-decisions.md
|
|
177
|
+
|
|
178
|
+
## User Request
|
|
179
|
+
{task}
|
|
180
|
+
|
|
181
|
+
## Additional User Inputs
|
|
182
|
+
{user_inputs}
|
|
183
|
+
|
|
184
|
+
## Instructions
|
|
185
|
+
planステップで立てた計画に従って実装してください。
|
|
186
|
+
計画レポート(00-plan.md)を参照し、実装を進めてください。
|
|
187
|
+
|
|
188
|
+
**レポート出力:** 上記の `Report Files` に出力してください。
|
|
189
|
+
- ファイルが存在しない場合: 新規作成
|
|
190
|
+
- ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
|
|
191
|
+
|
|
192
|
+
**Scopeレポートフォーマット(実装開始時に作成):**
|
|
193
|
+
```markdown
|
|
194
|
+
# 変更スコープ宣言
|
|
195
|
+
|
|
196
|
+
## タスク
|
|
197
|
+
{タスクの1行要約}
|
|
198
|
+
|
|
199
|
+
## 変更予定
|
|
200
|
+
| 種別 | ファイル |
|
|
201
|
+
|------|---------|
|
|
202
|
+
| 作成 | `src/example.ts` |
|
|
203
|
+
| 変更 | `src/routes.ts` |
|
|
204
|
+
|
|
205
|
+
## 推定規模
|
|
206
|
+
Small / Medium / Large
|
|
207
|
+
|
|
208
|
+
## 影響範囲
|
|
209
|
+
- {影響するモジュールや機能}
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
**Decisionsレポートフォーマット(実装完了時、決定がある場合のみ):**
|
|
213
|
+
```markdown
|
|
214
|
+
# 決定ログ
|
|
215
|
+
|
|
216
|
+
## 1. {決定内容}
|
|
217
|
+
- **背景**: {なぜ決定が必要だったか}
|
|
218
|
+
- **検討した選択肢**: {選択肢リスト}
|
|
219
|
+
- **理由**: {選んだ理由}
|
|
220
|
+
```
|
|
221
|
+
transitions:
|
|
222
|
+
- condition: done
|
|
223
|
+
next_step: review
|
|
224
|
+
- condition: blocked
|
|
225
|
+
next_step: plan
|
|
226
|
+
|
|
227
|
+
- name: review
|
|
228
|
+
agent: ~/.takt/agents/default/architect.md
|
|
229
|
+
allowed_tools:
|
|
230
|
+
- Read
|
|
231
|
+
- Glob
|
|
232
|
+
- Grep
|
|
233
|
+
- WebSearch
|
|
234
|
+
- WebFetch
|
|
235
|
+
status_rules_prompt: |
|
|
236
|
+
# ⚠️ 必須: ステータス出力ルール ⚠️
|
|
237
|
+
|
|
238
|
+
**このタグがないとワークフローが停止します。**
|
|
239
|
+
最終出力には必ず以下のルールに従ったステータスタグを含めてください。
|
|
240
|
+
|
|
241
|
+
## 判定基準
|
|
242
|
+
|
|
243
|
+
| 状況 | 判定 |
|
|
244
|
+
|------|------|
|
|
245
|
+
| 構造に問題がある | REJECT |
|
|
246
|
+
| 設計原則違反がある | REJECT |
|
|
247
|
+
| セキュリティ問題がある | REJECT |
|
|
248
|
+
| テストが不十分 | REJECT |
|
|
249
|
+
| 問題なし | APPROVE |
|
|
250
|
+
|
|
251
|
+
**注意:** simpleワークフローでは IMPROVE は使用しません。
|
|
252
|
+
軽微な問題もある場合は APPROVE + コメントとしてください。
|
|
253
|
+
|
|
254
|
+
## 出力フォーマット
|
|
255
|
+
|
|
256
|
+
| 状況 | タグ |
|
|
257
|
+
|------|------|
|
|
258
|
+
| 問題なし | `[ARCHITECT:APPROVE]` |
|
|
259
|
+
| 構造的な修正必要 | `[ARCHITECT:REJECT]` |
|
|
260
|
+
|
|
261
|
+
### 出力例
|
|
262
|
+
|
|
263
|
+
**APPROVE の場合:**
|
|
264
|
+
```
|
|
265
|
+
[ARCHITECT:APPROVE]
|
|
266
|
+
|
|
267
|
+
良い点:
|
|
268
|
+
- モジュール分割が適切
|
|
269
|
+
- 単一責務が守られている
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
**REJECT の場合:**
|
|
273
|
+
```
|
|
274
|
+
[ARCHITECT:REJECT]
|
|
275
|
+
|
|
276
|
+
問題点:
|
|
277
|
+
1. ファイルサイズ超過
|
|
278
|
+
- 場所: `src/services/user.ts` (523行)
|
|
279
|
+
- 修正案: 3ファイルに分割
|
|
280
|
+
```
|
|
281
|
+
instruction_template: |
|
|
282
|
+
## Workflow Context
|
|
283
|
+
- Iteration: {iteration}/{max_iterations}(ワークフロー全体)
|
|
284
|
+
- Step Iteration: {step_iteration}(このステップの実行回数)
|
|
285
|
+
- Step: review (アーキテクチャレビュー)
|
|
286
|
+
- Report Directory: .takt/reports/{report_dir}/
|
|
287
|
+
- Report File: .takt/reports/{report_dir}/03-architect-review.md
|
|
288
|
+
|
|
289
|
+
## Original User Request (ワークフロー開始時の元の要求)
|
|
290
|
+
{task}
|
|
291
|
+
|
|
292
|
+
## Git Diff
|
|
293
|
+
```diff
|
|
294
|
+
{git_diff}
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
## Instructions
|
|
298
|
+
**アーキテクチャと設計**のレビューに集中してください。AI特有の問題はレビューしないでください(次のステップで行います)。
|
|
299
|
+
|
|
300
|
+
変更をレビューしてフィードバックを提供してください。
|
|
301
|
+
|
|
302
|
+
**注意:** simpleワークフローではIMPROVE判定は使用しません。
|
|
303
|
+
軽微な改善提案がある場合は APPROVE + コメントとしてください。
|
|
304
|
+
|
|
305
|
+
**レポート出力:** 上記の `Report File` に出力してください。
|
|
306
|
+
- ファイルが存在しない場合: 新規作成
|
|
307
|
+
- ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
|
|
308
|
+
|
|
309
|
+
**レポートフォーマット:**
|
|
310
|
+
```markdown
|
|
311
|
+
# アーキテクチャレビュー
|
|
312
|
+
|
|
313
|
+
## 結果: APPROVE / REJECT
|
|
314
|
+
|
|
315
|
+
## サマリー
|
|
316
|
+
{1-2文で結果を要約}
|
|
317
|
+
|
|
318
|
+
## 確認した観点
|
|
319
|
+
- [x] 構造・設計
|
|
320
|
+
- [x] コード品質
|
|
321
|
+
- [x] 変更スコープ
|
|
322
|
+
|
|
323
|
+
## 問題点(REJECTの場合)
|
|
324
|
+
| # | 場所 | 問題 | 修正案 |
|
|
325
|
+
|---|------|------|--------|
|
|
326
|
+
| 1 | `src/file.ts:42` | 問題の説明 | 修正方法 |
|
|
327
|
+
|
|
328
|
+
## 改善提案(任意・ブロッキングではない)
|
|
329
|
+
- {将来的な改善提案}
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
**認知負荷軽減ルール:**
|
|
333
|
+
- APPROVE + 問題なし → サマリーのみ(5行以内)
|
|
334
|
+
- APPROVE + 軽微な提案 → サマリー + 改善提案(15行以内)
|
|
335
|
+
- REJECT → 問題点を表形式で(30行以内)
|
|
336
|
+
transitions:
|
|
337
|
+
- condition: approved
|
|
338
|
+
next_step: ai_review
|
|
339
|
+
- condition: rejected
|
|
340
|
+
next_step: plan
|
|
341
|
+
|
|
342
|
+
- name: ai_review
|
|
343
|
+
agent: ~/.takt/agents/default/ai-reviewer.md
|
|
344
|
+
allowed_tools:
|
|
345
|
+
- Read
|
|
346
|
+
- Glob
|
|
347
|
+
- Grep
|
|
348
|
+
- WebSearch
|
|
349
|
+
- WebFetch
|
|
350
|
+
status_rules_prompt: |
|
|
351
|
+
# ⚠️ 必須: ステータス出力ルール ⚠️
|
|
352
|
+
|
|
353
|
+
**このタグがないとワークフローが停止します。**
|
|
354
|
+
最終出力には必ず以下のルールに従ったステータスタグを含めてください。
|
|
355
|
+
|
|
356
|
+
## 判定基準
|
|
357
|
+
|
|
358
|
+
| 状況 | 判定 |
|
|
359
|
+
|------|------|
|
|
360
|
+
| 仮定が間違っている(動作に影響) | REJECT |
|
|
361
|
+
| もっともらしいが間違っているコード | REJECT |
|
|
362
|
+
| コードベースの文脈に重大な不整合 | REJECT |
|
|
363
|
+
| スコープクリープ | APPROVE(警告を付記) |
|
|
364
|
+
| 軽微なスタイルの逸脱のみ | APPROVE |
|
|
365
|
+
| コードが文脈に合い動作する | APPROVE |
|
|
366
|
+
|
|
367
|
+
**注意:** スコープクリープは警告として記載するが、それだけでREJECTしない。
|
|
368
|
+
|
|
369
|
+
## 出力フォーマット
|
|
370
|
+
|
|
371
|
+
| 状況 | タグ |
|
|
372
|
+
|------|------|
|
|
373
|
+
| AI特有の問題なし | `[AI_REVIEW:APPROVE]` |
|
|
374
|
+
| 問題あり | `[AI_REVIEW:REJECT]` |
|
|
375
|
+
|
|
376
|
+
### 出力例
|
|
377
|
+
|
|
378
|
+
**APPROVE の場合:**
|
|
379
|
+
```
|
|
380
|
+
[AI_REVIEW:APPROVE]
|
|
381
|
+
|
|
382
|
+
検証結果: 問題なし
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
**REJECT の場合:**
|
|
386
|
+
```
|
|
387
|
+
[AI_REVIEW:REJECT]
|
|
388
|
+
|
|
389
|
+
問題点:
|
|
390
|
+
1. 存在しないAPIを使用: `fetch.json()` → `response.json()`
|
|
391
|
+
```
|
|
392
|
+
instruction_template: |
|
|
393
|
+
## Workflow Context
|
|
394
|
+
- Iteration: {iteration}/{max_iterations}(ワークフロー全体)
|
|
395
|
+
- Step Iteration: {step_iteration}(このステップの実行回数)
|
|
396
|
+
- Step: ai_review (AI生成コードレビュー)
|
|
397
|
+
- Report Directory: .takt/reports/{report_dir}/
|
|
398
|
+
- Report File: .takt/reports/{report_dir}/04-ai-review.md
|
|
399
|
+
|
|
400
|
+
## Original User Request (ワークフロー開始時の元の要求)
|
|
401
|
+
{task}
|
|
402
|
+
|
|
403
|
+
## Git Diff
|
|
404
|
+
```diff
|
|
405
|
+
{git_diff}
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
## Instructions
|
|
409
|
+
AI特有の問題についてコードをレビューしてください:
|
|
410
|
+
- 仮定の検証
|
|
411
|
+
- もっともらしいが間違っているパターン
|
|
412
|
+
- 既存コードベースとの適合性
|
|
413
|
+
- スコープクリープの検出
|
|
414
|
+
|
|
415
|
+
**レポート出力:** 上記の `Report File` に出力してください。
|
|
416
|
+
- ファイルが存在しない場合: 新規作成
|
|
417
|
+
- ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
|
|
418
|
+
|
|
419
|
+
**レポートフォーマット:**
|
|
420
|
+
```markdown
|
|
421
|
+
# AI生成コードレビュー
|
|
422
|
+
|
|
423
|
+
## 結果: APPROVE / REJECT
|
|
424
|
+
|
|
425
|
+
## サマリー
|
|
426
|
+
{1文で結果を要約}
|
|
427
|
+
|
|
428
|
+
## 検証した項目
|
|
429
|
+
| 観点 | 結果 | 備考 |
|
|
430
|
+
|------|------|------|
|
|
431
|
+
| 仮定の妥当性 | ✅ | - |
|
|
432
|
+
| API/ライブラリの実在 | ✅ | - |
|
|
433
|
+
| コンテキスト適合 | ✅ | - |
|
|
434
|
+
| スコープ | ✅ | - |
|
|
435
|
+
|
|
436
|
+
## 問題点(REJECTの場合)
|
|
437
|
+
| # | カテゴリ | 場所 | 問題 |
|
|
438
|
+
|---|---------|------|------|
|
|
439
|
+
| 1 | 幻覚API | `src/file.ts:23` | 存在しないメソッド |
|
|
440
|
+
```
|
|
441
|
+
|
|
442
|
+
**認知負荷軽減ルール:**
|
|
443
|
+
- 問題なし → サマリー1文 + チェック表のみ(10行以内)
|
|
444
|
+
- 問題あり → + 問題を表形式で(25行以内)
|
|
445
|
+
transitions:
|
|
446
|
+
- condition: approved
|
|
447
|
+
next_step: supervise
|
|
448
|
+
- condition: rejected
|
|
449
|
+
next_step: plan
|
|
450
|
+
|
|
451
|
+
- name: supervise
|
|
452
|
+
agent: ~/.takt/agents/default/supervisor.md
|
|
453
|
+
allowed_tools:
|
|
454
|
+
- Read
|
|
455
|
+
- Glob
|
|
456
|
+
- Grep
|
|
457
|
+
- Bash
|
|
458
|
+
- WebSearch
|
|
459
|
+
- WebFetch
|
|
460
|
+
status_rules_prompt: |
|
|
461
|
+
# ⚠️ 必須: ステータス出力ルール ⚠️
|
|
462
|
+
|
|
463
|
+
**このタグがないとワークフローが停止します。**
|
|
464
|
+
最終出力には必ず以下のルールに従ったステータスタグを含めてください。
|
|
465
|
+
|
|
466
|
+
## 判定基準
|
|
467
|
+
|
|
468
|
+
| 状況 | 判定 |
|
|
469
|
+
|------|------|
|
|
470
|
+
| 要求が満たされていない | REJECT |
|
|
471
|
+
| テストが失敗する | REJECT |
|
|
472
|
+
| ビルドが通らない | REJECT |
|
|
473
|
+
| その場しのぎが残っている | REJECT |
|
|
474
|
+
| すべて問題なし | APPROVE |
|
|
475
|
+
|
|
476
|
+
**原則**: 疑わしきは REJECT。曖昧な承認はしない。
|
|
477
|
+
|
|
478
|
+
## 出力フォーマット
|
|
479
|
+
|
|
480
|
+
| 状況 | タグ |
|
|
481
|
+
|------|------|
|
|
482
|
+
| 最終承認 | `[SUPERVISOR:APPROVE]` |
|
|
483
|
+
| 差し戻し | `[SUPERVISOR:REJECT]` |
|
|
484
|
+
|
|
485
|
+
### 出力例
|
|
486
|
+
|
|
487
|
+
**APPROVE の場合:**
|
|
488
|
+
```
|
|
489
|
+
[SUPERVISOR:APPROVE]
|
|
490
|
+
|
|
491
|
+
検証結果:
|
|
492
|
+
- テスト: ✅ 全件パス
|
|
493
|
+
- ビルド: ✅ 成功
|
|
494
|
+
- 要求充足: ✅
|
|
495
|
+
```
|
|
496
|
+
|
|
497
|
+
**REJECT の場合:**
|
|
498
|
+
```
|
|
499
|
+
[SUPERVISOR:REJECT]
|
|
500
|
+
|
|
501
|
+
問題点:
|
|
502
|
+
1. テストが失敗: `npm test` で 2 件失敗
|
|
503
|
+
2. 元の要求を満たしていない: ログイン機能が未実装
|
|
504
|
+
```
|
|
505
|
+
instruction_template: |
|
|
506
|
+
## Workflow Context
|
|
507
|
+
- Iteration: {iteration}/{max_iterations}(ワークフロー全体)
|
|
508
|
+
- Step Iteration: {step_iteration}(このステップの実行回数)
|
|
509
|
+
- Step: supervise (final verification)
|
|
510
|
+
- Report Directory: .takt/reports/{report_dir}/
|
|
511
|
+
- Report Files:
|
|
512
|
+
- Validation: .takt/reports/{report_dir}/05-supervisor-validation.md
|
|
513
|
+
- Summary: .takt/reports/{report_dir}/summary.md
|
|
514
|
+
|
|
515
|
+
## Original User Request
|
|
516
|
+
{task}
|
|
517
|
+
|
|
518
|
+
## Git Diff
|
|
519
|
+
```diff
|
|
520
|
+
{git_diff}
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
## Instructions
|
|
524
|
+
テスト実行、ビルド確認、最終承認を行ってください。
|
|
525
|
+
|
|
526
|
+
**ワークフロー全体の確認:**
|
|
527
|
+
1. 計画(00-plan.md)と実装結果が一致しているか
|
|
528
|
+
2. 各レビューステップの指摘が対応されているか
|
|
529
|
+
3. 元のタスク目的が達成されているか
|
|
530
|
+
|
|
531
|
+
**レポートの確認:** Report Directory内の全レポートを読み、
|
|
532
|
+
未対応の改善提案がないか確認してください。
|
|
533
|
+
|
|
534
|
+
**レポート出力:** 上記の `Report Files` に出力してください。
|
|
535
|
+
- ファイルが存在しない場合: 新規作成
|
|
536
|
+
- ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
|
|
537
|
+
|
|
538
|
+
**Validationレポートフォーマット:**
|
|
539
|
+
```markdown
|
|
540
|
+
# 最終検証結果
|
|
541
|
+
|
|
542
|
+
## 結果: APPROVE / REJECT
|
|
543
|
+
|
|
544
|
+
## 検証サマリー
|
|
545
|
+
| 項目 | 状態 | 確認方法 |
|
|
546
|
+
|------|------|---------|
|
|
547
|
+
| 要求充足 | ✅ | 要求リストと照合 |
|
|
548
|
+
| テスト | ✅ | `npm test` (N passed) |
|
|
549
|
+
| ビルド | ✅ | `npm run build` 成功 |
|
|
550
|
+
| 動作確認 | ✅ | 主要フロー確認 |
|
|
551
|
+
|
|
552
|
+
## 成果物
|
|
553
|
+
- 作成: {作成したファイル}
|
|
554
|
+
- 変更: {変更したファイル}
|
|
555
|
+
|
|
556
|
+
## 未完了項目(REJECTの場合)
|
|
557
|
+
| # | 項目 | 理由 |
|
|
558
|
+
|---|------|------|
|
|
559
|
+
| 1 | {項目} | {理由} |
|
|
560
|
+
```
|
|
561
|
+
|
|
562
|
+
**Summaryレポートフォーマット(APPROVEの場合のみ):**
|
|
563
|
+
```markdown
|
|
564
|
+
# タスク完了サマリー
|
|
565
|
+
|
|
566
|
+
## タスク
|
|
567
|
+
{元の要求を1-2文で}
|
|
568
|
+
|
|
569
|
+
## 結果
|
|
570
|
+
✅ 完了
|
|
571
|
+
|
|
572
|
+
## 変更内容
|
|
573
|
+
| 種別 | ファイル | 概要 |
|
|
574
|
+
|------|---------|------|
|
|
575
|
+
| 作成 | `src/file.ts` | 概要説明 |
|
|
576
|
+
|
|
577
|
+
## レビュー結果
|
|
578
|
+
| レビュー | 結果 |
|
|
579
|
+
|---------|------|
|
|
580
|
+
| Architect | ✅ APPROVE |
|
|
581
|
+
| AI Review | ✅ APPROVE |
|
|
582
|
+
| Supervisor | ✅ APPROVE |
|
|
583
|
+
|
|
584
|
+
## 確認コマンド
|
|
585
|
+
```bash
|
|
586
|
+
npm test
|
|
587
|
+
npm run build
|
|
588
|
+
```
|
|
589
|
+
```
|
|
590
|
+
transitions:
|
|
591
|
+
- condition: approved
|
|
592
|
+
next_step: COMPLETE
|
|
593
|
+
- condition: rejected
|
|
594
|
+
next_step: plan
|