takt 0.1.3 → 0.1.5

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 (78) hide show
  1. package/dist/agents/runner.d.ts +2 -0
  2. package/dist/agents/runner.d.ts.map +1 -1
  3. package/dist/agents/runner.js +10 -2
  4. package/dist/agents/runner.js.map +1 -1
  5. package/dist/claude/client.d.ts.map +1 -1
  6. package/dist/claude/client.js +4 -1
  7. package/dist/claude/client.js.map +1 -1
  8. package/dist/claude/executor.d.ts.map +1 -1
  9. package/dist/claude/executor.js +1 -0
  10. package/dist/claude/executor.js.map +1 -1
  11. package/dist/claude/types.d.ts +2 -0
  12. package/dist/claude/types.d.ts.map +1 -1
  13. package/dist/commands/workflowExecution.d.ts.map +1 -1
  14. package/dist/commands/workflowExecution.js +25 -2
  15. package/dist/commands/workflowExecution.js.map +1 -1
  16. package/dist/config/workflowLoader.d.ts.map +1 -1
  17. package/dist/config/workflowLoader.js +1 -0
  18. package/dist/config/workflowLoader.js.map +1 -1
  19. package/dist/models/schemas.d.ts +2 -0
  20. package/dist/models/schemas.d.ts.map +1 -1
  21. package/dist/models/schemas.js +1 -0
  22. package/dist/models/schemas.js.map +1 -1
  23. package/dist/models/types.d.ts +4 -0
  24. package/dist/models/types.d.ts.map +1 -1
  25. package/dist/workflow/engine.d.ts.map +1 -1
  26. package/dist/workflow/engine.js +7 -3
  27. package/dist/workflow/engine.js.map +1 -1
  28. package/dist/workflow/instruction-builder.d.ts +5 -2
  29. package/dist/workflow/instruction-builder.d.ts.map +1 -1
  30. package/dist/workflow/instruction-builder.js +8 -2
  31. package/dist/workflow/instruction-builder.js.map +1 -1
  32. package/dist/workflow/state-manager.d.ts +4 -0
  33. package/dist/workflow/state-manager.d.ts.map +1 -1
  34. package/dist/workflow/state-manager.js +10 -0
  35. package/dist/workflow/state-manager.js.map +1 -1
  36. package/package.json +1 -1
  37. package/resources/global/en/agents/default/ai-reviewer.md +0 -20
  38. package/resources/global/en/agents/default/architect.md +5 -73
  39. package/resources/global/en/agents/default/coder.md +0 -39
  40. package/resources/global/en/agents/default/planner.md +0 -23
  41. package/resources/global/en/agents/default/security.md +0 -16
  42. package/resources/global/en/agents/default/supervisor.md +0 -19
  43. package/resources/global/en/agents/expert-review/cqrs-es-reviewer.md +0 -35
  44. package/resources/global/en/agents/expert-review/frontend-reviewer.md +0 -35
  45. package/resources/global/en/agents/expert-review/qa-reviewer.md +0 -36
  46. package/resources/global/en/agents/expert-review/security-reviewer.md +0 -37
  47. package/resources/global/en/agents/expert-review/supervisor.md +0 -62
  48. package/resources/global/en/agents/magi/balthasar.md +0 -20
  49. package/resources/global/en/agents/magi/casper.md +0 -42
  50. package/resources/global/en/agents/magi/melchior.md +0 -20
  51. package/resources/global/en/agents/research/digger.md +0 -41
  52. package/resources/global/en/agents/research/planner.md +0 -34
  53. package/resources/global/en/agents/research/supervisor.md +0 -36
  54. package/resources/global/en/workflows/default.yaml +419 -46
  55. package/resources/global/en/workflows/expert-review.yaml +217 -22
  56. package/resources/global/en/workflows/magi.yaml +78 -26
  57. package/resources/global/en/workflows/research.yaml +105 -11
  58. package/resources/global/ja/agents/default/ai-reviewer.md +0 -20
  59. package/resources/global/ja/agents/default/architect.md +5 -73
  60. package/resources/global/ja/agents/default/coder.md +1 -41
  61. package/resources/global/ja/agents/default/planner.md +0 -23
  62. package/resources/global/ja/agents/default/security.md +0 -16
  63. package/resources/global/ja/agents/default/supervisor.md +0 -19
  64. package/resources/global/ja/agents/expert-review/cqrs-es-reviewer.md +0 -35
  65. package/resources/global/ja/agents/expert-review/frontend-reviewer.md +0 -35
  66. package/resources/global/ja/agents/expert-review/qa-reviewer.md +0 -36
  67. package/resources/global/ja/agents/expert-review/security-reviewer.md +0 -37
  68. package/resources/global/ja/agents/expert-review/supervisor.md +0 -62
  69. package/resources/global/ja/agents/magi/balthasar.md +0 -20
  70. package/resources/global/ja/agents/magi/casper.md +0 -42
  71. package/resources/global/ja/agents/magi/melchior.md +0 -20
  72. package/resources/global/ja/agents/research/digger.md +0 -41
  73. package/resources/global/ja/agents/research/planner.md +0 -34
  74. package/resources/global/ja/agents/research/supervisor.md +0 -36
  75. package/resources/global/ja/workflows/default.yaml +419 -50
  76. package/resources/global/ja/workflows/expert-review.yaml +217 -22
  77. package/resources/global/ja/workflows/magi.yaml +78 -26
  78. package/resources/global/ja/workflows/research.yaml +105 -11
