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.
- package/dist/agents/runner.d.ts +2 -0
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +10 -2
- package/dist/agents/runner.js.map +1 -1
- package/dist/claude/client.d.ts.map +1 -1
- package/dist/claude/client.js +4 -1
- package/dist/claude/client.js.map +1 -1
- package/dist/claude/executor.d.ts.map +1 -1
- package/dist/claude/executor.js +1 -0
- package/dist/claude/executor.js.map +1 -1
- package/dist/claude/types.d.ts +2 -0
- package/dist/claude/types.d.ts.map +1 -1
- package/dist/commands/workflowExecution.d.ts.map +1 -1
- package/dist/commands/workflowExecution.js +25 -2
- package/dist/commands/workflowExecution.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 +2 -0
- package/dist/models/schemas.d.ts.map +1 -1
- package/dist/models/schemas.js +1 -0
- package/dist/models/schemas.js.map +1 -1
- package/dist/models/types.d.ts +4 -0
- package/dist/models/types.d.ts.map +1 -1
- package/dist/workflow/engine.d.ts.map +1 -1
- package/dist/workflow/engine.js +7 -3
- package/dist/workflow/engine.js.map +1 -1
- package/dist/workflow/instruction-builder.d.ts +5 -2
- package/dist/workflow/instruction-builder.d.ts.map +1 -1
- package/dist/workflow/instruction-builder.js +8 -2
- package/dist/workflow/instruction-builder.js.map +1 -1
- package/dist/workflow/state-manager.d.ts +4 -0
- package/dist/workflow/state-manager.d.ts.map +1 -1
- package/dist/workflow/state-manager.js +10 -0
- package/dist/workflow/state-manager.js.map +1 -1
- package/package.json +1 -1
- package/resources/global/en/agents/default/ai-reviewer.md +0 -20
- package/resources/global/en/agents/default/architect.md +5 -73
- package/resources/global/en/agents/default/coder.md +0 -39
- package/resources/global/en/agents/default/planner.md +0 -23
- package/resources/global/en/agents/default/security.md +0 -16
- package/resources/global/en/agents/default/supervisor.md +0 -19
- package/resources/global/en/agents/expert-review/cqrs-es-reviewer.md +0 -35
- package/resources/global/en/agents/expert-review/frontend-reviewer.md +0 -35
- package/resources/global/en/agents/expert-review/qa-reviewer.md +0 -36
- package/resources/global/en/agents/expert-review/security-reviewer.md +0 -37
- package/resources/global/en/agents/expert-review/supervisor.md +0 -62
- package/resources/global/en/agents/magi/balthasar.md +0 -20
- package/resources/global/en/agents/magi/casper.md +0 -42
- package/resources/global/en/agents/magi/melchior.md +0 -20
- package/resources/global/en/agents/research/digger.md +0 -41
- package/resources/global/en/agents/research/planner.md +0 -34
- package/resources/global/en/agents/research/supervisor.md +0 -36
- package/resources/global/en/workflows/default.yaml +419 -46
- package/resources/global/en/workflows/expert-review.yaml +217 -22
- package/resources/global/en/workflows/magi.yaml +78 -26
- package/resources/global/en/workflows/research.yaml +105 -11
- package/resources/global/ja/agents/default/ai-reviewer.md +0 -20
- package/resources/global/ja/agents/default/architect.md +5 -73
- package/resources/global/ja/agents/default/coder.md +1 -41
- package/resources/global/ja/agents/default/planner.md +0 -23
- package/resources/global/ja/agents/default/security.md +0 -16
- package/resources/global/ja/agents/default/supervisor.md +0 -19
- package/resources/global/ja/agents/expert-review/cqrs-es-reviewer.md +0 -35
- package/resources/global/ja/agents/expert-review/frontend-reviewer.md +0 -35
- package/resources/global/ja/agents/expert-review/qa-reviewer.md +0 -36
- package/resources/global/ja/agents/expert-review/security-reviewer.md +0 -37
- package/resources/global/ja/agents/expert-review/supervisor.md +0 -62
- package/resources/global/ja/agents/magi/balthasar.md +0 -20
- package/resources/global/ja/agents/magi/casper.md +0 -42
- package/resources/global/ja/agents/magi/melchior.md +0 -20
- package/resources/global/ja/agents/research/digger.md +0 -41
- package/resources/global/ja/agents/research/planner.md +0 -34
- package/resources/global/ja/agents/research/supervisor.md +0 -36
- package/resources/global/ja/workflows/default.yaml +419 -50
- package/resources/global/ja/workflows/expert-review.yaml +217 -22
- package/resources/global/ja/workflows/magi.yaml +78 -26
- package/resources/global/ja/workflows/research.yaml +105 -11
|
@@ -5,6 +5,16 @@
|
|
|
5
5
|
# Flow:
|
|
6
6
|
# plan -> dig -> supervise -> COMPLETE (approved)
|
|
7
7
|
# -> plan (rejected: restart from planning)
|
|
8
|
+
#
|
|
9
|
+
# Template Variables:
|
|
10
|
+
# {iteration} - Workflow-wide turn count (total steps executed across all agents)
|
|
11
|
+
# {max_iterations} - Maximum iterations allowed for the workflow
|
|
12
|
+
# {step_iteration} - Per-step iteration count (how many times THIS step has been executed)
|
|
13
|
+
# {task} - Original user request
|
|
14
|
+
# {previous_response} - Output from the previous step
|
|
15
|
+
# {git_diff} - Current uncommitted changes (git diff)
|
|
16
|
+
# {user_inputs} - Accumulated user inputs during workflow
|
|
17
|
+
# {report_dir} - Report directory name (e.g., "20250126-143052-task-summary")
|
|
8
18
|
|
|
9
19
|
name: research
|
|
10
20
|
description: Research workflow - autonomously executes research without asking questions
|
|
@@ -20,9 +30,37 @@ steps:
|
|
|
20
30
|
- Grep
|
|
21
31
|
- WebSearch
|
|
22
32
|
- WebFetch
|
|
33
|
+
status_rules_prompt: |
|
|
34
|
+
# ⚠️ REQUIRED: Status Output Rules ⚠️
|
|
35
|
+
|
|
36
|
+
**Without this tag, the workflow will stop.**
|
|
37
|
+
Your final output MUST include a status tag following the rules below.
|
|
38
|
+
|
|
39
|
+
## Output Format
|
|
40
|
+
|
|
41
|
+
| Situation | Tag |
|
|
42
|
+
|-----------|-----|
|
|
43
|
+
| Plan complete | `[PLANNER:DONE]` |
|
|
44
|
+
| Insufficient info | `[PLANNER:BLOCKED]` |
|
|
45
|
+
|
|
46
|
+
### Output Examples
|
|
47
|
+
|
|
48
|
+
**DONE case:**
|
|
49
|
+
```
|
|
50
|
+
[PLANNER:DONE]
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**BLOCKED case:**
|
|
54
|
+
```
|
|
55
|
+
[PLANNER:BLOCKED]
|
|
56
|
+
|
|
57
|
+
Clarifications needed:
|
|
58
|
+
- {Question 1}
|
|
59
|
+
```
|
|
23
60
|
instruction_template: |
|
|
24
61
|
## Workflow Status
|
|
25
|
-
- Iteration: {iteration}/{max_iterations}
|
|
62
|
+
- Iteration: {iteration}/{max_iterations} (workflow-wide)
|
|
63
|
+
- Step Iteration: {step_iteration} (times this step has run)
|
|
26
64
|
- Step: plan
|
|
27
65
|
|
|
28
66
|
## Research Request
|
|
@@ -41,8 +79,6 @@ steps:
|
|
|
41
79
|
- Make assumptions for unclear points and proceed
|
|
42
80
|
- If multiple interpretations exist, include all in the research scope
|
|
43
81
|
- If there is feedback from Supervisor, incorporate it into the plan
|
|
44
|
-
|
|
45
|
-
Output [PLANNER:DONE] when the plan is complete.
|
|
46
82
|
pass_previous_response: true
|
|
47
83
|
transitions:
|
|
48
84
|
- condition: done
|
|
@@ -58,9 +94,36 @@ steps:
|
|
|
58
94
|
- Grep
|
|
59
95
|
- WebSearch
|
|
60
96
|
- WebFetch
|
|
97
|
+
status_rules_prompt: |
|
|
98
|
+
# ⚠️ REQUIRED: Status Output Rules ⚠️
|
|
99
|
+
|
|
100
|
+
**Without this tag, the workflow will stop.**
|
|
101
|
+
Your final output MUST include a status tag following the rules below.
|
|
102
|
+
|
|
103
|
+
## Output Format
|
|
104
|
+
|
|
105
|
+
| Situation | Tag |
|
|
106
|
+
|-----------|-----|
|
|
107
|
+
| Research complete | `[DIGGER:DONE]` |
|
|
108
|
+
| Unable to research | `[DIGGER:BLOCKED]` |
|
|
109
|
+
|
|
110
|
+
### Output Examples
|
|
111
|
+
|
|
112
|
+
**DONE case:**
|
|
113
|
+
```
|
|
114
|
+
[DIGGER:DONE]
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
**BLOCKED case:**
|
|
118
|
+
```
|
|
119
|
+
[DIGGER:BLOCKED]
|
|
120
|
+
|
|
121
|
+
Reason: {Why research was not possible}
|
|
122
|
+
```
|
|
61
123
|
instruction_template: |
|
|
62
124
|
## Workflow Status
|
|
63
|
-
- Iteration: {iteration}/{max_iterations}
|
|
125
|
+
- Iteration: {iteration}/{max_iterations} (workflow-wide)
|
|
126
|
+
- Step Iteration: {step_iteration} (times this step has run)
|
|
64
127
|
- Step: dig
|
|
65
128
|
|
|
66
129
|
## Original Research Request
|
|
@@ -84,8 +147,6 @@ steps:
|
|
|
84
147
|
- GitHub search (gh command)
|
|
85
148
|
- Codebase search
|
|
86
149
|
- File reading
|
|
87
|
-
|
|
88
|
-
Output [DIGGER:DONE] when the research is complete.
|
|
89
150
|
pass_previous_response: true
|
|
90
151
|
transitions:
|
|
91
152
|
- condition: done
|
|
@@ -101,9 +162,46 @@ steps:
|
|
|
101
162
|
- Grep
|
|
102
163
|
- WebSearch
|
|
103
164
|
- WebFetch
|
|
165
|
+
status_rules_prompt: |
|
|
166
|
+
# ⚠️ REQUIRED: Status Output Rules ⚠️
|
|
167
|
+
|
|
168
|
+
**Without this tag, the workflow will stop.**
|
|
169
|
+
Your final output MUST include a status tag following the rules below.
|
|
170
|
+
|
|
171
|
+
## Judgment Criteria
|
|
172
|
+
|
|
173
|
+
| Situation | Judgment |
|
|
174
|
+
|-----------|----------|
|
|
175
|
+
| Research results sufficient | APPROVE |
|
|
176
|
+
| Research results insufficient | REJECT |
|
|
177
|
+
|
|
178
|
+
## Output Format
|
|
179
|
+
|
|
180
|
+
| Situation | Tag |
|
|
181
|
+
|-----------|-----|
|
|
182
|
+
| Research complete, results sufficient | `[SUPERVISOR:APPROVE]` |
|
|
183
|
+
| Insufficient, restart from planning | `[SUPERVISOR:REJECT]` |
|
|
184
|
+
|
|
185
|
+
### Output Examples
|
|
186
|
+
|
|
187
|
+
**APPROVE case:**
|
|
188
|
+
```
|
|
189
|
+
[SUPERVISOR:APPROVE]
|
|
190
|
+
|
|
191
|
+
Research results adequately answer the original request.
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
**REJECT case:**
|
|
195
|
+
```
|
|
196
|
+
[SUPERVISOR:REJECT]
|
|
197
|
+
|
|
198
|
+
Missing:
|
|
199
|
+
- {Specific missing items}
|
|
200
|
+
```
|
|
104
201
|
instruction_template: |
|
|
105
202
|
## Workflow Status
|
|
106
|
-
- Iteration: {iteration}/{max_iterations}
|
|
203
|
+
- Iteration: {iteration}/{max_iterations} (workflow-wide)
|
|
204
|
+
- Step Iteration: {step_iteration} (times this step has run)
|
|
107
205
|
- Step: supervise (research quality evaluation)
|
|
108
206
|
|
|
109
207
|
## Original Research Request
|
|
@@ -115,10 +213,6 @@ steps:
|
|
|
115
213
|
## Instructions
|
|
116
214
|
Evaluate the research results and determine if they adequately answer the original request.
|
|
117
215
|
|
|
118
|
-
**Evaluation Output**:
|
|
119
|
-
- [SUPERVISOR:APPROVE] - Research complete, results are sufficient
|
|
120
|
-
- [SUPERVISOR:REJECT] - Insufficient, restart from planning (specify what's missing)
|
|
121
|
-
|
|
122
216
|
**Important**: If there are issues, include specific instructions for the Planner.
|
|
123
217
|
pass_previous_response: true
|
|
124
218
|
transitions:
|
|
@@ -107,26 +107,6 @@ AI生成コードには特有の特徴があります:
|
|
|
107
107
|
| 代替案が検討されている | 他のアプローチは評価されたか? |
|
|
108
108
|
| 仮定が明示されている | 仮定は明示的で合理的か? |
|
|
109
109
|
|
|
110
|
-
## 判定基準
|
|
111
|
-
|
|
112
|
-
| 状況 | 判定 |
|
|
113
|
-
|------|------|
|
|
114
|
-
| 仮定が間違っている(動作に影響) | REJECT |
|
|
115
|
-
| もっともらしいが間違っているコード | REJECT |
|
|
116
|
-
| コードベースの文脈に重大な不整合 | REJECT |
|
|
117
|
-
| スコープクリープ | APPROVE(警告を付記) |
|
|
118
|
-
| 軽微なスタイルの逸脱のみ | APPROVE |
|
|
119
|
-
| コードが文脈に合い動作する | APPROVE |
|
|
120
|
-
|
|
121
|
-
**注意:** スコープクリープは警告として記載するが、それだけでREJECTしない。大きな変更が必要なタスクもある。
|
|
122
|
-
|
|
123
|
-
## 出力フォーマット
|
|
124
|
-
|
|
125
|
-
| 状況 | タグ |
|
|
126
|
-
|------|------|
|
|
127
|
-
| AI特有の問題なし | `[AI_REVIEW:APPROVE]` |
|
|
128
|
-
| 問題あり | `[AI_REVIEW:REJECT]` |
|
|
129
|
-
|
|
130
110
|
## 重要
|
|
131
111
|
|
|
132
112
|
**AI特有の問題に集中する。** ArchitectやSecurityレビュアーがチェックすることを重複しない。
|
|
@@ -251,83 +251,15 @@ Vertical Slice の判定基準:
|
|
|
251
251
|
2. 繰り返されている場合、細かい修正指示ではなく**アプローチ自体の代替案**を提示
|
|
252
252
|
3. REJECTする場合でも、「別のアプローチを検討すべき」という観点を含める
|
|
253
253
|
|
|
254
|
-
|
|
255
|
-
[ARCHITECT:REJECT]
|
|
256
|
-
|
|
257
|
-
### 問題点
|
|
258
|
-
(通常の指摘)
|
|
259
|
-
|
|
260
|
-
### アプローチの再検討
|
|
261
|
-
3回目のレビューで同様の問題が続いています。
|
|
262
|
-
現在のアプローチでは解決が困難な可能性があります。
|
|
254
|
+
例: 3回目のレビューで問題が繰り返される場合
|
|
263
255
|
|
|
264
|
-
|
|
265
|
-
-
|
|
266
|
-
-
|
|
267
|
-
|
|
256
|
+
- 通常の問題点を指摘
|
|
257
|
+
- 同じ種類の問題が繰り返されていることを明記
|
|
258
|
+
- 現在のアプローチの限界を説明
|
|
259
|
+
- 代替案を提示(例: 別のパターンで再設計、新技術の導入など)
|
|
268
260
|
|
|
269
261
|
**ポイント**: 「もう一度修正して」と繰り返すより、立ち止まって別の道を示す。
|
|
270
262
|
|
|
271
|
-
## 判定基準
|
|
272
|
-
|
|
273
|
-
| 状況 | 判定 |
|
|
274
|
-
|------|------|
|
|
275
|
-
| 構造に問題がある | REJECT |
|
|
276
|
-
| 設計原則違反がある | REJECT |
|
|
277
|
-
| セキュリティ問題がある | REJECT |
|
|
278
|
-
| テストが不十分 | REJECT |
|
|
279
|
-
| 改善すべき点がある(ブロッキングではないが対応すべき) | IMPROVE |
|
|
280
|
-
| 問題なし | APPROVE |
|
|
281
|
-
|
|
282
|
-
**IMPROVEの使い方:**
|
|
283
|
-
- 設計としては許容範囲だが、改善した方が良い点がある場合
|
|
284
|
-
- 次のステップに進む前に修正させたい軽微な問題
|
|
285
|
-
- 例: 命名の改善、小さなリファクタリング、コメント追加
|
|
286
|
-
|
|
287
|
-
## 出力フォーマット
|
|
288
|
-
|
|
289
|
-
| 状況 | タグ |
|
|
290
|
-
|------|------|
|
|
291
|
-
| 問題なし | `[ARCHITECT:APPROVE]` |
|
|
292
|
-
| 改善すべき点がある(軽微) | `[ARCHITECT:IMPROVE]` |
|
|
293
|
-
| 問題があり修正が必要 | `[ARCHITECT:REJECT]` |
|
|
294
|
-
|
|
295
|
-
### 出力例
|
|
296
|
-
|
|
297
|
-
**REJECT の場合:**
|
|
298
|
-
|
|
299
|
-
```
|
|
300
|
-
[ARCHITECT:REJECT]
|
|
301
|
-
|
|
302
|
-
### 問題点
|
|
303
|
-
|
|
304
|
-
1. **ファイルサイズ超過**
|
|
305
|
-
- 場所: `src/services/user.ts` (523行)
|
|
306
|
-
- 問題: 単一ファイルに認証・権限・プロフィール管理が混在
|
|
307
|
-
- 修正案: 以下の3ファイルに分割
|
|
308
|
-
- `src/services/auth.ts` - 認証
|
|
309
|
-
- `src/services/permission.ts` - 権限
|
|
310
|
-
- `src/services/profile.ts` - プロフィール
|
|
311
|
-
|
|
312
|
-
2. **フォールバック値の乱用**
|
|
313
|
-
- 場所: `src/api/handler.ts:42`
|
|
314
|
-
- 問題: `user.name ?? 'unknown'` でエラーを隠蔽
|
|
315
|
-
- 修正案: nullの場合はエラーをthrowする
|
|
316
|
-
```
|
|
317
|
-
|
|
318
|
-
**APPROVE の場合:**
|
|
319
|
-
|
|
320
|
-
```
|
|
321
|
-
[ARCHITECT:APPROVE]
|
|
322
|
-
|
|
323
|
-
### 良い点
|
|
324
|
-
- モジュール分割が適切
|
|
325
|
-
- 単一責務が守られている
|
|
326
|
-
|
|
327
|
-
### 改善提案(任意)
|
|
328
|
-
- `utils/` 内の共通処理は将来的に整理を検討
|
|
329
|
-
```
|
|
330
|
-
|
|
331
263
|
## 重要
|
|
332
264
|
|
|
333
265
|
**具体的に指摘する。** 以下は禁止:
|
|
@@ -142,44 +142,4 @@
|
|
|
142
142
|
- **any型** - 型安全を破壊しない
|
|
143
143
|
- **オブジェクト/配列の直接変更** - スプレッド演算子で新規作成
|
|
144
144
|
- **console.log** - 本番コードに残さない
|
|
145
|
-
- **機密情報のハードコーディング**
|
|
146
|
-
|
|
147
|
-
## 出力フォーマット
|
|
148
|
-
|
|
149
|
-
作業完了時は必ず以下のタグを含めてください:
|
|
150
|
-
|
|
151
|
-
| 状況 | タグ |
|
|
152
|
-
|------|------|
|
|
153
|
-
| 実装完了 | `[CODER:DONE]` |
|
|
154
|
-
| Architectの指摘を修正完了 | `[CODER:FIXED]` |
|
|
155
|
-
| 判断できない/情報不足 | `[CODER:BLOCKED]` |
|
|
156
|
-
|
|
157
|
-
**重要**: 迷ったら `[BLOCKED]`。勝手に判断しない。
|
|
158
|
-
|
|
159
|
-
### 出力例
|
|
160
|
-
|
|
161
|
-
**実装完了時:**
|
|
162
|
-
```
|
|
163
|
-
実装完了しました。
|
|
164
|
-
- 作成: `src/auth/service.ts`, `tests/auth.test.ts`
|
|
165
|
-
- 変更: `src/routes.ts`
|
|
166
|
-
|
|
167
|
-
[CODER:DONE]
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
**ブロック時:**
|
|
171
|
-
```
|
|
172
|
-
[CODER:BLOCKED]
|
|
173
|
-
理由: DBスキーマが未定義のため実装できません
|
|
174
|
-
必要な情報: usersテーブルの構造
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
**修正完了時:**
|
|
178
|
-
```
|
|
179
|
-
Architectの指摘3点を修正しました。
|
|
180
|
-
- 型定義を追加
|
|
181
|
-
- エラーハンドリングを修正
|
|
182
|
-
- テストケースを追加
|
|
183
|
-
|
|
184
|
-
[CODER:FIXED]
|
|
185
|
-
```
|
|
145
|
+
- **機密情報のハードコーディング**
|
|
@@ -48,29 +48,6 @@
|
|
|
48
48
|
| 要件が明確で実装可能 | DONE |
|
|
49
49
|
| 要件が不明確、情報不足 | BLOCKED |
|
|
50
50
|
|
|
51
|
-
## 出力フォーマット
|
|
52
|
-
|
|
53
|
-
| 状況 | タグ |
|
|
54
|
-
|------|------|
|
|
55
|
-
| 分析完了 | `[PLANNER:DONE]` |
|
|
56
|
-
| 情報不足 | `[PLANNER:BLOCKED]` |
|
|
57
|
-
|
|
58
|
-
### DONE時の出力構造
|
|
59
|
-
|
|
60
|
-
```
|
|
61
|
-
[PLANNER:DONE]
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### BLOCKED時の出力構造
|
|
65
|
-
|
|
66
|
-
```
|
|
67
|
-
[PLANNER:BLOCKED]
|
|
68
|
-
|
|
69
|
-
確認事項:
|
|
70
|
-
- {質問1}
|
|
71
|
-
- {質問2}
|
|
72
|
-
```
|
|
73
|
-
|
|
74
51
|
## 重要
|
|
75
52
|
|
|
76
53
|
**シンプルに分析する。** 過度に詳細な計画は不要。Coderが実装を進められる程度の方向性を示す。
|
|
@@ -170,22 +170,6 @@ if (!safePath.startsWith(path.resolve(baseDir))) {
|
|
|
170
170
|
| A09 Logging Failures | セキュリティログ |
|
|
171
171
|
| A10 SSRF | サーバーサイドリクエスト |
|
|
172
172
|
|
|
173
|
-
## 判定基準
|
|
174
|
-
|
|
175
|
-
| 状況 | 判定 |
|
|
176
|
-
|------|------|
|
|
177
|
-
| 重大な脆弱性(即REJECT) | REJECT |
|
|
178
|
-
| 中程度の脆弱性 | REJECT |
|
|
179
|
-
| 軽微な問題・警告のみ | APPROVE(警告を付記) |
|
|
180
|
-
| セキュリティ問題なし | APPROVE |
|
|
181
|
-
|
|
182
|
-
## 出力フォーマット
|
|
183
|
-
|
|
184
|
-
| 状況 | タグ |
|
|
185
|
-
|------|------|
|
|
186
|
-
| セキュリティ問題なし | `[SECURITY:APPROVE]` |
|
|
187
|
-
| 脆弱性があり修正が必要 | `[SECURITY:REJECT]` |
|
|
188
|
-
|
|
189
173
|
## 重要
|
|
190
174
|
|
|
191
175
|
**見逃さない**: セキュリティ脆弱性は本番で攻撃される。1つの見逃しが重大なインシデントにつながる。
|
|
@@ -132,25 +132,6 @@ Architectが「正しく作られているか(Verification)」を確認す
|
|
|
132
132
|
| console.log | デバッグ出力の消し忘れ |
|
|
133
133
|
| スキップされたテスト | `@Disabled`、`.skip()` |
|
|
134
134
|
|
|
135
|
-
## 判定基準
|
|
136
|
-
|
|
137
|
-
| 状況 | 判定 |
|
|
138
|
-
|------|------|
|
|
139
|
-
| 要求が満たされていない | REJECT |
|
|
140
|
-
| テストが失敗する | REJECT |
|
|
141
|
-
| ビルドが通らない | REJECT |
|
|
142
|
-
| その場しのぎが残っている | REJECT |
|
|
143
|
-
| すべて問題なし | APPROVE |
|
|
144
|
-
|
|
145
|
-
**原則**: 疑わしきは REJECT。曖昧な承認はしない。
|
|
146
|
-
|
|
147
|
-
## 出力フォーマット
|
|
148
|
-
|
|
149
|
-
| 状況 | タグ |
|
|
150
|
-
|------|------|
|
|
151
|
-
| 最終承認 | `[SUPERVISOR:APPROVE]` |
|
|
152
|
-
| 差し戻し | `[SUPERVISOR:REJECT]` |
|
|
153
|
-
|
|
154
135
|
## 重要
|
|
155
136
|
|
|
156
137
|
- **実際に動かす**: ファイルを見るだけでなく、実行して確認する
|
|
@@ -149,41 +149,6 @@ OrderUpdated, OrderDeleted
|
|
|
149
149
|
| 結果整合性の考慮不足 | REJECT |
|
|
150
150
|
| 軽微な改善点のみ | APPROVE(改善提案は付記) |
|
|
151
151
|
|
|
152
|
-
## 出力フォーマット
|
|
153
|
-
|
|
154
|
-
| 状況 | タグ |
|
|
155
|
-
|------|------|
|
|
156
|
-
| CQRS+ES観点で問題なし | `[CQRS-ES:APPROVE]` |
|
|
157
|
-
| 設計上の問題あり | `[CQRS-ES:REJECT]` |
|
|
158
|
-
|
|
159
|
-
### REJECT の構造
|
|
160
|
-
|
|
161
|
-
```
|
|
162
|
-
[CQRS-ES:REJECT]
|
|
163
|
-
|
|
164
|
-
### 問題点
|
|
165
|
-
|
|
166
|
-
1. **問題のタイトル**
|
|
167
|
-
- 場所: ファイルパス:行番号
|
|
168
|
-
- 問題: CQRS/ES原則違反の具体的説明
|
|
169
|
-
- 修正案: 正しいパターンの提示
|
|
170
|
-
|
|
171
|
-
### CQRS+ES観点での推奨事項
|
|
172
|
-
- 設計改善の具体的なアドバイス
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
### APPROVE の構造
|
|
176
|
-
|
|
177
|
-
```
|
|
178
|
-
[CQRS-ES:APPROVE]
|
|
179
|
-
|
|
180
|
-
### 良い点
|
|
181
|
-
- CQRS+ESの原則に沿った良い設計を列挙
|
|
182
|
-
|
|
183
|
-
### 改善提案(任意)
|
|
184
|
-
- さらなる最適化の余地があれば
|
|
185
|
-
```
|
|
186
|
-
|
|
187
152
|
## 口調の特徴
|
|
188
153
|
|
|
189
154
|
- ドメイン駆動設計の用語を正確に使う
|
|
@@ -209,41 +209,6 @@ function UserPage() {
|
|
|
209
209
|
| パフォーマンス問題 | REJECT(重大な場合) |
|
|
210
210
|
| 軽微な改善点のみ | APPROVE(改善提案は付記) |
|
|
211
211
|
|
|
212
|
-
## 出力フォーマット
|
|
213
|
-
|
|
214
|
-
| 状況 | タグ |
|
|
215
|
-
|------|------|
|
|
216
|
-
| フロントエンド観点で問題なし | `[FRONTEND:APPROVE]` |
|
|
217
|
-
| 設計上の問題あり | `[FRONTEND:REJECT]` |
|
|
218
|
-
|
|
219
|
-
### REJECT の構造
|
|
220
|
-
|
|
221
|
-
```
|
|
222
|
-
[FRONTEND:REJECT]
|
|
223
|
-
|
|
224
|
-
### 問題点
|
|
225
|
-
|
|
226
|
-
1. **問題のタイトル**
|
|
227
|
-
- 場所: ファイルパス:行番号
|
|
228
|
-
- 問題: フロントエンド設計原則違反の具体的説明
|
|
229
|
-
- 修正案: 正しいパターンの提示
|
|
230
|
-
|
|
231
|
-
### フロントエンド観点での推奨事項
|
|
232
|
-
- 設計改善の具体的なアドバイス
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
### APPROVE の構造
|
|
236
|
-
|
|
237
|
-
```
|
|
238
|
-
[FRONTEND:APPROVE]
|
|
239
|
-
|
|
240
|
-
### 良い点
|
|
241
|
-
- フロントエンドの原則に沿った良い設計を列挙
|
|
242
|
-
|
|
243
|
-
### 改善提案(任意)
|
|
244
|
-
- さらなる最適化の余地があれば
|
|
245
|
-
```
|
|
246
|
-
|
|
247
212
|
## 口調の特徴
|
|
248
213
|
|
|
249
214
|
- ユーザー体験を常に意識した発言
|
|
@@ -209,42 +209,6 @@ describe('OrderService', () => {
|
|
|
209
209
|
| 保守性に深刻な問題 | REJECT |
|
|
210
210
|
| 軽微な改善点のみ | APPROVE(改善提案は付記) |
|
|
211
211
|
|
|
212
|
-
## 出力フォーマット
|
|
213
|
-
|
|
214
|
-
| 状況 | タグ |
|
|
215
|
-
|------|------|
|
|
216
|
-
| 品質基準を満たしている | `[QA:APPROVE]` |
|
|
217
|
-
| 品質上の問題がある | `[QA:REJECT]` |
|
|
218
|
-
|
|
219
|
-
### REJECT の構造
|
|
220
|
-
|
|
221
|
-
```
|
|
222
|
-
[QA:REJECT]
|
|
223
|
-
|
|
224
|
-
### 問題点
|
|
225
|
-
|
|
226
|
-
1. **問題のタイトル** [カテゴリ: テスト/ドキュメント/保守性]
|
|
227
|
-
- 場所: ファイルパス:行番号
|
|
228
|
-
- 問題: 具体的な問題の説明
|
|
229
|
-
- 影響: この問題が放置された場合の影響
|
|
230
|
-
- 修正案: 具体的な修正方法
|
|
231
|
-
|
|
232
|
-
### QA推奨事項
|
|
233
|
-
- 品質向上のための追加アドバイス
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
### APPROVE の構造
|
|
237
|
-
|
|
238
|
-
```
|
|
239
|
-
[QA:APPROVE]
|
|
240
|
-
|
|
241
|
-
### 良い点
|
|
242
|
-
- 品質面での優れた点を列挙
|
|
243
|
-
|
|
244
|
-
### 改善提案(任意)
|
|
245
|
-
- さらなる品質向上の余地があれば
|
|
246
|
-
```
|
|
247
|
-
|
|
248
212
|
## 口調の特徴
|
|
249
213
|
|
|
250
214
|
- 品質の重要性を説く
|
|
@@ -170,43 +170,6 @@
|
|
|
170
170
|
| 低リスクだが改善すべき | APPROVE(改善提案は付記) |
|
|
171
171
|
| セキュリティ上の問題なし | APPROVE |
|
|
172
172
|
|
|
173
|
-
## 出力フォーマット
|
|
174
|
-
|
|
175
|
-
| 状況 | タグ |
|
|
176
|
-
|------|------|
|
|
177
|
-
| セキュリティ上の問題なし | `[SECURITY:APPROVE]` |
|
|
178
|
-
| 脆弱性が存在 | `[SECURITY:REJECT]` |
|
|
179
|
-
|
|
180
|
-
### REJECT の構造
|
|
181
|
-
|
|
182
|
-
```
|
|
183
|
-
[SECURITY:REJECT]
|
|
184
|
-
|
|
185
|
-
### 脆弱性
|
|
186
|
-
|
|
187
|
-
1. **脆弱性の名称** [重大度: 高/中/低]
|
|
188
|
-
- 場所: ファイルパス:行番号
|
|
189
|
-
- 問題: 具体的な脆弱性の説明
|
|
190
|
-
- 攻撃シナリオ: どのように悪用される可能性があるか
|
|
191
|
-
- 修正案: 具体的な修正方法
|
|
192
|
-
- 参考: CWE番号、OWASP参照等
|
|
193
|
-
|
|
194
|
-
### セキュリティ推奨事項
|
|
195
|
-
- 追加の防御策
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
### APPROVE の構造
|
|
199
|
-
|
|
200
|
-
```
|
|
201
|
-
[SECURITY:APPROVE]
|
|
202
|
-
|
|
203
|
-
### 確認済み項目
|
|
204
|
-
- 確認したセキュリティ観点を列挙
|
|
205
|
-
|
|
206
|
-
### 推奨事項(任意)
|
|
207
|
-
- さらなる強化の余地があれば
|
|
208
|
-
```
|
|
209
|
-
|
|
210
173
|
## 口調の特徴
|
|
211
174
|
|
|
212
175
|
- 脆弱性を見つけたら厳格に指摘
|
|
@@ -108,68 +108,6 @@
|
|
|
108
108
|
2. 技術的負債として記録し、計画的に対応予定
|
|
109
109
|
3. ビジネス上の理由で緊急リリースが必要
|
|
110
110
|
|
|
111
|
-
## 出力フォーマット
|
|
112
|
-
|
|
113
|
-
| 状況 | タグ |
|
|
114
|
-
|------|------|
|
|
115
|
-
| リリース可能 | `[SUPERVISOR:APPROVE]` |
|
|
116
|
-
| 修正が必要 | `[SUPERVISOR:REJECT]` |
|
|
117
|
-
|
|
118
|
-
### APPROVE の構造
|
|
119
|
-
|
|
120
|
-
```
|
|
121
|
-
[SUPERVISOR:APPROVE]
|
|
122
|
-
|
|
123
|
-
### サマリー
|
|
124
|
-
- 実装内容の概要(1-2文)
|
|
125
|
-
|
|
126
|
-
### レビュー結果
|
|
127
|
-
| 専門領域 | 結果 | 備考 |
|
|
128
|
-
|---------|------|------|
|
|
129
|
-
| CQRS+ES | APPROVE | - |
|
|
130
|
-
| Frontend | APPROVE | 軽微な改善提案あり |
|
|
131
|
-
| Security | APPROVE | - |
|
|
132
|
-
| QA | APPROVE | - |
|
|
133
|
-
|
|
134
|
-
### 良い点
|
|
135
|
-
- 全体を通して優れている点
|
|
136
|
-
|
|
137
|
-
### 今後の改善点(任意)
|
|
138
|
-
- 後続タスクとして検討すべき点
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
### REJECT の構造
|
|
142
|
-
|
|
143
|
-
```
|
|
144
|
-
[SUPERVISOR:REJECT]
|
|
145
|
-
|
|
146
|
-
### サマリー
|
|
147
|
-
- 問題の概要(1-2文)
|
|
148
|
-
|
|
149
|
-
### レビュー結果
|
|
150
|
-
| 専門領域 | 結果 | 備考 |
|
|
151
|
-
|---------|------|------|
|
|
152
|
-
| CQRS+ES | APPROVE | - |
|
|
153
|
-
| Frontend | REJECT | コンポーネント設計に問題 |
|
|
154
|
-
| Security | APPROVE | - |
|
|
155
|
-
| QA | REJECT | テスト不足 |
|
|
156
|
-
|
|
157
|
-
### 修正が必要な項目
|
|
158
|
-
|
|
159
|
-
**優先度: 高**
|
|
160
|
-
1. [Frontend] コンポーネントの分割
|
|
161
|
-
- 詳細: UserPageコンポーネントが300行を超えている
|
|
162
|
-
- 対応: Container/Presentationalに分離
|
|
163
|
-
|
|
164
|
-
**優先度: 中**
|
|
165
|
-
2. [QA] テストの追加
|
|
166
|
-
- 詳細: 新機能のユニットテストがない
|
|
167
|
-
- 対応: calculateTotal関数のテストを追加
|
|
168
|
-
|
|
169
|
-
### 次のアクション
|
|
170
|
-
- Coderは上記の優先度順に修正を行ってください
|
|
171
|
-
```
|
|
172
|
-
|
|
173
111
|
## 口調の特徴
|
|
174
112
|
|
|
175
113
|
- 公平で客観的
|
|
@@ -45,26 +45,6 @@
|
|
|
45
45
|
- 懸念を伝える際も、責めるのではなく心配する
|
|
46
46
|
- 長期的な視点を示唆する
|
|
47
47
|
|
|
48
|
-
## 判定フォーマット
|
|
49
|
-
|
|
50
|
-
```
|
|
51
|
-
## BALTHASAR-2 分析
|
|
52
|
-
|
|
53
|
-
### 人的影響の評価
|
|
54
|
-
[関わる人々への影響 - 負荷、モチベーション、成長機会]
|
|
55
|
-
|
|
56
|
-
### 持続可能性の観点
|
|
57
|
-
[長期的に見た場合の懸念や期待]
|
|
58
|
-
|
|
59
|
-
### 判定理由
|
|
60
|
-
[判定に至った理由 - 人・チームへの影響を中心に]
|
|
61
|
-
|
|
62
|
-
### 判定
|
|
63
|
-
[BALTHASAR:APPROVE] または [BALTHASAR:REJECT] または [BALTHASAR:CONDITIONAL]
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
CONDITIONAL は条件付き賛成。条件には必ず「人を守るための安全策」を含める。
|
|
67
|
-
|
|
68
48
|
## 重要
|
|
69
49
|
|
|
70
50
|
- 純粋な効率だけで判断しない
|