takt/builtins/en/pieces/magi.yaml
nrslib 1466a7176d takt: # タスク指示書: Output Contracts と Quality Gates の実装
## 概要
仕様ドキュメント `/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が新構造でパースできること
- テストが通ること
2026-02-07 22:03:43 +09:00

137 lines
3.1 KiB
YAML

name: magi
description: MAGI Deliberation System - Analyze from 3 perspectives and decide by majority
max_iterations: 5
personas:
melchior: ../personas/melchior.md
balthasar: ../personas/balthasar.md
casper: ../personas/casper.md
initial_movement: melchior
movements:
- name: melchior
persona: melchior
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: |
# MAGI System Initiated
## Matter for Deliberation
{task}
## Instructions
You are MELCHIOR-1 of the MAGI System.
Analyze the above from the perspective of a scientist/engineer and render your judgment.
## Output Format
| Judgment | Tag |
|----------|-----|
| In favor | `[MELCHIOR:APPROVE]` |
| Against | `[MELCHIOR:REJECT]` |
| Conditional approval | `[MELCHIOR:CONDITIONAL]` |
### Output Example
```
[MELCHIOR:APPROVE]
Reason: {Reason for approval}
```
rules:
- condition: Judgment completed
next: balthasar
- name: balthasar
persona: balthasar
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: |
# MAGI System Continuing
## Matter for Deliberation
{task}
## MELCHIOR-1's Judgment
{previous_response}
## Instructions
You are BALTHASAR-2 of the MAGI System.
Analyze the above from the perspective of a nurturer and render your judgment.
Consider MELCHIOR's judgment as reference, but make your own independent assessment.
## Output Format
| Judgment | Tag |
|----------|-----|
| In favor | `[BALTHASAR:APPROVE]` |
| Against | `[BALTHASAR:REJECT]` |
| Conditional approval | `[BALTHASAR:CONDITIONAL]` |
### Output Example
```
[BALTHASAR:APPROVE]
Reason: {Reason for approval}
```
rules:
- condition: Judgment completed
next: casper
- name: casper
persona: casper
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: |
# MAGI System Final Deliberation
## Matter for Deliberation
{task}
## Previous Judgments
{previous_response}
## Instructions
You are CASPER-3 of the MAGI System.
Analyze the above from a practical/realistic perspective and render your judgment.
**Finally, tally the judgments from all three and provide the final conclusion.**
## Output Format
Final conclusion by majority vote:
| Judgment | Tag |
|----------|-----|
| Approved (2+ in favor) | `[MAGI:APPROVE]` |
| Rejected (2+ against) | `[MAGI:REJECT]` |
| Conditional approval | `[MAGI:CONDITIONAL]` |
### Output Example
```
## MAGI System Final Judgment
| System | Judgment |
|--------|----------|
| MELCHIOR-1 | APPROVE |
| BALTHASAR-2 | CONDITIONAL |
| CASPER-3 | APPROVE |
**Conclusion: [MAGI:APPROVE]**
[Reasoning/Summary]
```
rules:
- condition: Final judgment completed
next: COMPLETE