@@ -1,5 +1,15 @@
1
1
  # Default TAKT Workflow
2
2
  # Plan -> Coder -> Architect Review -> AI Review -> Security Review -> Supervisor Approval
3
+ #
4
+ # Template Variables:
5
+ # {iteration} - Workflow-wide turn count (total steps executed across all agents)
6
+ # {max_iterations} - Maximum iterations allowed for the workflow
7
+ # {step_iteration} - Per-step iteration count (how many times THIS step has been executed)
8
+ # {task} - Original user request
9
+ # {previous_response} - Output from the previous step
10
+ # {git_diff} - Current uncommitted changes (git diff)
11
+ # {user_inputs} - Accumulated user inputs during workflow
12
+ # {report_dir} - Report directory name (e.g., "20250126-143052-task-summary")
3
13
 
4
14
  name: default
5
15
  description: Standard development workflow with planning and specialized reviews
@@ -18,9 +28,45 @@ steps:
18
28
  - Bash
19
29
  - WebSearch
20
30
  - WebFetch
31
+ status_rules_prompt: |
32
+ # ⚠️ 必須: ステータス出力ルール ⚠️
33
+
34
+ **このタグがないとワークフローが停止します。**
35
+ 最終出力には必ず以下のルールに従ったステータスタグを含めてください。
36
+
37
+ ## 判定基準
38
+
39
+ | 状況 | 判定 |
40
+ |------|------|
41
+ | 要件が明確で実装可能 | DONE |
42
+ | 要件が不明確、情報不足 | BLOCKED |
43
+
44
+ ## 出力フォーマット
45
+
46
+ | 状況 | タグ |
47
+ |------|------|
48
+ | 分析完了 | `[PLANNER:DONE]` |
49
+ | 情報不足 | `[PLANNER:BLOCKED]` |
50
+
51
+ ### 出力例
52
+
53
+ **DONE の場合:**
54
+ ```
55
+ [PLANNER:DONE]
56
+ ```
57
+
58
+ **BLOCKED の場合:**
59
+ ```
60
+ [PLANNER:BLOCKED]
61
+
62
+ 確認事項:
63
+ - {質問1}
64
+ - {質問2}
65
+ ```
21
66
  instruction_template: |
22
67
  ## Workflow Context
23
- - Iteration: {iteration}/{max_iterations}
68
+ - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
69
+ - Step Iteration: {step_iteration}(このステップの実行回数)
24
70
  - Step: plan (タスク分析)
25
71
  - Report Directory: .takt/reports/{report_dir}/
26
72
  - Report File: .takt/reports/{report_dir}/00-plan.md
@@ -44,7 +90,7 @@ steps:
44
90
 
45
91
  **レポート出力:** 上記の `Report File` に出力してください。
46
92
  - ファイルが存在しない場合: 新規作成
47
- - ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
93
+ - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
48
94
 
49
95
  **レポートフォーマット:**
50
96
  ```markdown
@@ -67,9 +113,6 @@ steps:
67
113
  ## 確認事項(あれば)
68
114
  - {不明点や確認が必要な点}
69
115
  ```
70
-
71
- 完了したら [PLANNER:DONE] を出力。
72
- 要件が不明確な場合は [PLANNER:BLOCKED] を出力。
73
116
  pass_previous_response: true
