章 02
中核ループ
DWP は、計画を目標から完了したレビュー可能な作業へと進める、小さな操作の集合を定義します。すなわち create → execute → refine → resume → status であり、結果を確認する適合チェックとして verify が加わります。これらが合わさって、エージェントが計画の生涯を通じて従うループを形づくります。エージェントは一度に一つのタスクを実行し、次へ進む前に各ステップを検証します。
このループは、仕様駆動開発の運用上のかたちです。計画はエージェントが照らして実行する仕様であり、各タスクは明示的な受け入れ基準を備え、検証のステップは完了の主張をその証拠へと変えるゲートです。計画とその進捗ログがリポジトリの中に存在するため、ループはセッションとエージェントをまたいで再開可能です。
操作
- create — 目標から新しい計画を生成します。エージェントは目標を分析し、逐次的なタスクへと分解し、計画ファイルを書きます。目標が曖昧なときは、書く前に明確化のための質問をすべきです。ガイド付きモードでは、エージェントはLite 計画——コンパクトで既に実行可能な提案——を直接マテリアライズし、開発者はそれを維持するか、タスクファイル形式の Full 計画へ昇格させるか、編集するか、中止するかを選べます。trust モードでは、エージェントは選択された表現形式(Lite または Full)をレビューなしで直接マテリアライズします。両方の表現形式については仕様を参照してください。要件分析と計画品質チェックはいずれの場合も実行されます。
- execute — 計画をタスクごとに実行します。エージェントは各タスクのあとに進捗ログを更新し、そのタスクの完了状態を記します。理由を記録せずにタスクを飛ばしてはなりません。
- refine — 既存の計画を修正します。エージェントはタスクを追加、削除、並べ替えできますが、完了済みの作業を保持し、タスク表を更新しなければなりません。
- resume — 中断された計画を続行します。エージェントは進捗ログとタスクファイルを読んで状態を再構築し、最初の未完了タスクから続行します。
- status — 実行せずに進捗を報告します。エージェントは完了済み、進行中、保留中のタスクを要約し、何も変更しません。
- verify — 何も変更せずに適合性を確認します。エージェントは、リポジトリが標準を満たしているか、計画がよく形成されているか、すなわちすべてのタスクが受け入れ基準と検証ゲートを備えているかを報告します。仕様の適合性ドキュメントを参照してください。
.dwp/ 出力ディレクトリ
すべての DWP 成果物は、リポジトリのルートにある gitignore された .dwp/ ディレクトリの配下に存在します。作業領域をバージョン管理の外に置くことで、計画の作業状態がプロジェクトの履歴を汚すことは決してありません。
.dwp/
├── plans/
│ └── PLAN_<slug>/
│ ├── README.md
│ ├── PROGRESS.md
│ └── <n>.task_<slug>.md
└── config.yaml
十の節からなるタスク構造
- 01 Title
- 02 Context
- 03 Read Before Starting
- 04 Goal
- 05 Touched Surface
- 06 Instructions
- 07 Acceptance Criteria
- 08 Outputs
- 09 Validation
- 10 Execution Checklist + Completion & Log
すべてのタスクファイルは、これら十の節をこの順序で含みます。この構造は、各作業単位が自己完結しレビュー可能であることを保証します。
- Goal(目標) — タスクが何を達成するかを述べる一段落。
- Context(コンテキスト) — 背景、リンク、そしてこのタスクが存在する理由。
- Touched Surface(変更対象面) — タスクが変更するものと、検証されなければならないものとの契約。
- Steps(手順) — 実行すべき、順序づけられた具体的な行動。
- Acceptance criteria(受け入れ基準) — 完了を定義する条件のチェックリスト。
- Validation(検証) — 作業を検証するために実行するコマンドやテスト。
- Files(ファイル) — 作成または変更されると見込まれるパス。
- Dependencies(依存関係) — 他のタスクや外部の前提条件。
- Risks(リスク) — 何がうまくいかない可能性があるか、そしてその緩和策。
- Completion & Log(完了とログ) — 状態マーカーと時系列の記録。
検証、完了、再開
検証はタスクの一部であり、後付けではありません。各タスクは完了を証明するコマンドやテストを指定し、エージェントは完了を記す前にそれらを実行します。ここではテストが第一級です。新しい機能を追加したり挙動を変更したりするタスクは、その挙動に対する自動テストを追加または更新し、ビルドが成功することを確認するだけでなく、リポジトリの完全なコード品質チェック(テストに加えてリントと型チェック)を実行しなければなりません。既存のテストはグリーンを保ち、スキップするのではなく意図された挙動へと更新されます。セキュリティも同じように第一級です——認証、入力処理、シークレット、ネットワークの接触面、または依存関係に触れるあらゆるタスクは、その変更のセキュリティ上の期待を受け入れ基準に携え、すべてのコミットをシークレットのない状態に保ち、すべての計画は Final Review で締めくくられます — 変更セット全体を対象とするセキュリティパス、最終状態に対する完全な検証、そしてスキルに関する決定の突き合わせです。完了は、Completion & Log の節に明示的な状態マーカー([ ] 未着手、[~] 進行中、[x] 完了、[!] 阻害)で記録されます。再開はこれらのマーカーと進捗ログに依拠します。エージェントは計画がどこで止まったかを正確に再構築し、完了した作業をやり直すことなく、最初の未完了タスクから続行できます。