Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,13 @@ All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

## [0.13.0-alpha.1] - 2026-02-13
## [0.13.0] - 2026-02-13

### Added

- **Team Leader ムーブメント**: ムーブメント内でチームリーダーエージェントがタスクを動的にサブタスク(Part)へ分解し、複数のパートエージェントを並列実行する新しいムーブメントタイプ — `team_leader` 設定(persona, maxParts, timeoutMs, partPersona, partEdit, partPermissionMode)をサポート (#244)
- **構造化出力(Structured Output)**: エージェント呼び出しに JSON Schema ベースの構造化出力を導入 — タスク分解(decomposition)、ルール評価(evaluation)、ステータス判定(judgment)の3つのスキーマを `builtins/schemas/` に追加。Claude / Codex 両プロバイダーで対応 (#257)
- **`provider_options` ピースレベル設定**: ピース全体(`piece_config.provider_options`)および個別ムーブメントにプロバイダー固有オプション(`codex.network_access`、`opencode.network_access`)を設定可能に — 全ビルトインピースに Codex/OpenCode のネットワークアクセスを有効化
- **`backend` ビルトインピース**: バックエンド開発特化のピースを新規追加 — バックエンド、セキュリティ、QA の並列専門家レビュー対応
- **`backend-cqrs` ビルトインピース**: CQRS+ES 特化のバックエンド開発ピースを新規追加 — CQRS+ES、セキュリティ、QA の並列専門家レビュー対応
- **AbortSignal によるパートタイムアウト**: Team Leader のパート実行にタイムアウト制御と親シグナル連動の AbortSignal を追加
Expand All @@ -21,6 +22,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
- **Phase 3 判定ロジックの刷新**: `JudgmentDetector` / `FallbackStrategy` を廃止し、構造化出力ベースの `status-judgment-phase.ts` に統合。判定の安定性と保守性を向上 (#257)
- **Report フェーズのリトライ改善**: Report Phase(Phase 2)が失敗した場合、新規セッションで自動リトライするよう改善 (#245)
- **Ctrl+C シャットダウンの統一**: `sigintHandler.ts` を廃止し、`ShutdownManager` に統合 — グレースフルシャットダウン → タイムアウト → 強制終了の3段階制御を全プロバイダーで共通化 (#237)
- **スコープ外削除の防止ガードレール**: coder ペルソナにタスク指示書の範囲外の削除・構造変更を禁止するルールを追加。planner ペルソナにスコープ規律と参照資料の優先順位を追加
- フロントエンドナレッジにデザイントークンとテーマスコープのガイダンスを追加
- アーキテクチャナレッジの改善(en/ja 両対応)

Expand All @@ -39,6 +41,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
- AbortSignal のユニットテスト追加(abort-signal, claude-executor-abort-signal, claude-provider-abort-signal)
- Report Phase リトライのユニットテスト追加(report-phase-retry)
- パブリック API エクスポートのユニットテスト追加(public-api-exports)
- provider_options 関連のテスト追加(provider-options-piece-parser, models, opencode-types)
- E2E テストの大幅拡充: cycle-detection, model-override, multi-step-sequential, pipeline-local-repo, report-file-output, run-sigint-graceful, session-log, structured-output, task-status-persistence
- E2E テストヘルパーのリファクタリング(共通 setup 関数の抽出)
- `judgment/` ディレクトリ(JudgmentDetector, FallbackStrategy)を削除
Expand Down
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -803,10 +803,22 @@ Special `next` values: `COMPLETE` (success), `ABORT` (failure)
| `provider` | - | Override provider for this movement (`claude`, `codex`, or `opencode`) |
| `model` | - | Override model for this movement |
| `permission_mode` | - | Permission mode: `readonly`, `edit`, `full` (provider-independent) |
| `provider_options` | - | Provider-specific options (e.g. `codex.network_access`, `opencode.network_access`) |
| `output_contracts` | - | Output contract definitions for report files |
| `quality_gates` | - | AI directives for movement completion requirements |
| `mcp_servers` | - | MCP (Model Context Protocol) server configuration (stdio/SSE/HTTP) |

Piece-level defaults can be set with `piece_config.provider_options`, and movement-level `provider_options` overrides them.

```yaml
piece_config:
provider_options:
codex:
network_access: true
opencode:
network_access: true
```

## API Usage Example

```typescript
Expand Down
1 change: 1 addition & 0 deletions builtins/en/personas/coder.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,4 @@ You are the implementer. Focus on implementation, not design decisions.
- Adding backward compatibility or legacy support without being asked → Absolutely prohibited
- Leaving replaced code/exports after refactoring → Prohibited (remove unless explicitly told to keep)
- Layering workarounds that bypass safety mechanisms on top of a root cause fix → Prohibited
- Deleting existing features or structural changes not in the task order as a "side effect" → Prohibited (report even if included in the plan, when there's no basis in the task order for large-scale deletions)
17 changes: 17 additions & 0 deletions builtins/en/personas/expert-supervisor.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,23 @@ Judge from a big-picture perspective to avoid "missing the forest for the trees.
| Non-functional Requirements | Are performance, security, etc. met? |
| Scope | Is there scope creep beyond requirements? |

### Scope Creep Detection (Deletions are Critical)

File **deletions** and removal of existing features are the most dangerous form of scope creep.
Additions can be reverted, but restoring deleted flows is difficult.

**Required steps:**
1. List all deleted files (D) and deleted classes/methods/endpoints from the diff
2. Cross-reference each deletion against the task order to find its justification
3. REJECT any deletion that has no basis in the task order

**Typical scope creep patterns:**
- A "change statuses" task includes wholesale deletion of Sagas or endpoints
- A "UI fix" task includes structural changes to backend domain models
- A "display change" task rewrites business logic flows

Even if reviewers approved a deletion as "sound design," REJECT it if it's outside the task order scope.

### 3. Risk Assessment

**Risk Matrix:**
Expand Down
13 changes: 12 additions & 1 deletion builtins/en/personas/planner.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,11 +86,22 @@ Based on investigation and design, determine the implementation direction:
- Points to be careful about
- Spec constraints

## Scope Discipline

Only plan work that is explicitly stated in the task order. Do not include implicit "improvements."

**Deletion criteria:**
- **Code made newly unused by this task's changes** → OK to plan deletion (e.g., renamed old variable)
- **Existing features, flows, endpoints, Sagas, events** → Do NOT delete unless explicitly instructed in the task order

"Change statuses to 5 values" means "rewrite enum values," NOT "delete flows that seem unnecessary."
Do not over-interpret the task order. Plan only what is written.

## Design Principles

**Backward Compatibility:**
- Do not include backward compatibility code unless explicitly instructed
- Plan to delete things that are unused
- Delete code that was made newly unused by this task's changes

**Don't Generate Unnecessary Code:**
- Don't plan "just in case" code, future fields, or unused methods
Expand Down
17 changes: 16 additions & 1 deletion builtins/en/personas/supervisor.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,21 @@ Check:

**REJECT if spec violations are found.** Don't assume "probably correct"—actually read and cross-reference the specs.

### Scope Creep Detection (Deletions are Critical)

File **deletions** and removal of existing features are the most dangerous form of scope creep.
Additions can be reverted, but restoring deleted flows is difficult.

**Required steps:**
1. List all deleted files (D) and deleted classes/methods/endpoints from the diff
2. Cross-reference each deletion against the task order to find its justification
3. REJECT any deletion that has no basis in the task order

**Typical scope creep patterns:**
- A "change statuses" task includes wholesale deletion of Sagas or endpoints
- A "UI fix" task includes structural changes to backend domain models
- A "display change" task rewrites business logic flows

### 8. Piece Overall Review

**Check all reports in the report directory and verify overall piece consistency.**
Expand All @@ -115,7 +130,7 @@ Check:
| Plan-implementation gap | REJECT - Request plan revision or implementation fix |
| Unaddressed review feedback | REJECT - Point out specific unaddressed items |
| Deviation from original purpose | REJECT - Request return to objective |
| Scope creep | Record only - Address in next task |
| Scope creep | REJECT - Deletions outside task order must be reverted |

### 9. Improvement Suggestion Check

Expand Down
7 changes: 7 additions & 0 deletions builtins/en/pieces/backend-cqrs.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
name: backend-cqrs
description: CQRS+ES, Security, QA Expert Review
piece_config:
provider_options:
codex:
network_access: true
opencode:
network_access: true

max_movements: 30
initial_movement: plan
movements:
Expand Down
7 changes: 7 additions & 0 deletions builtins/en/pieces/backend.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
name: backend
description: Backend, Security, QA Expert Review
piece_config:
provider_options:
codex:
network_access: true
opencode:
network_access: true

max_movements: 30
initial_movement: plan
movements:
Expand Down
7 changes: 7 additions & 0 deletions builtins/en/pieces/coding.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
name: coding
description: Lightweight development piece with planning and parallel reviews (plan -> implement -> parallel review -> complete)
piece_config:
provider_options:
codex:
network_access: true
opencode:
network_access: true

max_movements: 20
initial_movement: plan
movements:
Expand Down
7 changes: 7 additions & 0 deletions builtins/en/pieces/compound-eye.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
name: compound-eye
description: Multi-model review - send the same instruction to Claude and Codex simultaneously, synthesize both responses
piece_config:
provider_options:
codex:
network_access: true
opencode:
network_access: true

max_movements: 10
initial_movement: evaluate
movements:
Expand Down
7 changes: 7 additions & 0 deletions builtins/en/pieces/default.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
name: default
description: Standard development piece with planning and specialized reviews
piece_config:
provider_options:
codex:
network_access: true
opencode:
network_access: true

max_movements: 30
initial_movement: plan
loop_monitors:
Expand Down
7 changes: 7 additions & 0 deletions builtins/en/pieces/e2e-test.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
name: e2e-test
description: E2E test focused piece (E2E analysis → E2E implementation → review → fix)
piece_config:
provider_options:
codex:
network_access: true
opencode:
network_access: true

max_movements: 20
initial_movement: plan_test
loop_monitors:
Expand Down
7 changes: 7 additions & 0 deletions builtins/en/pieces/expert-cqrs.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
name: expert-cqrs
description: CQRS+ES, Frontend, Security, QA Expert Review
piece_config:
provider_options:
codex:
network_access: true
opencode:
network_access: true

max_movements: 30
initial_movement: plan
movements:
Expand Down
7 changes: 7 additions & 0 deletions builtins/en/pieces/expert.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
name: expert
description: Architecture, Frontend, Security, QA Expert Review
piece_config:
provider_options:
codex:
network_access: true
opencode:
network_access: true

max_movements: 30
initial_movement: plan
movements:
Expand Down
7 changes: 7 additions & 0 deletions builtins/en/pieces/frontend.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
name: frontend
description: Frontend, Security, QA Expert Review
piece_config:
provider_options:
codex:
network_access: true
opencode:
network_access: true

max_movements: 30
initial_movement: plan
movements:
Expand Down
7 changes: 7 additions & 0 deletions builtins/en/pieces/magi.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
name: magi
description: MAGI Deliberation System - Analyze from 3 perspectives and decide by majority
piece_config:
provider_options:
codex:
network_access: true
opencode:
network_access: true

max_movements: 5
initial_movement: melchior
movements:
Expand Down
7 changes: 7 additions & 0 deletions builtins/en/pieces/minimal.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
name: minimal
description: Minimal development piece (implement -> parallel review -> fix if needed -> complete)
piece_config:
provider_options:
codex:
network_access: true
opencode:
network_access: true

max_movements: 20
initial_movement: implement
movements:
Expand Down
7 changes: 7 additions & 0 deletions builtins/en/pieces/passthrough.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
name: passthrough
description: Single-agent thin wrapper. Pass task directly to coder as-is.
piece_config:
provider_options:
codex:
network_access: true
opencode:
network_access: true

max_movements: 10
initial_movement: execute
movements:
Expand Down
7 changes: 7 additions & 0 deletions builtins/en/pieces/research.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
name: research
description: Research piece - autonomously executes research without asking questions
piece_config:
provider_options:
codex:
network_access: true
opencode:
network_access: true

max_movements: 10
initial_movement: plan
movements:
Expand Down
7 changes: 7 additions & 0 deletions builtins/en/pieces/review-fix-minimal.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
name: review-fix-minimal
description: Review and fix piece for existing code (starts with review, no implementation)
piece_config:
provider_options:
codex:
network_access: true
opencode:
network_access: true

max_movements: 20
initial_movement: reviewers
movements:
Expand Down
7 changes: 7 additions & 0 deletions builtins/en/pieces/review-only.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
name: review-only
description: Review-only piece - reviews code without making edits
piece_config:
provider_options:
codex:
network_access: true
opencode:
network_access: true

max_movements: 10
initial_movement: plan
movements:
Expand Down
7 changes: 7 additions & 0 deletions builtins/en/pieces/structural-reform.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
name: structural-reform
description: Full project review and structural reform - iterative codebase restructuring with staged file splits
piece_config:
provider_options:
codex:
network_access: true
opencode:
network_access: true

max_movements: 50
initial_movement: review
loop_monitors:
Expand Down
7 changes: 7 additions & 0 deletions builtins/en/pieces/unit-test.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
name: unit-test
description: Unit test focused piece (test analysis → test implementation → review → fix)
piece_config:
provider_options:
codex:
network_access: true
opencode:
network_access: true

max_movements: 20
initial_movement: plan_test
loop_monitors:
Expand Down
16 changes: 11 additions & 5 deletions builtins/ja/instructions/plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,14 @@
小規模タスクの場合は設計セクションを省略してください。

**やること:**
1. タスクの要件を理解する
2. コードを調査して不明点を解決する
3. 影響範囲を特定する
4. ファイル構成・設計パターンを決定する(必要な場合)
5. 実装アプローチを決める
1. **参照資料の読み込み(必須・最初に実行)**
- タスク指示書の「参照資料」セクションに記載されたファイル・ディレクトリを **Read/Glob で実際に開いて内容を確認する**
- ディレクトリが指定されている場合は中身を列挙し、該当ファイルを特定してから読む
- 参照資料が存在しない・見つからない場合はその旨を報告し、推測で代用しない
- **指示書に明記されていない別ファイルを「参照資料の代わり」として使うことは禁止**
2. タスクの要件を理解する
- 参照資料の内容と現在の実装を突き合わせて差分を特定する
3. コードを調査して不明点を解決する
4. 影響範囲を特定する
5. ファイル構成・設計パターンを決定する(必要な場合)
6. 実装アプローチを決める
1 change: 1 addition & 0 deletions builtins/ja/personas/coder.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,4 @@
- 後方互換・Legacy 対応を勝手に追加する → 絶対禁止
- リファクタリングで置き換えたコード・エクスポートを残す → 禁止(明示的に残すよう指示されない限り削除する)
- 根本原因を修正した上で安全機構を迂回するワークアラウンドを重ねる → 禁止
- タスク指示書にない既存機能の削除・構造変更を「ついでに」行う → 禁止(計画に含まれていても、指示書に根拠がない大規模削除は報告する)
Loading