74
117
  transitions:
75
118
  - condition: done
@@ -88,9 +131,43 @@ steps:
88
131
  - Bash
89
132
  - WebSearch
90
133
  - WebFetch
134
+ status_rules_prompt: |
135
+ # ⚠️ 必須: ステータス出力ルール ⚠️
136
+
137
+ **このタグがないとワークフローが停止します。**
138
+ 最終出力には必ず以下のルールに従ったステータスタグを含めてください。
139
+
140
+ ## 出力フォーマット
141
+
142
+ | 状況 | タグ |
143
+ |------|------|
144
+ | 実装完了 | `[CODER:DONE]` |
145
+ | 判断できない/情報不足 | `[CODER:BLOCKED]` |
146
+
147
+ **重要**: 迷ったら `[BLOCKED]`。勝手に判断しない。
148
+
149
+ ### 出力例
150
+
151
+ **DONE の場合:**
152
+ ```
153
+ 実装完了しました。
154
+ - 作成: `src/auth/service.ts`, `tests/auth.test.ts`
155
+ - 変更: `src/routes.ts`
156
+
157
+ [CODER:DONE]
158
+ ```
159
+
160
+ **BLOCKED の場合:**
161
+ ```
162
+ [CODER:BLOCKED]
163
+
164
+ 理由: DBスキーマが未定義のため実装できません
165
+ 必要な情報: usersテーブルの構造
166
+ ```
91
167
  instruction_template: |
92
168
  ## Workflow Context
93
- - Iteration: {iteration}/{max_iterations}
169
+ - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
170
+ - Step Iteration: {step_iteration}(このステップの実行回数)
94
171
  - Step: implement
95
172
  - Report Directory: .takt/reports/{report_dir}/
96
173
  - Report Files:
@@ -109,7 +186,7 @@ steps:
109
186
 
110
187
  **レポート出力:** 上記の `Report Files` に出力してください。
111
188
  - ファイルが存在しない場合: 新規作成
112
- - ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
189
+ - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
113
190
 
114
191
  **Scopeレポートフォーマット(実装開始時に作成):**
115
192
  ```markdown
@@ -140,9 +217,6 @@ steps:
140
217
  - **検討した選択肢**: {選択肢リスト}
141
218
  - **理由**: {選んだ理由}
142
219
  ```
143
-
144
- 完了時は [CODER:DONE] を含めてください。
145
- 進行できない場合は [CODER:BLOCKED] を出力し、planに戻ります。
146
220
  transitions:
147
221
  - condition: done
148
222
  next_step: review
@@ -157,9 +231,68 @@ steps:
157
231
  - Grep
158
232
  - WebSearch
159
233
  - WebFetch
234
+ status_rules_prompt: |
235
+ # ⚠️ 必須: ステータス出力ルール ⚠️
236
+
237
+ **このタグがないとワークフローが停止します。**
238
+ 最終出力には必ず以下のルールに従ったステータスタグを含めてください。
239
+
240
+ ## 判定基準
241
+
242
+ | 状況 | 判定 |
243
+ |------|------|
244
+ | 構造に問題がある | REJECT |
245
+ | 設計原則違反がある | REJECT |
246
+ | セキュリティ問題がある | REJECT |
247
+ | テストが不十分 | REJECT |
248
+ | 改善すべき点がある(軽微) | IMPROVE |
249
+ | 問題なし | APPROVE |
250
+
251
+ **IMPROVE の使い方:**
252
+ - 設計としては許容範囲だが、改善した方が良い点がある場合
253
+ - 例: 命名の改善、小さなリファクタリング、コメント追加
254
+
255
+ ## 出力フォーマット
256
+
257
+ | 状況 | タグ |
258
+ |------|------|
259
+ | 問題なし | `[ARCHITECT:APPROVE]` |
260
+ | 軽微な改善必要 | `[ARCHITECT:IMPROVE]` |
261
+ | 構造的な修正必要 | `[ARCHITECT:REJECT]` |
262
+
263
+ ### 出力例
264
+
265
+ **APPROVE の場合:**
266
+ ```
267
+ [ARCHITECT:APPROVE]
268
+
269
+ 良い点:
270
+ - モジュール分割が適切
271
+ - 単一責務が守られている
272
+ ```
273
+
274
+ **IMPROVE の場合:**
275
+ ```
276
+ [ARCHITECT:IMPROVE]
277
+
278
+ 改善点:
279
+ - 命名を改善してください: `data` → `userData`
280
+ - コメントを追加してください
281
+ ```
282
+
283
+ **REJECT の場合:**
284
+ ```
285
+ [ARCHITECT:REJECT]
286
+
287
+ 問題点:
288
+ 1. ファイルサイズ超過
289
+ - 場所: `src/services/user.ts` (523行)
290
+ - 修正案: 3ファイルに分割
291
+ ```
160
292
  instruction_template: |
