## 概要
仕様ドキュメント `/Users/m_naruse/work/git/takt/task_planning/output-contracts-and-quality-gates.md` に基づき、YAML構造の変更を実装する。
---
## タスク一覧
### 【高】トップレベル構造の変更
- 現在の `output_contracts` を `report_formats` にリネーム
- レポートテンプレート定義として機能させる
### 【高】Movement内の output_contracts 構造変更
- 各 movement の `output_contracts` が直接レポート配列を持つ構造に変更
- `output_contracts.report` の `report` キーを廃止
**変更後の構造:**
```yaml
report_formats: # トップレベル(テンプレート定義)
plan: ...
movements:
- name: plan
output_contracts: # 直接配列(reportキー不要)
- name: 00-plan.md
format: plan
```
### 【中】quality_gates の実装
- エージェントへの通達として機能させる(自動検証は将来実装)
- Movement完了時にエージェントが参照できる形式で定義
---
## 制約(ユーザー明示)
- 後方互換性は不要
---
## 確認方法
- 既存のピース定義YAMLが新構造でパースできること
- テストが通ること
114 lines
3.6 KiB
YAML
114 lines
3.6 KiB
YAML
name: research
|
||
description: 調査ピース - 質問せずに自律的に調査を実行
|
||
max_iterations: 10
|
||
personas:
|
||
research-planner: ../personas/research-planner.md
|
||
research-digger: ../personas/research-digger.md
|
||
research-supervisor: ../personas/research-supervisor.md
|
||
initial_movement: plan
|
||
movements:
|
||
- name: plan
|
||
persona: research-planner
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- WebSearch
|
||
- WebFetch
|
||
instruction_template: |
|
||
## ピース状況
|
||
- イテレーション: {iteration}/{max_iterations}(ピース全体)
|
||
- ムーブメント実行回数: {movement_iteration}(このムーブメントの実行回数)
|
||
- ムーブメント: plan
|
||
|
||
## 調査依頼
|
||
{task}
|
||
|
||
## Supervisorからのフィードバック(再計画の場合)
|
||
{previous_response}
|
||
|
||
## 追加のユーザー入力
|
||
{user_inputs}
|
||
|
||
## 指示
|
||
上記の調査依頼について、調査計画を立ててください。
|
||
|
||
**重要**: ユーザーに質問しないでください。
|
||
- 不明点は仮定を置いて進める
|
||
- 複数の解釈がある場合は、すべてを調査対象に含める
|
||
- Supervisorからフィードバックがある場合は、指摘を反映した計画を作成
|
||
rules:
|
||
- condition: 計画が完了した
|
||
next: dig
|
||
- condition: 情報が不足しており計画を立てられない
|
||
next: ABORT
|
||
- name: dig
|
||
persona: research-digger
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- WebSearch
|
||
- WebFetch
|
||
instruction_template: |
|
||
## ピース状況
|
||
- イテレーション: {iteration}/{max_iterations}(ピース全体)
|
||
- ムーブメント実行回数: {movement_iteration}(このムーブメントの実行回数)
|
||
- ムーブメント: dig
|
||
|
||
## 元の調査依頼
|
||
{task}
|
||
|
||
## 調査計画
|
||
{previous_response}
|
||
|
||
## 追加のユーザー入力
|
||
{user_inputs}
|
||
|
||
## 指示
|
||
上記の調査計画に従って、実際に調査を実行してください。
|
||
|
||
**重要**: ユーザーに質問しないでください。
|
||
- 調査できる範囲で調査する
|
||
- 調査できなかった項目は「調査不可」と報告
|
||
|
||
利用可能なツール:
|
||
- Web検索
|
||
- GitHub検索(gh コマンド)
|
||
- コードベース検索
|
||
- ファイル読み取り
|
||
rules:
|
||
- condition: 調査が完了した
|
||
next: supervise
|
||
- condition: 調査を実行できない
|
||
next: ABORT
|
||
- name: supervise
|
||
persona: research-supervisor
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- WebSearch
|
||
- WebFetch
|
||
instruction_template: |
|
||
## ピース状況
|
||
- イテレーション: {iteration}/{max_iterations}(ピース全体)
|
||
- ムーブメント実行回数: {movement_iteration}(このムーブメントの実行回数)
|
||
- ムーブメント: supervise (調査品質評価)
|
||
|
||
## 元の調査依頼
|
||
{task}
|
||
|
||
## Digger の調査結果
|
||
{previous_response}
|
||
|
||
## 指示
|
||
調査結果を評価し、元の依頼に対して十分な回答になっているか判断してください。
|
||
|
||
**重要**: 問題がある場合は、Plannerへの具体的な指示を含めてください。
|
||
rules:
|
||
- condition: 調査結果が元の依頼に対して十分である
|
||
next: COMPLETE
|
||
- condition: 調査結果が不十分であり、計画からやり直す必要がある
|
||
next: plan
|