deterministic-task-protocol リポから miyabi-cli-standalone に統合: - docs/dtp/: PLAYBOOK, PLAN, UML, GIT-RULES, Codex レビュー 3件 - autorun/: Phase 0-8 の TASKS/ASSIGNMENT/GATE + INDEX/HANDOFF/ROLLBACK - project_memory/tasks.json: 全9 Phase の DAG SSOT - skills/: polaris-ops, rust-llm-pitfalls - .codex/instructions.md: Codex 設定 実装は miyabi-core に gate.rs, lock.rs, protocol.rs, store.rs を追加する方針。 既存の dag.rs, github.rs, approval.rs 等は変更不要。 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
4 KiB
4 KiB
Deterministic Task Protocol — Auto Run Index
全 Phase の依存 DAG + 承認ゲート + リトライループ + アサインメント
Phase DAG
Phase 0 (前提条件)
│
▼
Phase 1 (型ハードニング)
│
├────────────┬────────────┐
▼ ▼ │
Phase 2 Phase 3 │
(State+GATE) (Event Store) │
│ │ │
│ ▼ │
│ Phase 4 │
│ (File Lock) │
│ │ │
├────────────┘ │
▼ │
Phase 5 (GitHub Sync) ◄──────┘
│
▼
Phase 6 (Protocol 統合) ← 核心
│
▼
Phase 7 (CLI)
│
▼
Phase 8 (E2E + OpenClaw)
Phase 別アサインメント
| Phase | ファイル | 推奨エージェント | 並列可否 | 承認ゲート |
|---|---|---|---|---|
| 0 | 00-phase0-preconditions.md |
Claude Code (local) | — | cargo test + clippy GREEN |
| 1 | 01-phase1-harden-types.md |
Codex A (worktree) | — | cargo test GREEN + 5 新規テスト |
| 2 | 02-phase2-state-machine-gates.md |
Codex B (worktree) | 3 と並列 OK | 不正遷移テスト 5件 GREEN |
| 3 | 03-phase3-event-store.md |
Codex C (worktree) | 2 と並列 OK | CAS + rebuild テスト GREEN |
| 4 | 04-phase4-file-lock-lease.md |
Codex A (worktree) | 3 完了後 | lease lifecycle テスト GREEN |
| 5 | 05-phase5-github-sync.md |
Claude Code (local) | 3 完了後 | mock API テスト GREEN |
| 6 | 06-phase6-protocol-integration.md |
Claude Code (local) | 2+3+4+5 完了後 | E2E + GATE 拒否 20件 GREEN |
| 7 | 07-phase7-cli.md |
Codex B (worktree) | 6 完了後 | CLI 動作確認 |
| 8 | 08-phase8-e2e-openclaw.md |
Claude Code (local) | 7 完了後 | E2E GREEN + OpenClaw 設計書 |
承認フロー
Phase N 実行
│
▼
cargo test + cargo clippy
│
├─ GREEN → 承認ゲート通過
│ │
│ ▼
│ Phase N の全チェックボックス確認
│ │
│ ├─ 全て ✅ → Phase N+1 へ
│ └─ 未完了あり → 追加作業してリトライ
│
└─ FAIL → リトライ
│
├─ コンパイルエラー → 該当コード修正 → 再ビルド
├─ テスト失敗 → 原因特定 → 修正 → 再テスト
├─ clippy 警告 → 該当コード修正 → 再 clippy
└─ 3回連続失敗 → エスカレーション(人間判断)
Codex ディスパッチコマンド
# Phase 1: Codex A に型ハードニングをアサイン
tmux send-keys -t %9 "codex 'Execute Phase 1 from docs/autorun/01-phase1-harden-types.md. Read the file, implement ALL checkboxes, run cargo test, run cargo clippy. Do NOT proceed to Phase 2.'" Enter
# Phase 2: Codex B にステートマシンをアサイン(Phase 1 完了後)
tmux send-keys -t %10 "codex 'Execute Phase 2 from docs/autorun/02-phase2-state-machine-gates.md. Read the file, implement ALL checkboxes, run cargo test. Do NOT proceed to Phase 3.'" Enter
# Phase 3: Codex C に Event Store をアサイン(Phase 1 完了後、Phase 2 と並列)
tmux send-keys -t %11 "codex 'Execute Phase 3 from docs/autorun/03-phase3-event-store.md. Read the file, implement ALL checkboxes, run cargo test. Do NOT proceed to Phase 4.'" Enter
リトライループ
各 Phase は以下のループで実行:
ATTEMPT = 1
MAX_ATTEMPTS = 3
loop:
execute(Phase N)
result = cargo test + cargo clippy
if result == GREEN and all_checkboxes_done:
APPROVE → Phase N+1
break
if ATTEMPT >= MAX_ATTEMPTS:
ESCALATE → 人間に報告、Phase N を手動レビュー
break
ATTEMPT += 1
diagnose(failure)
fix(failure)
goto loop