161
293
  ## Workflow Context
162
- - Iteration: {iteration}/{max_iterations}
294
+ - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
295
+ - Step Iteration: {step_iteration}(このステップの実行回数)
163
296
  - Step: review (アーキテクチャレビュー)
164
297
  - Report Directory: .takt/reports/{report_dir}/
165
298
  - Report File: .takt/reports/{report_dir}/03-architect-review.md
@@ -175,14 +308,11 @@ steps:
175
308
  ## Instructions
176
309
  **アーキテクチャと設計**のレビューに集中してください。AI特有の問題はレビューしないでください(次のステップで行います)。
177
310
 
178
- 変更をレビューしてフィードバックを提供してください:
179
- - [ARCHITECT:APPROVE] 問題なしの場合
180
- - [ARCHITECT:IMPROVE] 改善すべき点がある場合(軽微な修正)
181
- - [ARCHITECT:REJECT] 構造的な変更が必要な場合(具体的な問題をリスト)
311
+ 変更をレビューしてフィードバックを提供してください。
182
312
 
183
313
  **レポート出力:** 上記の `Report File` に出力してください。
184
314
  - ファイルが存在しない場合: 新規作成
185
- - ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
315
+ - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
186
316
 
187
317
  **レポートフォーマット:**
188
318
  ```markdown
@@ -230,9 +360,43 @@ steps:
230
360
  - Bash
231
361
  - WebSearch
232
362
  - WebFetch
363
+ status_rules_prompt: |
364
+ # ⚠️ 必須: ステータス出力ルール ⚠️
365
+
366
+ **このタグがないとワークフローが停止します。**
367
+ 最終出力には必ず以下のルールに従ったステータスタグを含めてください。
368
+
369
+ ## 出力フォーマット
370
+
371
+ | 状況 | タグ |
372
+ |------|------|
373
+ | 改善完了 | `[CODER:DONE]` |
374
+ | 判断できない/情報不足 | `[CODER:BLOCKED]` |
375
+
376
+ **重要**: 迷ったら `[BLOCKED]`。勝手に判断しない。
377
+
378
+ ### 出力例
379
+
380
+ **DONE の場合:**
381
+ ```
382
+ 改善を完了しました。
383
+ - 命名を改善: `data` → `userData`
384
+ - コメントを追加
385
+
386
+ [CODER:DONE]
387
+ ```
388
+
389
+ **BLOCKED の場合:**
390
+ ```
391
+ [CODER:BLOCKED]
392
+
393
+ 理由: 改善の意図が不明確です
394
+ 必要な情報: 具体的な改善内容
395
+ ```
233
396
  instruction_template: |
234
397
  ## Workflow Context
235
- - Iteration: {iteration}/{max_iterations}
398
+ - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
399
+ - Step Iteration: {step_iteration}(このステップの実行回数)
236
400
  - Step: improve
237
401
 
238
402
  ## Architect Feedback (これが最新の指示です - 優先して対応してください)
@@ -253,9 +417,6 @@ steps:
253
417
  - 小さなリファクタリング
254
418
  - コメントの追加・修正
255
419
  - コードの整理
256
-
257
- 完了時は [CODER:DONE] を含めてください。
258
- 進行できない場合は [CODER:BLOCKED] を含めてください。
259
420
  pass_previous_response: true
260
421
  transitions:
261
422
  - condition: done
@@ -271,9 +432,52 @@ steps:
271
432
  - Grep
272
433
  - WebSearch
273
434
  - WebFetch
435
+ status_rules_prompt: |
436
+ # ⚠️ 必須: ステータス出力ルール ⚠️
437
+
438
+ **このタグがないとワークフローが停止します。**
439
+ 最終出力には必ず以下のルールに従ったステータスタグを含めてください。
440
+
441
+ ## 判定基準
442
+
443
+ | 状況 | 判定 |
444
+ |------|------|
445
+ | 仮定が間違っている(動作に影響) | REJECT |
446
+ | もっともらしいが間違っているコード | REJECT |
447
+ | コードベースの文脈に重大な不整合 | REJECT |
448
+ | スコープクリープ | APPROVE(警告を付記) |
449
+ | 軽微なスタイルの逸脱のみ | APPROVE |
450
+ | コードが文脈に合い動作する | APPROVE |
451
+
452
+ **注意:** スコープクリープは警告として記載するが、それだけでREJECTしない。
453
+
454
+ ## 出力フォーマット
455
+
456
+ | 状況 | タグ |
457
+ |------|------|
458
+ | AI特有の問題なし | `[AI_REVIEW:APPROVE]` |
459
+ | 問題あり | `[AI_REVIEW:REJECT]` |
460
+
461
+ ### 出力例
462
+
463
+ **APPROVE の場合:**
464
+ ```
465
+ [AI_REVIEW:APPROVE]
466
+
467
+ 検証結果: 問題なし
468
+ ```
469
+
470
+ **REJECT の場合:**
471
+ ```
472
+ [AI_REVIEW:REJECT]
473
+
474
+ 問題点:
475
+ 1. 存在しないAPIを使用: `fetch.json()` → `response.json()`
476
+ ```
274
477
  instruction_template: |
275
478
  ## Workflow Context
276
- - Iteration: {iteration}/{max_iterations}
479
+ - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
480
+ - Step Iteration: {step_iteration}(このステップの実行回数)
277
481
  - Step: ai_review (AI生成コードレビュー)
278
482
  - Report Directory: .takt/reports/{report_dir}/
279
483
  - Report File: .takt/reports/{report_dir}/04-ai-review.md
@@ -293,13 +497,9 @@ steps:
293
497
  - 既存コードベースとの適合性
294
498
  - スコープクリープの検出
295
499
 
296
- 以下を含めてください:
297
- - [AI_REVIEW:APPROVE] AI特有の問題が見つからない場合
298
- - [AI_REVIEW:REJECT] 問題が検出された場合(具体的な問題をリスト)
299
-
300
500
  **レポート出力:** 上記の `Report File` に出力してください。
301
501
  - ファイルが存在しない場合: 新規作成
302
- - ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
502
+ - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
303
503
 
304
504
  **レポートフォーマット:**
305
505
  ```markdown
