mergegate/autorun/INDEX.md
林 駿甫 (Shunsuke Hayashi) 146fcafc5e [追加] DTP (Deterministic Task Protocol) 設計文書・指示書を移植
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>
2026-04-10 01:07:32 +09:00

111 lines
4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
```