takt 0.2.0 → 0.2.2
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 +55 -15
- package/dist/agents/runner.d.ts +3 -1
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +15 -0
- package/dist/agents/runner.js.map +1 -1
- package/dist/claude/client.d.ts +3 -1
- package/dist/claude/client.d.ts.map +1 -1
- package/dist/claude/client.js +17 -0
- package/dist/claude/client.js.map +1 -1
- package/dist/cli.d.ts +10 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +69 -18
- package/dist/cli.js.map +1 -1
- package/dist/commands/addTask.d.ts.map +1 -1
- package/dist/commands/addTask.js +27 -9
- package/dist/commands/addTask.js.map +1 -1
- package/dist/commands/help.d.ts.map +1 -1
- package/dist/commands/help.js +5 -3
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +1 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/reviewTasks.d.ts +43 -0
- package/dist/commands/reviewTasks.d.ts.map +1 -0
- package/dist/commands/reviewTasks.js +333 -0
- package/dist/commands/reviewTasks.js.map +1 -0
- package/dist/commands/taskExecution.d.ts +16 -2
- package/dist/commands/taskExecution.d.ts.map +1 -1
- package/dist/commands/taskExecution.js +77 -39
- package/dist/commands/taskExecution.js.map +1 -1
- package/dist/commands/watchTasks.d.ts.map +1 -1
- package/dist/commands/watchTasks.js +6 -36
- package/dist/commands/watchTasks.js.map +1 -1
- package/dist/commands/workflowExecution.d.ts +5 -1
- package/dist/commands/workflowExecution.d.ts.map +1 -1
- package/dist/commands/workflowExecution.js +36 -12
- package/dist/commands/workflowExecution.js.map +1 -1
- package/dist/config/initialization.d.ts +2 -0
- package/dist/config/initialization.d.ts.map +1 -1
- package/dist/config/initialization.js +12 -2
- package/dist/config/initialization.js.map +1 -1
- package/dist/config/paths.d.ts +1 -1
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +3 -1
- package/dist/config/paths.js.map +1 -1
- package/dist/config/sessionStore.d.ts +15 -0
- package/dist/config/sessionStore.d.ts.map +1 -1
- package/dist/config/sessionStore.js +55 -1
- package/dist/config/sessionStore.js.map +1 -1
- package/dist/config/workflowLoader.d.ts.map +1 -1
- package/dist/config/workflowLoader.js +1 -0
- package/dist/config/workflowLoader.js.map +1 -1
- package/dist/models/schemas.d.ts +22 -0
- package/dist/models/schemas.d.ts.map +1 -1
- package/dist/models/schemas.js +8 -0
- package/dist/models/schemas.js.map +1 -1
- package/dist/models/types.d.ts +8 -2
- package/dist/models/types.d.ts.map +1 -1
- package/dist/prompt/index.d.ts +60 -11
- package/dist/prompt/index.d.ts.map +1 -1
- package/dist/prompt/index.js +246 -72
- package/dist/prompt/index.js.map +1 -1
- package/dist/providers/claude.d.ts.map +1 -1
- package/dist/providers/claude.js +2 -0
- package/dist/providers/claude.js.map +1 -1
- package/dist/providers/index.d.ts +3 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/task/autoCommit.d.ts +28 -0
- package/dist/task/autoCommit.d.ts.map +1 -0
- package/dist/task/autoCommit.js +68 -0
- package/dist/task/autoCommit.js.map +1 -0
- package/dist/task/index.d.ts +2 -1
- package/dist/task/index.d.ts.map +1 -1
- package/dist/task/index.js +2 -1
- package/dist/task/index.js.map +1 -1
- package/dist/task/runner.d.ts +14 -0
- package/dist/task/runner.d.ts.map +1 -1
- package/dist/task/runner.js +30 -7
- package/dist/task/runner.js.map +1 -1
- package/dist/task/summarize.d.ts +20 -0
- package/dist/task/summarize.d.ts.map +1 -0
- package/dist/task/summarize.js +50 -0
- package/dist/task/summarize.js.map +1 -0
- package/dist/task/worktree.d.ts +39 -0
- package/dist/task/worktree.d.ts.map +1 -1
- package/dist/task/worktree.js +111 -2
- package/dist/task/worktree.js.map +1 -1
- package/dist/utils/debug.d.ts +6 -1
- package/dist/utils/debug.d.ts.map +1 -1
- package/dist/utils/debug.js +30 -24
- package/dist/utils/debug.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/session.d.ts +20 -0
- package/dist/utils/session.d.ts.map +1 -1
- package/dist/utils/session.js +32 -3
- package/dist/utils/session.js.map +1 -1
- package/dist/utils/text.d.ts +22 -0
- package/dist/utils/text.d.ts.map +1 -0
- package/dist/utils/text.js +54 -0
- package/dist/utils/text.js.map +1 -0
- package/dist/workflow/engine.d.ts +5 -6
- package/dist/workflow/engine.d.ts.map +1 -1
- package/dist/workflow/engine.js +32 -12
- package/dist/workflow/engine.js.map +1 -1
- package/dist/workflow/index.d.ts +2 -2
- package/dist/workflow/index.d.ts.map +1 -1
- package/dist/workflow/index.js +2 -2
- package/dist/workflow/index.js.map +1 -1
- package/dist/workflow/instruction-builder.d.ts +32 -2
- package/dist/workflow/instruction-builder.d.ts.map +1 -1
- package/dist/workflow/instruction-builder.js +90 -3
- package/dist/workflow/instruction-builder.js.map +1 -1
- package/dist/workflow/transitions.d.ts.map +1 -1
- package/dist/workflow/transitions.js +1 -0
- package/dist/workflow/transitions.js.map +1 -1
- package/dist/workflow/types.d.ts +5 -1
- package/dist/workflow/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/resources/global/en/workflows/default.yaml +22 -51
- package/resources/global/en/workflows/{expert-review.yaml → expert-cqrs.yaml} +6 -48
- package/resources/global/en/workflows/expert.yaml +1099 -0
- package/resources/global/en/workflows/magi.yaml +0 -9
- package/resources/global/en/workflows/research.yaml +0 -9
- package/resources/global/en/workflows/simple.yaml +18 -26
- package/resources/global/ja/agents/default/ai-reviewer.md +24 -1
- package/resources/global/ja/agents/default/architect.md +37 -4
- package/resources/global/ja/agents/default/coder.md +1 -0
- package/resources/global/ja/workflows/default.yaml +27 -52
- package/resources/global/ja/workflows/{expert-review.yaml → expert-cqrs.yaml} +169 -58
- package/resources/global/ja/workflows/expert.yaml +1099 -0
- package/resources/global/ja/workflows/magi.yaml +0 -9
- package/resources/global/ja/workflows/research.yaml +0 -9
- package/resources/global/ja/workflows/simple.yaml +18 -26
- /package/resources/global/en/agents/{expert-review → expert}/frontend-reviewer.md +0 -0
- /package/resources/global/en/agents/{expert-review → expert}/qa-reviewer.md +0 -0
- /package/resources/global/en/agents/{expert-review → expert}/security-reviewer.md +0 -0
- /package/resources/global/en/agents/{expert-review → expert}/supervisor.md +0 -0
- /package/resources/global/en/agents/{expert-review → expert-cqrs}/cqrs-es-reviewer.md +0 -0
- /package/resources/global/ja/agents/{expert-review → expert}/frontend-reviewer.md +0 -0
- /package/resources/global/ja/agents/{expert-review → expert}/qa-reviewer.md +0 -0
- /package/resources/global/ja/agents/{expert-review → expert}/security-reviewer.md +0 -0
- /package/resources/global/ja/agents/{expert-review → expert}/supervisor.md +0 -0
- /package/resources/global/ja/agents/{expert-review → expert-cqrs}/cqrs-es-reviewer.md +0 -0
|
@@ -27,10 +27,7 @@ steps:
|
|
|
27
27
|
- WebSearch
|
|
28
28
|
- WebFetch
|
|
29
29
|
status_rules_prompt: |
|
|
30
|
-
# ⚠️ REQUIRED: Status Output Rules ⚠️
|
|
31
30
|
|
|
32
|
-
**Without this tag, the workflow will stop.**
|
|
33
|
-
Your final output MUST include a status tag following the rules below.
|
|
34
31
|
|
|
35
32
|
## Output Format
|
|
36
33
|
|
|
@@ -69,10 +66,7 @@ steps:
|
|
|
69
66
|
- WebSearch
|
|
70
67
|
- WebFetch
|
|
71
68
|
status_rules_prompt: |
|
|
72
|
-
# ⚠️ REQUIRED: Status Output Rules ⚠️
|
|
73
69
|
|
|
74
|
-
**Without this tag, the workflow will stop.**
|
|
75
|
-
Your final output MUST include a status tag following the rules below.
|
|
76
70
|
|
|
77
71
|
## Output Format
|
|
78
72
|
|
|
@@ -116,10 +110,7 @@ steps:
|
|
|
116
110
|
- WebSearch
|
|
117
111
|
- WebFetch
|
|
118
112
|
status_rules_prompt: |
|
|
119
|
-
# ⚠️ REQUIRED: Status Output Rules ⚠️
|
|
120
113
|
|
|
121
|
-
**Without this tag, the workflow will stop.**
|
|
122
|
-
Your final output MUST include a status tag following the rules below.
|
|
123
114
|
|
|
124
115
|
## Output Format
|
|
125
116
|
|
|
@@ -31,10 +31,7 @@ steps:
|
|
|
31
31
|
- WebSearch
|
|
32
32
|
- WebFetch
|
|
33
33
|
status_rules_prompt: |
|
|
34
|
-
# ⚠️ REQUIRED: Status Output Rules ⚠️
|
|
35
34
|
|
|
36
|
-
**Without this tag, the workflow will stop.**
|
|
37
|
-
Your final output MUST include a status tag following the rules below.
|
|
38
35
|
|
|
39
36
|
## Output Format
|
|
40
37
|
|
|
@@ -95,10 +92,7 @@ steps:
|
|
|
95
92
|
- WebSearch
|
|
96
93
|
- WebFetch
|
|
97
94
|
status_rules_prompt: |
|
|
98
|
-
# ⚠️ REQUIRED: Status Output Rules ⚠️
|
|
99
95
|
|
|
100
|
-
**Without this tag, the workflow will stop.**
|
|
101
|
-
Your final output MUST include a status tag following the rules below.
|
|
102
96
|
|
|
103
97
|
## Output Format
|
|
104
98
|
|
|
@@ -163,10 +157,7 @@ steps:
|
|
|
163
157
|
- WebSearch
|
|
164
158
|
- WebFetch
|
|
165
159
|
status_rules_prompt: |
|
|
166
|
-
# ⚠️ REQUIRED: Status Output Rules ⚠️
|
|
167
160
|
|
|
168
|
-
**Without this tag, the workflow will stop.**
|
|
169
|
-
Your final output MUST include a status tag following the rules below.
|
|
170
161
|
|
|
171
162
|
## Judgment Criteria
|
|
172
163
|
|
|
@@ -30,16 +30,12 @@ steps:
|
|
|
30
30
|
- WebSearch
|
|
31
31
|
- WebFetch
|
|
32
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
33
|
## Judgment Criteria
|
|
39
34
|
|
|
40
35
|
| Situation | Judgment |
|
|
41
36
|
|-----------|----------|
|
|
42
37
|
| Requirements clear and implementable | DONE |
|
|
38
|
+
| User is asking a question (not an implementation task) | ANSWER |
|
|
43
39
|
| Requirements unclear, insufficient info | BLOCKED |
|
|
44
40
|
|
|
45
41
|
## Output Format
|
|
@@ -47,6 +43,7 @@ steps:
|
|
|
47
43
|
| Situation | Tag |
|
|
48
44
|
|-----------|-----|
|
|
49
45
|
| Analysis complete | `[PLANNER:DONE]` |
|
|
46
|
+
| Question answered | `[PLANNER:ANSWER]` |
|
|
50
47
|
| Insufficient info | `[PLANNER:BLOCKED]` |
|
|
51
48
|
|
|
52
49
|
### Output Examples
|
|
@@ -56,6 +53,13 @@ steps:
|
|
|
56
53
|
[PLANNER:DONE]
|
|
57
54
|
```
|
|
58
55
|
|
|
56
|
+
**ANSWER case:**
|
|
57
|
+
```
|
|
58
|
+
{Answer to the question}
|
|
59
|
+
|
|
60
|
+
[PLANNER:ANSWER]
|
|
61
|
+
```
|
|
62
|
+
|
|
59
63
|
**BLOCKED case:**
|
|
60
64
|
```
|
|
61
65
|
[PLANNER:BLOCKED]
|
|
@@ -81,10 +85,15 @@ steps:
|
|
|
81
85
|
## Instructions
|
|
82
86
|
Analyze the task and create an implementation plan.
|
|
83
87
|
|
|
88
|
+
**Judgment criteria:**
|
|
89
|
+
- If the user input is an implementation task → create a plan and output `[PLANNER:DONE]`
|
|
90
|
+
- If the user input is a question → research, answer, and output `[PLANNER:ANSWER]`
|
|
91
|
+
- If there is insufficient information → output `[PLANNER:BLOCKED]`
|
|
92
|
+
|
|
84
93
|
**Note:** If returned from implement step (Previous Response exists),
|
|
85
94
|
review and revise the plan based on that feedback (replan).
|
|
86
95
|
|
|
87
|
-
**Tasks:**
|
|
96
|
+
**Tasks (for implementation tasks):**
|
|
88
97
|
1. Understand the requirements
|
|
89
98
|
2. Identify impact scope
|
|
90
99
|
3. Decide implementation approach
|
|
@@ -118,6 +127,8 @@ steps:
|
|
|
118
127
|
transitions:
|
|
119
128
|
- condition: done
|
|
120
129
|
next_step: implement
|
|
130
|
+
- condition: answer
|
|
131
|
+
next_step: COMPLETE
|
|
121
132
|
- condition: blocked
|
|
122
133
|
next_step: ABORT
|
|
123
134
|
|
|
@@ -132,12 +143,8 @@ steps:
|
|
|
132
143
|
- Bash
|
|
133
144
|
- WebSearch
|
|
134
145
|
- WebFetch
|
|
146
|
+
permission_mode: acceptEdits
|
|
135
147
|
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
148
|
## Output Format
|
|
142
149
|
|
|
143
150
|
| Situation | Tag |
|
|
@@ -233,11 +240,6 @@ steps:
|
|
|
233
240
|
- WebSearch
|
|
234
241
|
- WebFetch
|
|
235
242
|
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
243
|
## Judgment Criteria
|
|
242
244
|
|
|
243
245
|
| Situation | Judgment |
|
|
@@ -348,11 +350,6 @@ steps:
|
|
|
348
350
|
- WebSearch
|
|
349
351
|
- WebFetch
|
|
350
352
|
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
353
|
## Judgment Criteria
|
|
357
354
|
|
|
358
355
|
| Situation | Judgment |
|
|
@@ -458,11 +455,6 @@ steps:
|
|
|
458
455
|
- WebSearch
|
|
459
456
|
- WebFetch
|
|
460
457
|
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
458
|
## Judgment Criteria
|
|
467
459
|
|
|
468
460
|
| Situation | Judgment |
|
|
@@ -51,11 +51,15 @@ AI生成コードには特有の特徴があります:
|
|
|
51
51
|
| 古いパターン | 学習データからの非推奨アプローチの使用 |
|
|
52
52
|
| 過剰エンジニアリング | タスクに不要な抽象化レイヤーの追加 |
|
|
53
53
|
| 過小エンジニアリング | 現実的なシナリオのエラーハンドリングの欠如 |
|
|
54
|
+
| 配線忘れ | 機構は実装されているが、エントリポイントから渡されていない |
|
|
54
55
|
|
|
55
56
|
**検証アプローチ:**
|
|
56
57
|
1. このコードは実際にコンパイル/実行できるか?
|
|
57
58
|
2. インポートされたモジュール/関数は存在するか?
|
|
58
59
|
3. このライブラリバージョンでAPIは正しく使用されているか?
|
|
60
|
+
4. 新しいパラメータ/フィールドが追加された場合、呼び出し元から実際に渡されているか?
|
|
61
|
+
- AIは個々のファイル内では正しく実装するが、ファイル横断の結合を忘れがち
|
|
62
|
+
- `options.xxx ?? fallback` で常にフォールバックが使われていないか grep で確認
|
|
59
63
|
|
|
60
64
|
### 3. コピペパターン検出
|
|
61
65
|
|
|
@@ -96,7 +100,26 @@ AI生成コードには特有の特徴があります:
|
|
|
96
100
|
|
|
97
101
|
**原則:** 最良のコードは、問題を解決する最小限のコード。
|
|
98
102
|
|
|
99
|
-
### 6.
|
|
103
|
+
### 6. デッドコード検出
|
|
104
|
+
|
|
105
|
+
**AIは新しいコードを追加するが、不要になったコードの削除を忘れることが多い。**
|
|
106
|
+
|
|
107
|
+
| パターン | 例 |
|
|
108
|
+
|---------|-----|
|
|
109
|
+
| 未使用の関数・メソッド | リファクタリング後に残った旧実装 |
|
|
110
|
+
| 未使用の変数・定数 | 条件変更で不要になった定義 |
|
|
111
|
+
| 到達不能コード | 早期returnの後に残った処理、常に真/偽になる条件分岐 |
|
|
112
|
+
| 未使用のインポート・依存 | 削除された機能のimport文やパッケージ依存 |
|
|
113
|
+
| 孤立したエクスポート・公開API | 実体が消えたのにre-exportやindex登録が残っている |
|
|
114
|
+
| 未使用のインターフェース・型定義 | 実装側が変更されたのに残った古い型 |
|
|
115
|
+
| 無効化されたコード | コメントアウトされたまま放置されたコード |
|
|
116
|
+
|
|
117
|
+
**検証アプローチ:**
|
|
118
|
+
1. 変更・削除されたコードを参照している箇所がないか grep で確認
|
|
119
|
+
2. 公開モジュール(index ファイル等)のエクスポート一覧と実体が一致しているか確認
|
|
120
|
+
3. 新規追加されたコードに対応する古いコードが残っていないか確認
|
|
121
|
+
|
|
122
|
+
### 7. 決定トレーサビリティレビュー
|
|
100
123
|
|
|
101
124
|
**Coderの決定ログが妥当か検証する。**
|
|
102
125
|
|
|
@@ -384,7 +384,40 @@ function createOrder(data: OrderData) {
|
|
|
384
384
|
- 3回の重複 → 即抽出
|
|
385
385
|
- ドメインが異なる重複 → 抽象化しない(例: 顧客用バリデーションと管理者用バリデーションは別物)
|
|
386
386
|
|
|
387
|
-
### 8.
|
|
387
|
+
### 8. 呼び出しチェーン検証
|
|
388
|
+
|
|
389
|
+
**新しいパラメータ・フィールドが追加された場合、変更ファイル内だけでなく呼び出し元も検証する。**
|
|
390
|
+
|
|
391
|
+
**検証手順:**
|
|
392
|
+
1. 新しいオプショナルパラメータや interface フィールドを見つけたら、`Grep` で全呼び出し元を検索
|
|
393
|
+
2. 全呼び出し元が新しいパラメータを渡しているか確認
|
|
394
|
+
3. フォールバック値(`?? default`)がある場合、フォールバックが使われるケースが意図通りか確認
|
|
395
|
+
|
|
396
|
+
**危険パターン:**
|
|
397
|
+
|
|
398
|
+
| パターン | 問題 | 検出方法 |
|
|
399
|
+
|---------|------|---------|
|
|
400
|
+
| `options.xxx ?? fallback` で全呼び出し元が `xxx` を省略 | 機能が実装されているのに常にフォールバック | grep で呼び出し元を確認 |
|
|
401
|
+
| テストがモックで直接値をセット | 実際の呼び出しチェーンを経由しない | テストの構築方法を確認 |
|
|
402
|
+
| `executeXxx()` が内部で使う `options` を引数で受け取らない | 上位から値を渡す口がない | 関数シグネチャを確認 |
|
|
403
|
+
|
|
404
|
+
**具体例:**
|
|
405
|
+
|
|
406
|
+
```typescript
|
|
407
|
+
// ❌ 配線漏れ: projectCwd を受け取る口がない
|
|
408
|
+
export async function executeWorkflow(config, cwd, task) {
|
|
409
|
+
const engine = new WorkflowEngine(config, cwd, task); // options なし
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
// ✅ 配線済み: projectCwd を渡せる
|
|
413
|
+
export async function executeWorkflow(config, cwd, task, options?) {
|
|
414
|
+
const engine = new WorkflowEngine(config, cwd, task, options);
|
|
415
|
+
}
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
**このパターンを見つけたら REJECT。** 個々のファイルが正しくても、結合されていなければ機能しない。
|
|
419
|
+
|
|
420
|
+
### 9. 品質特性
|
|
388
421
|
|
|
389
422
|
| 特性 | 確認観点 |
|
|
390
423
|
|------|---------|
|
|
@@ -392,7 +425,7 @@ function createOrder(data: OrderData) {
|
|
|
392
425
|
| Maintainability | 変更・修正が容易か |
|
|
393
426
|
| Observability | ログ・監視が可能な設計か |
|
|
394
427
|
|
|
395
|
-
###
|
|
428
|
+
### 10. 大局観
|
|
396
429
|
|
|
397
430
|
**注意**: 細かい「クリーンコード」の指摘に終始しない。
|
|
398
431
|
|
|
@@ -403,7 +436,7 @@ function createOrder(data: OrderData) {
|
|
|
403
436
|
- ビジネス要件と整合しているか
|
|
404
437
|
- 命名がドメインと一貫しているか
|
|
405
438
|
|
|
406
|
-
###
|
|
439
|
+
### 11. 変更スコープの評価
|
|
407
440
|
|
|
408
441
|
**変更スコープを確認し、レポートに記載する(ブロッキングではない)。**
|
|
409
442
|
|
|
@@ -422,7 +455,7 @@ function createOrder(data: OrderData) {
|
|
|
422
455
|
**提案として記載すること(ブロッキングではない):**
|
|
423
456
|
- 分割可能な場合は分割案を提示
|
|
424
457
|
|
|
425
|
-
###
|
|
458
|
+
### 12. 堂々巡りの検出
|
|
426
459
|
|
|
427
460
|
レビュー回数が渡される場合(例: 「レビュー回数: 3回目」)、回数に応じて判断を変える。
|
|
428
461
|
|
|
@@ -29,16 +29,12 @@ steps:
|
|
|
29
29
|
- WebSearch
|
|
30
30
|
- WebFetch
|
|
31
31
|
status_rules_prompt: |
|
|
32
|
-
# ⚠️ 必須: ステータス出力ルール ⚠️
|
|
33
|
-
|
|
34
|
-
**このタグがないとワークフローが停止します。**
|
|
35
|
-
最終出力には必ず以下のルールに従ったステータスタグを含めてください。
|
|
36
|
-
|
|
37
32
|
## 判定基準
|
|
38
33
|
|
|
39
34
|
| 状況 | 判定 |
|
|
40
35
|
|------|------|
|
|
41
36
|
| 要件が明確で実装可能 | DONE |
|
|
37
|
+
| ユーザーが質問をしている(実装タスクではない) | ANSWER |
|
|
42
38
|
| 要件が不明確、情報不足 | BLOCKED |
|
|
43
39
|
|
|
44
40
|
## 出力フォーマット
|
|
@@ -46,6 +42,7 @@ steps:
|
|
|
46
42
|
| 状況 | タグ |
|
|
47
43
|
|------|------|
|
|
48
44
|
| 分析完了 | `[PLANNER:DONE]` |
|
|
45
|
+
| 質問への回答 | `[PLANNER:ANSWER]` |
|
|
49
46
|
| 情報不足 | `[PLANNER:BLOCKED]` |
|
|
50
47
|
|
|
51
48
|
### 出力例
|
|
@@ -55,6 +52,13 @@ steps:
|
|
|
55
52
|
[PLANNER:DONE]
|
|
56
53
|
```
|
|
57
54
|
|
|
55
|
+
**ANSWER の場合:**
|
|
56
|
+
```
|
|
57
|
+
{質問への回答}
|
|
58
|
+
|
|
59
|
+
[PLANNER:ANSWER]
|
|
60
|
+
```
|
|
61
|
+
|
|
58
62
|
**BLOCKED の場合:**
|
|
59
63
|
```
|
|
60
64
|
[PLANNER:BLOCKED]
|
|
@@ -80,10 +84,15 @@ steps:
|
|
|
80
84
|
## Instructions
|
|
81
85
|
タスクを分析し、実装方針を立ててください。
|
|
82
86
|
|
|
87
|
+
**判断基準:**
|
|
88
|
+
- ユーザーの入力が実装タスクの場合 → 計画を立てて `[PLANNER:DONE]`
|
|
89
|
+
- ユーザーの入力が質問の場合 → 調査・回答して `[PLANNER:ANSWER]`
|
|
90
|
+
- 情報不足の場合 → `[PLANNER:BLOCKED]`
|
|
91
|
+
|
|
83
92
|
**注意:** Previous Responseがある場合は差し戻しのため、
|
|
84
93
|
その内容を踏まえて計画を見直してください(replan)。
|
|
85
94
|
|
|
86
|
-
|
|
95
|
+
**やること(実装タスクの場合):**
|
|
87
96
|
1. タスクの要件を理解する
|
|
88
97
|
2. 影響範囲を特定する
|
|
89
98
|
3. 実装アプローチを決める
|
|
@@ -117,6 +126,8 @@ steps:
|
|
|
117
126
|
transitions:
|
|
118
127
|
- condition: done
|
|
119
128
|
next_step: implement
|
|
129
|
+
- condition: answer
|
|
130
|
+
next_step: COMPLETE
|
|
120
131
|
- condition: blocked
|
|
121
132
|
next_step: ABORT
|
|
122
133
|
|
|
@@ -131,12 +142,8 @@ steps:
|
|
|
131
142
|
- Bash
|
|
132
143
|
- WebSearch
|
|
133
144
|
- WebFetch
|
|
145
|
+
permission_mode: acceptEdits
|
|
134
146
|
status_rules_prompt: |
|
|
135
|
-
# ⚠️ 必須: ステータス出力ルール ⚠️
|
|
136
|
-
|
|
137
|
-
**このタグがないとワークフローが停止します。**
|
|
138
|
-
最終出力には必ず以下のルールに従ったステータスタグを含めてください。
|
|
139
|
-
|
|
140
147
|
## 出力フォーマット
|
|
141
148
|
|
|
142
149
|
| 状況 | タグ |
|
|
@@ -237,11 +244,6 @@ steps:
|
|
|
237
244
|
- WebSearch
|
|
238
245
|
- WebFetch
|
|
239
246
|
status_rules_prompt: |
|
|
240
|
-
# ⚠️ 必須: ステータス出力ルール ⚠️
|
|
241
|
-
|
|
242
|
-
**このタグがないとワークフローが停止します。**
|
|
243
|
-
最終出力には必ず以下のルールに従ったステータスタグを含めてください。
|
|
244
|
-
|
|
245
247
|
## 判定基準
|
|
246
248
|
|
|
247
249
|
| 状況 | 判定 |
|
|
@@ -319,7 +321,9 @@ steps:
|
|
|
319
321
|
- 構造・設計の妥当性
|
|
320
322
|
- コード品質
|
|
321
323
|
- 変更スコープの適切性
|
|
322
|
-
-
|
|
324
|
+
- テストカバレッジ
|
|
325
|
+
- デッドコード
|
|
326
|
+
- 呼び出しチェーン検証
|
|
323
327
|
|
|
324
328
|
**レポート出力:** 上記の `Report File` に出力してください。
|
|
325
329
|
- ファイルが存在しない場合: 新規作成
|
|
@@ -339,6 +343,8 @@ steps:
|
|
|
339
343
|
- [x] コード品質
|
|
340
344
|
- [x] 変更スコープ
|
|
341
345
|
- [x] テストカバレッジ
|
|
346
|
+
- [x] デッドコード
|
|
347
|
+
- [x] 呼び出しチェーン検証
|
|
342
348
|
|
|
343
349
|
## 問題点(REJECTの場合)
|
|
344
350
|
| # | 場所 | 問題 | 修正案 |
|
|
@@ -372,12 +378,8 @@ steps:
|
|
|
372
378
|
- Bash
|
|
373
379
|
- WebSearch
|
|
374
380
|
- WebFetch
|
|
381
|
+
permission_mode: acceptEdits
|
|
375
382
|
status_rules_prompt: |
|
|
376
|
-
# ⚠️ 必須: ステータス出力ルール ⚠️
|
|
377
|
-
|
|
378
|
-
**このタグがないとワークフローが停止します。**
|
|
379
|
-
最終出力には必ず以下のルールに従ったステータスタグを含めてください。
|
|
380
|
-
|
|
381
383
|
## 出力フォーマット
|
|
382
384
|
|
|
383
385
|
| 状況 | タグ |
|
|
@@ -445,11 +447,6 @@ steps:
|
|
|
445
447
|
- WebSearch
|
|
446
448
|
- WebFetch
|
|
447
449
|
status_rules_prompt: |
|
|
448
|
-
# ⚠️ 必須: ステータス出力ルール ⚠️
|
|
449
|
-
|
|
450
|
-
**このタグがないとワークフローが停止します。**
|
|
451
|
-
最終出力には必ず以下のルールに従ったステータスタグを含めてください。
|
|
452
|
-
|
|
453
450
|
## 判定基準
|
|
454
451
|
|
|
455
452
|
| 状況 | 判定 |
|
|
@@ -556,12 +553,8 @@ steps:
|
|
|
556
553
|
- Bash
|
|
557
554
|
- WebSearch
|
|
558
555
|
- WebFetch
|
|
556
|
+
permission_mode: acceptEdits
|
|
559
557
|
status_rules_prompt: |
|
|
560
|
-
# ⚠️ 必須: ステータス出力ルール ⚠️
|
|
561
|
-
|
|
562
|
-
**このタグがないとワークフローが停止します。**
|
|
563
|
-
最終出力には必ず以下のルールに従ったステータスタグを含めてください。
|
|
564
|
-
|
|
565
558
|
## 出力フォーマット
|
|
566
559
|
|
|
567
560
|
| 状況 | タグ |
|
|
@@ -626,11 +619,6 @@ steps:
|
|
|
626
619
|
- WebSearch
|
|
627
620
|
- WebFetch
|
|
628
621
|
status_rules_prompt: |
|
|
629
|
-
# ⚠️ 必須: ステータス出力ルール ⚠️
|
|
630
|
-
|
|
631
|
-
**このタグがないとワークフローが停止します。**
|
|
632
|
-
最終出力には必ず以下のルールに従ったステータスタグを含めてください。
|
|
633
|
-
|
|
634
622
|
## 判定基準
|
|
635
623
|
|
|
636
624
|
| 状況 | 判定 |
|
|
@@ -737,12 +725,8 @@ steps:
|
|
|
737
725
|
- Bash
|
|
738
726
|
- WebSearch
|
|
739
727
|
- WebFetch
|
|
728
|
+
permission_mode: acceptEdits
|
|
740
729
|
status_rules_prompt: |
|
|
741
|
-
# ⚠️ 必須: ステータス出力ルール ⚠️
|
|
742
|
-
|
|
743
|
-
**このタグがないとワークフローが停止します。**
|
|
744
|
-
最終出力には必ず以下のルールに従ったステータスタグを含めてください。
|
|
745
|
-
|
|
746
730
|
## 出力フォーマット
|
|
747
731
|
|
|
748
732
|
| 状況 | タグ |
|
|
@@ -805,12 +789,8 @@ steps:
|
|
|
805
789
|
- Bash
|
|
806
790
|
- WebSearch
|
|
807
791
|
- WebFetch
|
|
792
|
+
permission_mode: acceptEdits
|
|
808
793
|
status_rules_prompt: |
|
|
809
|
-
# ⚠️ 必須: ステータス出力ルール ⚠️
|
|
810
|
-
|
|
811
|
-
**このタグがないとワークフローが停止します。**
|
|
812
|
-
最終出力には必ず以下のルールに従ったステータスタグを含めてください。
|
|
813
|
-
|
|
814
794
|
## 出力フォーマット
|
|
815
795
|
|
|
816
796
|
| 状況 | タグ |
|
|
@@ -874,11 +854,6 @@ steps:
|
|
|
874
854
|
- WebSearch
|
|
875
855
|
- WebFetch
|
|
876
856
|
status_rules_prompt: |
|
|
877
|
-
# ⚠️ 必須: ステータス出力ルール ⚠️
|
|
878
|
-
|
|
879
|
-
**このタグがないとワークフローが停止します。**
|
|
880
|
-
最終出力には必ず以下のルールに従ったステータスタグを含めてください。
|
|
881
|
-
|
|
882
857
|
## 判定基準
|
|
883
858
|
|
|
884
859
|
| 状況 | 判定 |
|