@@ -344,9 +544,42 @@ steps:
344
544
  - Bash
345
545
  - WebSearch
346
546
  - WebFetch
547
+ status_rules_prompt: |
548
+ # ⚠️ 必須: ステータス出力ルール ⚠️
549
+
550
+ **このタグがないとワークフローが停止します。**
551
+ 最終出力には必ず以下のルールに従ったステータスタグを含めてください。
552
+
553
+ ## 出力フォーマット
554
+
555
+ | 状況 | タグ |
556
+ |------|------|
557
+ | AI問題の修正完了 | `[CODER:DONE]` |
558
+ | 判断できない/情報不足 | `[CODER:BLOCKED]` |
559
+
560
+ **重要**: 迷ったら `[BLOCKED]`。勝手に判断しない。
561
+
562
+ ### 出力例
563
+
564
+ **DONE の場合:**
565
+ ```
566
+ AI Reviewerの指摘を修正しました。
567
+ - 存在しないAPIを修正: `fetch.json()` → `response.json()`
568
+
569
+ [CODER:DONE]
570
+ ```
571
+
572
+ **BLOCKED の場合:**
573
+ ```
574
+ [CODER:BLOCKED]
575
+
576
+ 理由: 指摘された問題の修正方法が不明確です
577
+ 必要な情報: 代替APIの仕様
578
+ ```
347
579
  instruction_template: |
348
580
  ## Workflow Context
349
- - Iteration: {iteration}/{max_iterations}
581
+ - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
582
+ - Step Iteration: {step_iteration}(このステップの実行回数)
350
583
  - Step: ai_fix
351
584
 
352
585
  ## AI Review Feedback (これが最新の指示です - 優先して対応してください)
@@ -365,9 +598,6 @@ steps:
365
598
  - もっともらしいが間違っている実装の修正
366
599
  - 既存コードベースのパターンとの整合
367
600
  - スコープクリープの除去
368
-
369
- 完了時は [CODER:DONE] を含めてください。
370
- 進行できない場合は [CODER:BLOCKED] を含めてください。
371
601
  pass_previous_response: true
372
602
  transitions:
