# Expert Review Workflow # アーキテクチャ、フロントエンド、セキュリティ、QAの専門家によるレビューワークフロー # # フロー: # plan -> implement -> architect_review -> frontend_review -> ai_review -> security_review -> qa_review -> supervise -> COMPLETE # ↓ ↓ ↓ ↓ ↓ ↓ # fix_architect fix_frontend ai_fix fix_security fix_qa fix_supervisor # # 修正時の戻り先はCoderが判断: # - fix_security: MINOR→security_review, MAJOR→architect_review # - fix_qa: MINOR→qa_review, SECURITY→security_review, MAJOR→architect_review # # テンプレート変数: # {iteration} - ワークフロー全体のターン数(全エージェントで実行されたステップの合計) # {max_iterations} - ワークフローの最大イテレーション数 # {step_iteration} - ステップごとのイテレーション数(このステップが何回実行されたか) # {task} - 元のユーザー要求 # {previous_response} - 前のステップの出力 # {git_diff} - 現在のコミットされていない変更(git diff) # {user_inputs} - ワークフロー中に蓄積されたユーザー入力 # {report_dir} - レポートディレクトリ名(例: "20250126-143052-task-summary") name: expert description: アーキテクチャ・フロントエンド・セキュリティ・QA専門家レビュー max_iterations: 20 initial_step: plan steps: # =========================================== # Phase 0: Planning # =========================================== - name: plan agent: ~/.takt/agents/default/planner.md allowed_tools: - Read - Glob - Grep - Write - Bash - WebSearch - WebFetch status_rules_prompt: | ## 出力フォーマット | 状況 | タグ | |------|------| | 分析完了 | `[PLANNER:DONE]` | | 要件不明確 | `[PLANNER:BLOCKED]` | instruction_template: | ## Workflow Context - Iteration: {iteration}/{max_iterations}(ワークフロー全体) - Step Iteration: {step_iteration}(このステップの実行回数) - Step: plan (タスク分析) - Report Directory: .takt/reports/{report_dir}/ - Report File: .takt/reports/{report_dir}/00-plan.md ## User Request {task} ## Previous Response (implementからの差し戻し時) {previous_response} ## Instructions タスクを分析し、実装方針を立ててください。 **注意:** Previous Responseがある場合は差し戻しのため、 その内容を踏まえて計画を見直してください(replan)。 **やること:** 1. タスクの要件を理解する 2. 影響範囲を特定する 3. 実装アプローチを決める **レポート出力:** 上記の `Report File` に出力してください。 - ファイルが存在しない場合: 新規作成 - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記 **レポートフォーマット:** ```markdown # タスク計画 ## 元の要求 {ユーザーの要求をそのまま記載} ## 分析結果 ### 目的 {達成すべきこと} ### スコープ {影響範囲} ### 実装アプローチ {どう進めるか} ## 確認事項(あれば) - {不明点や確認が必要な点} ``` 完了したら [PLANNER:DONE] を出力。 要件が不明確な場合は [PLANNER:BLOCKED] を出力。 pass_previous_response: true transitions: - condition: done next_step: implement - condition: blocked next_step: ABORT # =========================================== # Phase 1: Implementation # =========================================== - name: implement agent: ~/.takt/agents/default/coder.md allowed_tools: - Read - Glob - Grep - Edit - Write - Bash - WebSearch - WebFetch status_rules_prompt: | ## 出力フォーマット | 状況 | タグ | |------|------| | 実装完了 | `[CODER:DONE]` | | 進行不可 | `[CODER:BLOCKED]` | instruction_template: | ## Workflow Context - Iteration: {iteration}/{max_iterations}(ワークフロー全体) - Step Iteration: {step_iteration}(このステップの実行回数) - Step: implement - Report Directory: .takt/reports/{report_dir}/ - Report Files: - Scope: .takt/reports/{report_dir}/01-coder-scope.md - Decisions: .takt/reports/{report_dir}/02-coder-decisions.md ## User Request {task} ## Additional User Inputs {user_inputs} ## Instructions planステップで立てた計画に従って実装してください。 計画レポート(00-plan.md)を参照し、実装を進めてください。 **レポート出力:** 上記の `Report Files` に出力してください。 - ファイルが存在しない場合: 新規作成 - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記 **Scopeレポートフォーマット(実装開始時に作成):** ```markdown # 変更スコープ宣言 ## タスク {タスクの1行要約} ## 変更予定 | 種別 | ファイル | |------|---------| | 作成 | `src/example.ts` | | 変更 | `src/routes.ts` | ## 推定規模 Small / Medium / Large ## 影響範囲 - {影響するモジュールや機能} ``` **Decisionsレポートフォーマット(実装完了時、決定がある場合のみ):** ```markdown # 決定ログ ## 1. {決定内容} - **背景**: {なぜ決定が必要だったか} - **検討した選択肢**: {選択肢リスト} - **理由**: {選んだ理由} ``` 完了時は [CODER:DONE] を含めてください。 進行できない場合は [CODER:BLOCKED] を出力し、planに戻ります。 transitions: - condition: done next_step: architect_review - condition: blocked next_step: plan # =========================================== # Phase 2: Architecture Review # =========================================== - name: architect_review agent: ~/.takt/agents/default/architect.md allowed_tools: - Read - Glob - Grep - Write - WebSearch - WebFetch status_rules_prompt: | ## 判定基準 | 状況 | 判定 | |------|------| | 構造に問題がある | REJECT | | 設計原則違反がある | REJECT | | 呼び出しチェーンの配線漏れ | REJECT | | テストが不十分 | REJECT | | 改善すべき点がある(軽微) | IMPROVE | | 問題なし | APPROVE | ## 出力フォーマット | 状況 | タグ | |------|------| | 問題なし | `[ARCHITECT:APPROVE]` | | 軽微な改善必要 | `[ARCHITECT:IMPROVE]` | | 構造的な修正必要 | `[ARCHITECT:REJECT]` | instruction_template: | ## Workflow Context - Iteration: {iteration}/{max_iterations}(ワークフロー全体) - Step Iteration: {step_iteration}(このステップの実行回数) - Step: architect_review (アーキテクチャレビュー) - Report Directory: .takt/reports/{report_dir}/ - Report File: .takt/reports/{report_dir}/03-architect-review.md ## Original User Request (ワークフロー開始時の元の要求) {task} ## Git Diff ```diff {git_diff} ``` ## Instructions **アーキテクチャと設計**のレビューに集中してください。 **レビュー観点:** - 構造・設計の妥当性 - コード品質 - 変更スコープの適切性 - テストカバレッジ - デッドコード - 呼び出しチェーン検証 **レポート出力:** 上記の `Report File` に出力してください。 - ファイルが存在しない場合: 新規作成 - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記 **レポートフォーマット:** ```markdown # アーキテクチャレビュー ## 結果: APPROVE / IMPROVE / REJECT ## サマリー {1-2文で結果を要約} ## 確認した観点 - [x] 構造・設計 - [x] コード品質 - [x] 変更スコープ - [x] テストカバレッジ - [x] デッドコード - [x] 呼び出しチェーン検証 ## 問題点(REJECTの場合) | # | 場所 | 問題 | 修正案 | |---|------|------|--------| | 1 | `src/file.ts:42` | 問題の説明 | 修正方法 | ## 改善提案(任意・ブロッキングではない) - {将来的な改善提案} ``` **認知負荷軽減ルール:** - APPROVE + 問題なし → サマリーのみ(5行以内) - APPROVE + 軽微な提案 → サマリー + 改善提案(15行以内) - REJECT → 問題点を表形式で(30行以内) transitions: - condition: approved next_step: frontend_review - condition: improve next_step: fix_architect - condition: rejected next_step: fix_architect - name: fix_architect agent: ~/.takt/agents/default/coder.md allowed_tools: - Read - Glob - Grep - Edit - Write - Bash - WebSearch - WebFetch permission_mode: acceptEdits status_rules_prompt: | ## 出力フォーマット | 状況 | タグ | |------|------| | 修正完了 | `[CODER:DONE]` | | 進行不可 | `[CODER:BLOCKED]` | instruction_template: | ## Workflow Context - Iteration: {iteration}/{max_iterations}(ワークフロー全体) - Step Iteration: {step_iteration}(このステップの実行回数) - Step: fix_architect ## Architect Feedback (これが最新の指示です - 優先して対応してください) {previous_response} ## Original User Request (ワークフロー開始時の元の要求 - 参考情報) {task} ## Additional User Inputs {user_inputs} ## Instructions **重要**: Architectのフィードバックに対応してください。 「Original User Request」は参考情報であり、最新の指示ではありません。 セッションの会話履歴を確認し、Architectの指摘事項を修正してください。 完了時は [CODER:DONE] を含めてください。 進行できない場合は [CODER:BLOCKED] を含めてください。 pass_previous_response: true transitions: - condition: done next_step: architect_review - condition: blocked next_step: plan # =========================================== # Phase 3: Frontend Review # =========================================== - name: frontend_review agent: ~/.takt/agents/expert/frontend-reviewer.md allowed_tools: - Read - Glob - Grep - Write - WebSearch - WebFetch status_rules_prompt: | ## 出力フォーマット | 状況 | タグ | |------|------| | フロントエンド設計に問題なし | `[FRONTEND:APPROVE]` | | フロントエンド設計に問題あり | `[FRONTEND:REJECT]` | instruction_template: | ## Workflow Context - Iteration: {iteration}/{max_iterations}(ワークフロー全体) - Step Iteration: {step_iteration}(このステップの実行回数) - Step: frontend_review (フロントエンド専門レビュー) - Report Directory: .takt/reports/{report_dir}/ - Report File: .takt/reports/{report_dir}/04-frontend-review.md ## Original User Request {task} ## Git Diff ```diff {git_diff} ``` ## Instructions フロントエンド開発の観点から上記の変更をレビューしてください。 **レビュー観点:** - コンポーネント設計(責務分離、粒度) - 状態管理(ローカル/グローバルの判断) - パフォーマンス(再レンダリング、メモ化) - アクセシビリティ(キーボード操作、ARIA) - データフェッチパターン - TypeScript型安全性 **注意**: このプロジェクトがフロントエンドを含まない場合は、 [FRONTEND:APPROVE] として次に進んでください。 **レポート出力:** 上記の `Report File` に出力してください。 - ファイルが存在しない場合: 新規作成 - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記 **レポートフォーマット:** ```markdown # フロントエンドレビュー ## 結果: APPROVE / REJECT ## サマリー {1-2文で結果を要約} ## 確認した観点 | 観点 | 結果 | 備考 | |------|------|------| | コンポーネント設計 | ✅ | - | | 状態管理 | ✅ | - | | パフォーマンス | ✅ | - | | アクセシビリティ | ✅ | - | | 型安全性 | ✅ | - | ## 問題点(REJECTの場合) | # | 場所 | 問題 | 修正案 | |---|------|------|--------| | 1 | `src/file.tsx:42` | 問題の説明 | 修正方法 | ``` Include: - [FRONTEND:APPROVE] if frontend design is sound - [FRONTEND:REJECT] if design issues found (list specific issues) transitions: - condition: approved next_step: ai_review - condition: rejected next_step: fix_frontend - name: fix_frontend agent: ~/.takt/agents/default/coder.md allowed_tools: - Read - Glob - Grep - Edit - Write - Bash - WebSearch - WebFetch status_rules_prompt: | ## 出力フォーマット | 状況 | タグ | |------|------| | 修正完了 | `[CODER:DONE]` | | 進行不可 | `[CODER:BLOCKED]` | instruction_template: | ## Workflow Context - Iteration: {iteration}/{max_iterations}(ワークフロー全体) - Step Iteration: {step_iteration}(このステップの実行回数) - Step: fix_frontend ## Frontend Review Feedback (これが最新の指示です - 優先して対応してください) {previous_response} ## Original User Request (ワークフロー開始時の元の要求 - 参考情報) {task} ## Additional User Inputs {user_inputs} ## Instructions **重要**: フロントエンド専門家からの指摘を修正してください。 指摘されたポイント: - コンポーネント設計 - 状態管理 - パフォーマンス - アクセシビリティ - 型安全性 完了時は [CODER:DONE] を含めてください。 進行できない場合は [CODER:BLOCKED] を含めてください。 pass_previous_response: true transitions: - condition: done next_step: frontend_review - condition: blocked next_step: plan # =========================================== # Phase 4: AI Review # =========================================== - name: ai_review agent: ~/.takt/agents/default/ai-antipattern-reviewer.md allowed_tools: - Read - Glob - Grep - Write - WebSearch - WebFetch status_rules_prompt: | ## 出力フォーマット | 状況 | タグ | |------|------| | AI特有の問題なし | `[AI_REVIEW:APPROVE]` | | 問題あり | `[AI_REVIEW:REJECT]` | instruction_template: | ## Workflow Context - Iteration: {iteration}/{max_iterations}(ワークフロー全体) - Step Iteration: {step_iteration}(このステップの実行回数) - Step: ai_review (AI生成コードレビュー) - Report Directory: .takt/reports/{report_dir}/ - Report File: .takt/reports/{report_dir}/05-ai-review.md ## Original User Request (ワークフロー開始時の元の要求) {task} ## Git Diff ```diff {git_diff} ``` ## Instructions AI特有の問題についてコードをレビューしてください: - 仮定の検証 - もっともらしいが間違っているパターン - 既存コードベースとの適合性 - スコープクリープの検出 **レポート出力:** 上記の `Report File` に出力してください。 - ファイルが存在しない場合: 新規作成 - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記 **レポートフォーマット:** ```markdown # AI生成コードレビュー ## 結果: APPROVE / REJECT ## サマリー {1文で結果を要約} ## 検証した項目 | 観点 | 結果 | 備考 | |------|------|------| | 仮定の妥当性 | ✅ | - | | API/ライブラリの実在 | ✅ | - | | コンテキスト適合 | ✅ | - | | スコープ | ✅ | - | ## 問題点(REJECTの場合) | # | カテゴリ | 場所 | 問題 | |---|---------|------|------| | 1 | 幻覚API | `src/file.ts:23` | 存在しないメソッド | ``` **認知負荷軽減ルール:** - 問題なし → サマリー1文 + チェック表のみ(10行以内) - 問題あり → + 問題を表形式で(25行以内) 以下を含めてください: - [AI_REVIEW:APPROVE] AI特有の問題が見つからない場合 - [AI_REVIEW:REJECT] 問題が検出された場合(具体的な問題をリスト) transitions: - condition: approved next_step: security_review - condition: rejected next_step: ai_fix - name: ai_fix agent: ~/.takt/agents/default/coder.md allowed_tools: - Read - Glob - Grep - Edit - Write - Bash - WebSearch - WebFetch status_rules_prompt: | ## 出力フォーマット | 状況 | タグ | |------|------| | 修正完了 | `[CODER:DONE]` | | 進行不可 | `[CODER:BLOCKED]` | instruction_template: | ## Workflow Context - Iteration: {iteration}/{max_iterations}(ワークフロー全体) - Step Iteration: {step_iteration}(このステップの実行回数) - Step: ai_fix ## AI Review Feedback (これが最新の指示です - 優先して対応してください) {previous_response} ## Original User Request (ワークフロー開始時の元の要求 - 参考情報) {task} ## Additional User Inputs {user_inputs} ## Instructions **重要**: AI Reviewerのフィードバックに対応してください。 以下に集中してください: - 間違った仮定の修正 - もっともらしいが間違っている実装の修正 - 既存コードベースのパターンとの整合 - スコープクリープの除去 完了時は [CODER:DONE] を含めてください。 進行できない場合は [CODER:BLOCKED] を含めてください。 pass_previous_response: true transitions: - condition: done next_step: ai_review - condition: blocked next_step: plan # =========================================== # Phase 5: Security Review # =========================================== - name: security_review agent: ~/.takt/agents/expert/security-reviewer.md allowed_tools: - Read - Glob - Grep - Write - WebSearch - WebFetch status_rules_prompt: | ## 出力フォーマット | 状況 | タグ | |------|------| | セキュリティ問題なし | `[SECURITY:APPROVE]` | | 脆弱性あり | `[SECURITY:REJECT]` | instruction_template: | ## Workflow Context - Iteration: {iteration}/{max_iterations}(ワークフロー全体) - Step Iteration: {step_iteration}(このステップの実行回数) - Step: security_review (セキュリティ専門レビュー) - Report Directory: .takt/reports/{report_dir}/ - Report File: .takt/reports/{report_dir}/06-security-review.md ## Original User Request {task} ## Git Diff ```diff {git_diff} ``` ## Instructions セキュリティの観点から上記の変更をレビューしてください。 **レビュー観点:** - インジェクション攻撃(SQL, コマンド, XSS) - 認証・認可の不備 - 機密情報の取り扱い - 暗号化の適切性 - OWASP Top 10 **レポート出力:** 上記の `Report File` に出力してください。 - ファイルが存在しない場合: 新規作成 - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記 **レポートフォーマット:** ```markdown # セキュリティレビュー ## 結果: APPROVE / REJECT ## 重大度: None / Low / Medium / High / Critical ## チェック結果 | カテゴリ | 結果 | 備考 | |---------|------|------| | インジェクション | ✅ | - | | 認証・認可 | ✅ | - | | データ保護 | ✅ | - | | 依存関係 | ✅ | - | ## 脆弱性(REJECTの場合) | # | 重大度 | 種類 | 場所 | 修正案 | |---|--------|------|------|--------| | 1 | High | SQLi | `src/db.ts:42` | パラメータ化クエリを使用 | ## 警告(ブロッキングではない) - {セキュリティに関する推奨事項} ``` Include: - [SECURITY:APPROVE] if no security issues found - [SECURITY:REJECT] if vulnerabilities found (list specific issues with severity) transitions: - condition: approved next_step: qa_review - condition: rejected next_step: fix_security - name: fix_security agent: ~/.takt/agents/default/coder.md allowed_tools: - Read - Glob - Grep - Edit - Write - Bash - WebSearch - WebFetch status_rules_prompt: | ## 出力フォーマット | 状況 | タグ | |------|------| | 軽微な修正完了 | `[CODER:DONE]` | | 大きな修正(アーキテクチャからやり直し) | `[CODER:REJECT]` | | 進行不可 | `[CODER:BLOCKED]` | instruction_template: | ## Workflow Context - Iteration: {iteration}/{max_iterations}(ワークフロー全体) - Step Iteration: {step_iteration}(このステップの実行回数) - Step: fix_security ## Security Review Feedback (これが最新の指示です - 優先して対応してください) {previous_response} ## Original User Request (ワークフロー開始時の元の要求 - 参考情報) {task} ## Additional User Inputs {user_inputs} ## Instructions **重要**: セキュリティ専門家からの指摘を修正してください。 セキュリティ問題は最優先で対応してください。 指摘されたポイント: - インジェクション脆弱性 - 認証・認可の不備 - 機密情報の露出 - 暗号化の問題 ## 修正完了時の判断 修正が完了したら、**変更の影響範囲**を判断して適切なタグを出力してください: - `[CODER:DONE]` - 軽微な修正(セキュリティレビューのみ再実施) - 例: バリデーション追加、エスケープ処理追加、設定変更 - `[CODER:REJECT]` - 大きな修正(アーキテクチャレビューからやり直し) - 例: データフロー変更、API設計変更、認証方式変更、ドメインモデル変更 進行できない場合は [CODER:BLOCKED] を含めてください。 pass_previous_response: true transitions: - condition: done next_step: security_review - condition: rejected next_step: architect_review - condition: blocked next_step: plan # =========================================== # Phase 6: QA Review # =========================================== - name: qa_review agent: ~/.takt/agents/expert/qa-reviewer.md allowed_tools: - Read - Glob - Grep - Write - WebSearch - WebFetch status_rules_prompt: | ## 出力フォーマット | 状況 | タグ | |------|------| | 品質基準を満たす | `[QA:APPROVE]` | | 品質問題あり | `[QA:REJECT]` | instruction_template: | ## Workflow Context - Iteration: {iteration}/{max_iterations}(ワークフロー全体) - Step Iteration: {step_iteration}(このステップの実行回数) - Step: qa_review (QA専門レビュー) - Report Directory: .takt/reports/{report_dir}/ - Report File: .takt/reports/{report_dir}/07-qa-review.md ## Original User Request {task} ## Git Diff ```diff {git_diff} ``` ## Instructions 品質保証の観点から上記の変更をレビューしてください。 **レビュー観点:** - テストカバレッジと品質 - テスト戦略(単体/統合/E2E) - ドキュメント(コード内・外部) - エラーハンドリング - ログとモニタリング - 保守性 **レポート出力:** 上記の `Report File` に出力してください。 - ファイルが存在しない場合: 新規作成 - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記 **レポートフォーマット:** ```markdown # QAレビュー ## 結果: APPROVE / REJECT ## サマリー {1-2文で結果を要約} ## 確認した観点 | 観点 | 結果 | 備考 | |------|------|------| | テストカバレッジ | ✅ | - | | テスト品質 | ✅ | - | | エラーハンドリング | ✅ | - | | ドキュメント | ✅ | - | | 保守性 | ✅ | - | ## 問題点(REJECTの場合) | # | カテゴリ | 問題 | 修正案 | |---|---------|------|--------| | 1 | テスト | 問題の説明 | 修正方法 | ``` Include: - [QA:APPROVE] if quality standards are met - [QA:REJECT] if quality issues found (list specific issues) transitions: - condition: approved next_step: supervise - condition: rejected next_step: fix_qa - name: fix_qa agent: ~/.takt/agents/default/coder.md allowed_tools: - Read - Glob - Grep - Edit - Write - Bash - WebSearch - WebFetch status_rules_prompt: | ## 出力フォーマット | 状況 | タグ | |------|------| | 軽微な修正完了 | `[CODER:DONE]` | | セキュリティ影響あり | `[CODER:IMPROVE]` | | 大きな修正(アーキテクチャからやり直し) | `[CODER:REJECT]` | | 進行不可 | `[CODER:BLOCKED]` | instruction_template: | ## Workflow Context - Iteration: {iteration}/{max_iterations}(ワークフロー全体) - Step Iteration: {step_iteration}(このステップの実行回数) - Step: fix_qa ## QA Review Feedback (これが最新の指示です - 優先して対応してください) {previous_response} ## Original User Request (ワークフロー開始時の元の要求 - 参考情報) {task} ## Additional User Inputs {user_inputs} ## Instructions **重要**: QA専門家からの指摘を修正してください。 指摘されたポイント: - テストの追加・改善 - ドキュメントの追加・修正 - エラーハンドリング - ログ出力 - コード品質 ## 修正完了時の判断 修正が完了したら、**変更の影響範囲**を判断して適切なタグを出力してください: - `[CODER:DONE]` - 軽微な修正(QAレビューのみ再実施) - 例: テスト追加、ドキュメント追加、ログ追加、コメント追加 - `[CODER:IMPROVE]` - セキュリティに影響する修正(セキュリティレビューからやり直し) - 例: エラーハンドリング変更(エラーメッセージの内容変更)、入力検証の変更 - `[CODER:REJECT]` - 大きな修正(アーキテクチャレビューからやり直し) - 例: ビジネスロジック変更、データモデル変更、API変更 進行できない場合は [CODER:BLOCKED] を含めてください。 pass_previous_response: true transitions: - condition: done next_step: qa_review - condition: improve next_step: security_review - condition: rejected next_step: architect_review - condition: blocked next_step: plan # =========================================== # Phase 7: Supervision # =========================================== - name: supervise agent: ~/.takt/agents/expert/supervisor.md allowed_tools: - Read - Glob - Grep - Write - WebSearch - WebFetch status_rules_prompt: | ## 出力フォーマット | 状況 | タグ | |------|------| | 最終承認 | `[SUPERVISOR:APPROVE]` | | 問題あり | `[SUPERVISOR:REJECT]` | instruction_template: | ## Workflow Context - Iteration: {iteration}/{max_iterations}(ワークフロー全体) - Step Iteration: {step_iteration}(このステップの実行回数) - Step: supervise (最終確認) - Report Directory: .takt/reports/{report_dir}/ - Report Files: - Validation: .takt/reports/{report_dir}/08-supervisor-validation.md - Summary: .takt/reports/{report_dir}/summary.md ## Original User Request {task} ## Git Diff ```diff {git_diff} ``` ## Previous Reviews Summary このステップに到達したということは、以下のレビューがすべてAPPROVEされています: - Architecture Review: APPROVED - Frontend Review: APPROVED - AI Review: APPROVED - Security Review: APPROVED - QA Review: APPROVED ## Instructions テスト実行、ビルド確認、最終承認を行ってください。 **ワークフロー全体の確認:** 1. 計画(00-plan.md)と実装結果が一致しているか 2. 各レビューステップの指摘が対応されているか 3. 元のタスク目的が達成されているか **レポートの確認:** Report Directory内の全レポートを読み、 未対応の改善提案がないか確認してください。 **レポート出力:** 上記の `Report Files` に出力してください。 - ファイルが存在しない場合: 新規作成 - ファイルが存在する場合: `## Iteration {step_iteration}` セクションを追記 **Validationレポートフォーマット:** ```markdown # 最終検証結果 ## 結果: APPROVE / REJECT ## 検証サマリー | 項目 | 状態 | 確認方法 | |------|------|---------| | 要求充足 | ✅ | 要求リストと照合 | | テスト | ✅ | `npm test` (N passed) | | ビルド | ✅ | `npm run build` 成功 | | 動作確認 | ✅ | 主要フロー確認 | ## 成果物 - 作成: {作成したファイル} - 変更: {変更したファイル} ## 未完了項目(REJECTの場合) | # | 項目 | 理由 | |---|------|------| | 1 | {項目} | {理由} | ``` **Summaryレポートフォーマット(APPROVEの場合のみ):** ```markdown # タスク完了サマリー ## タスク {元の要求を1-2文で} ## 結果 ✅ 完了 ## 変更内容 | 種別 | ファイル | 概要 | |------|---------|------| | 作成 | `src/file.ts` | 概要説明 | ## レビュー結果 | レビュー | 結果 | |---------|------| | Architecture | ✅ APPROVE | | Frontend | ✅ APPROVE | | AI Review | ✅ APPROVE | | Security | ✅ APPROVE | | QA | ✅ APPROVE | | Supervisor | ✅ APPROVE | ## 確認コマンド ```bash npm test npm run build ``` ``` 出力: - [SUPERVISOR:APPROVE] すべて完了、マージ可能 - [SUPERVISOR:REJECT] 問題あり(具体的な問題を記載) transitions: - condition: approved next_step: COMPLETE - condition: rejected next_step: fix_supervisor - name: fix_supervisor agent: ~/.takt/agents/default/coder.md allowed_tools: - Read - Glob - Grep - Edit - Write - Bash - WebSearch - WebFetch status_rules_prompt: | ## 出力フォーマット | 状況 | タグ | |------|------| | 修正完了 | `[CODER:DONE]` | | 進行不可 | `[CODER:BLOCKED]` | instruction_template: | ## Workflow Context - Iteration: {iteration}/{max_iterations}(ワークフロー全体) - Step Iteration: {step_iteration}(このステップの実行回数) - Step: fix_supervisor ## Supervisor Feedback (これが最新の指示です - 優先して対応してください) {previous_response} ## Original User Request (ワークフロー開始時の元の要求 - 参考情報) {task} ## Additional User Inputs {user_inputs} ## Instructions **重要**: 監督者からの指摘を修正してください。 監督者は全体を俯瞰した視点から問題を指摘しています。 優先度の高い項目から順に対応してください。 完了時は [CODER:DONE] を含めてください。 進行できない場合は [CODER:BLOCKED] を含めてください。 pass_previous_response: true transitions: - condition: done next_step: supervise - condition: blocked next_step: plan