prj-0001 Execution Layout
このディレクトリは docs/ja/projects/prj-0001/schedule で定義した schedule を実行するための実行領域である。
1. ディレクトリ責務
text
execution/
├─ exec/
│ ├─ events/
│ ├─ plans/
│ ├─ results/
│ └─ .locks/
└─ generated/exec/events/: append-only の実行イベント JSONexec/plans/:exec plan/exec runが必要時に生成する edit-plan / review-planexec/results/: claim 時に生成し、実行結果を記録する resultexec/.locks/: scheduler の排他ロックgenerated/:specdojo exec refreshが生成する派生ファイル
2. 主な generated ファイル
specdojo exec refresh --project prj-0001 実行後、generated/ に以下が出力される。
state.json: task state snapshot(全 task の現在状態: todo/doing/blocked/done/cancelled)ready.md: 人間向け ready 一覧(strategy 別に整形済み)ready.json: strategy ごとの順序付き ready キューclaim-next.json: strategy ごとの次の claim 対象cpm.json/cpm.md: CPM 計算結果critical-path.md: クリティカルパスと slack 分析gantt-chart.md/gantt-chart.svg: プロジェクトガントチャート(Gantt 表示)schedule-diff.md: スケジュールスキーマ差分(前回 refresh からの追加/削除/変更)metadata.json: 生成メタデータ(タイムスタンプ、schedule ファイル数、派生ファイル一覧)
3. Ready と Claim の見方
- 既定戦略は
critical-first ready.mdは人が読むための一覧ready.jsonは自動化が読むための順序付きキューclaim-next.jsonはその時点の claim 候補を strategy 別に固定して出すexec/plans/*.mdは ready task の実行計画、exec/results/*.mdは実行結果
critical-first は以下の順に選ぶ。
- slack が小さい task
- ES が小さい task
- ID が昇順の task
4. CPM 指標の見方
cpm.json / cpm.md / critical-path.md に出てくる主な指標は以下。
ES(Early Start): 依存関係を満たした上で、最も早く開始できる時刻EF(Early Finish): 最も早く完了できる時刻(EF = ES + duration)LS(Late Start): プロジェクト完了時刻を遅らせずに開始できる最も遅い時刻LF(Late Finish): プロジェクト完了時刻を遅らせずに完了できる最も遅い時刻slack(total float): 遅延許容量(slack = LS - ES = LF - EF)
解釈の目安:
slack = 0の task はクリティカルパス上にあり、遅れると完了日が遅れるslack > 0の task は、その値の範囲で開始/完了を後ろ倒しできるcritical-first戦略は slack が小さい task を優先して claim する
5. 基本コマンド
bash
specdojo exec validate --project prj-0001
specdojo exec refresh --project prj-0001
specdojo exec scheduler --project prj-0001 --by agent-1specdojo exec where --project prj-0001 を使うと、schedule と execution の実パスを確認できる。