373
603
  - condition: done
@@ -383,9 +613,49 @@ steps:
383
613
  - Grep
384
614
  - WebSearch
385
615
  - WebFetch
616
+ status_rules_prompt: |
617
+ # ⚠️ 必須: ステータス出力ルール ⚠️
618
+
619
+ **このタグがないとワークフローが停止します。**
620
+ 最終出力には必ず以下のルールに従ったステータスタグを含めてください。
621
+
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
+ ```
386
655
  instruction_template: |
387
656
  ## Workflow Context
388
- - Iteration: {iteration}/{max_iterations}
657
+ - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
658
+ - Step Iteration: {step_iteration}(このステップの実行回数)
389
659
  - Step: security_review
390
660
  - Report Directory: .takt/reports/{report_dir}/
391
661
  - Report File: .takt/reports/{report_dir}/05-security-review.md
@@ -405,13 +675,9 @@ steps:
405
675
  - データ露出リスク
406
676
  - 暗号化の弱点
407
677
 
408
- 以下を含めてください:
409
- - [SECURITY:APPROVE] セキュリティ問題がない場合
410
- - [SECURITY:REJECT] 脆弱性が検出された場合(具体的な問題をリスト)
411
-
412
678
  **レポート出力:** 上記の `Report File` に出力してください。
413
679
  - ファイルが存在しない場合: 新規作成
414
- - ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
680
+ - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
415
681
 
416
682
  **レポートフォーマット:**
417
683
  ```markdown
@@ -459,9 +725,42 @@ steps:
459
725
  - Bash
460
726
  - WebSearch
461
727
  - WebFetch
728
+ status_rules_prompt: |
729
+ # ⚠️ 必須: ステータス出力ルール ⚠️
730
+
731
+ **このタグがないとワークフローが停止します。**
732
+ 最終出力には必ず以下のルールに従ったステータスタグを含めてください。
733
+
734
+ ## 出力フォーマット
735
+
736
+ | 状況 | タグ |
737
+ |------|------|
738
+ | セキュリティ修正完了 | `[CODER:DONE]` |
739
+ | 判断できない/情報不足 | `[CODER:BLOCKED]` |
740
+
741
+ **重要**: セキュリティの問題は最優先で対応が必要です。
742
+
743
+ ### 出力例
744
+
745
+ **DONE の場合:**
746
+ ```
747
+ セキュリティの指摘を修正しました。
748
+ - SQLインジェクション対策: パラメータ化クエリに変更
749
+
750
+ [CODER:DONE]
751
+ ```
752
+
753
+ **BLOCKED の場合:**
754
+ ```
755
+ [CODER:BLOCKED]
756
+
757
+ 理由: 修正方法が不明確です
758
+ 必要な情報: 認証ライブラリの仕様
759
+ ```
462
760
  instruction_template: |
463
761
  ## Workflow Context
464
- - Iteration: {iteration}/{max_iterations}
762
+ - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
763
+ - Step Iteration: {step_iteration}(このステップの実行回数)
465
764
  - Step: security_fix
466
765
 
467
766
  ## Security Review Feedback (これが最新の指示です - 優先して対応してください)
@@ -476,9 +775,6 @@ steps:
476
775
  ## Instructions
477
776
  **重要**: セキュリティレビューで指摘された脆弱性を修正してください。
478
777
  セキュリティの問題は最優先で対応が必要です。
479
-
480
- 完了時は [CODER:DONE] を含めてください。
481
- 進行できない場合は [CODER:BLOCKED] を含めてください。
482
778
  pass_previous_response: true
483
779
  transitions:
484
780
  - condition: done
@@ -497,9 +793,43 @@ steps:
497
793
  - Bash
498
794
  - WebSearch
499
795
  - WebFetch
796
+ status_rules_prompt: |
797
+ # ⚠️ 必須: ステータス出力ルール ⚠️
798
+
799
+ **このタグがないとワークフローが停止します。**
800
+ 最終出力には必ず以下のルールに従ったステータスタグを含めてください。
801
+
802
+ ## 出力フォーマット
803
+
804
+ | 状況 | タグ |
805
+ |------|------|
806
+ | Architectの指摘を修正完了 | `[CODER:DONE]` |
807
+ | 判断できない/情報不足 | `[CODER:BLOCKED]` |
808
+
809
+ **重要**: 迷ったら `[BLOCKED]`。勝手に判断しない。
810
+
811
+ ### 出力例
812
+
813
+ **DONE の場合:**
814
+ ```
815
+ Architectの指摘を修正しました。
816
+ - ファイル分割: 3ファイルに分割
817
+ - 型定義を追加
818
+
819
+ [CODER:DONE]
820
+ ```
821
+
822
+ **BLOCKED の場合:**
823
+ ```
824
+ [CODER:BLOCKED]
825
+
826
+ 理由: 修正方針が不明確です
827
+ 必要な情報: 分割の具体的な方法
828
+ ```
500
829
  instruction_template: |
