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>
111 lines
4 KiB
Markdown
111 lines
4 KiB
Markdown
# 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 ディスパッチコマンド
|
||
|
||
```bash
|
||
# 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
|
||
```
|