501
830
  ## Workflow Context
502
- - Iteration: {iteration}/{max_iterations}
831
+ - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
832
+ - Step Iteration: {step_iteration}(このステップの実行回数)
503
833
  - Step: fix
504
834
 
505
835
  ## Architect Feedback (これが最新の指示です - 優先して対応してください)
@@ -515,9 +845,6 @@ steps:
515
845
  **重要**: Architectのフィードバックに対応してください。
516
846
  「Original User Request」は参考情報であり、最新の指示ではありません。
517
847
  セッションの会話履歴を確認し、Architectの指摘事項を修正してください。
518
-
519
- 完了時は [CODER:DONE] を含めてください。
520
- 進行できない場合は [CODER:BLOCKED] を含めてください。
521
848
  pass_previous_response: true
522
849
  transitions:
523
850
  - condition: done
@@ -534,9 +861,55 @@ steps:
534
861
  - Bash
535
862
  - WebSearch
536
863
  - WebFetch
864
+ status_rules_prompt: |
865
+ # ⚠️ 必須: ステータス出力ルール ⚠️
866
+
867
+ **このタグがないとワークフローが停止します。**
868
+ 最終出力には必ず以下のルールに従ったステータスタグを含めてください。
869
+
870
+ ## 判定基準
871
+
872
+ | 状況 | 判定 |
873
+ |------|------|
874
+ | 要求が満たされていない | REJECT |
875
+ | テストが失敗する | REJECT |
876
+ | ビルドが通らない | REJECT |
877
+ | その場しのぎが残っている | REJECT |
878
+ | すべて問題なし | APPROVE |
879
+
880
+ **原則**: 疑わしきは REJECT。曖昧な承認はしない。
881
+
882
+ ## 出力フォーマット
883
+
884
+ | 状況 | タグ |
885
+ |------|------|
886
+ | 最終承認 | `[SUPERVISOR:APPROVE]` |
887
+ | 差し戻し | `[SUPERVISOR:REJECT]` |
888
+
889
+ ### 出力例
890
+
891
+ **APPROVE の場合:**
892
+ ```
893
+ [SUPERVISOR:APPROVE]
894
+
895
+ 検証結果:
896
+ - テスト: ✅ 全件パス
897
+ - ビルド: ✅ 成功
898
+ - 要求充足: ✅
899
+ ```
900
+
901
+ **REJECT の場合:**
902
+ ```
903
+ [SUPERVISOR:REJECT]
904
+
905
+ 問題点:
906
+ 1. テストが失敗: `npm test` で 2 件失敗
907
+ 2. 元の要求を満たしていない: ログイン機能が未実装
908
+ ```
537
909
  instruction_template: |
538
910
  ## Workflow Context
539
- - Iteration: {iteration}/{max_iterations}
911
+ - Iteration: {iteration}/{max_iterations}(ワークフロー全体)
912
+ - Step Iteration: {step_iteration}(このステップの実行回数)
540
913
  - Step: supervise (final verification)
541
914
  - Report Directory: .takt/reports/{report_dir}/
542
915
  - Report Files:
@@ -564,7 +937,7 @@ steps:
564
937
 
565
938
  **レポート出力:** 上記の `Report Files` に出力してください。
566
939
  - ファイルが存在しない場合: 新規作成
567
- - ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
940
+ - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記
568
941
 
569
942
  **Validationレポートフォーマット:**
570
943
  ```markdown
@@ -619,10 +992,6 @@ steps:
619
992
  npm run build
620
993
  ```
621
994
  ```
622
-
623
- 出力:
624
- - [SUPERVISOR:APPROVE] すべて完了、マージ可能
625
- - [SUPERVISOR:REJECT] 問題あり(具体的な問題を記載)
626
995
  transitions:
627
996
  - condition: approved
628
997
  next_step: COMPLETE