Parent: #870
背景
現在の /ai-loop-workflow run <説明> はLoopSpec作成から始まり、PlanGateのPlan生成を起動しない。ai-loop-cycle はC-1 PASS / C-2完了を前提にするが、arbiter入力ではgates.c1等の呼び出し側文字列を受け取り、Plan Packageやreview evidenceの実在・hashを検証しない。
またC-3' decision recordと、ai-dev execが要求するapprovals/c3.json / plan_hashが接続されていない。
目的
ai-loop run TASK-XXXX をPlan-firstの唯一の正式入口とし、ai-devが作成・レビューしたPlan PackageをC-3'の唯一の承認対象およびexec契約にする。
Plan Package
最低限、以下を同一TASK配下で扱う。
pbi-input.md
plan.md
todo.md
test-cases.md
- C-1 review artifact / evidence
- C-2 review artifact / evidence
Scope
TASK-XXXXをrunの必須識別子にする
- artifact不足時は
ai-dev init/plan相当を起動または明示的に停止し、Wチェックへ進めない
- 4成果物とC-1/C-2 artifactを構造検証する
- LoopSpecをPlan Packageから決定論的に派生させ、独立した計画として手入力しない
- Plan Package hash、各artifact hash、source SHA、allowed pathsを固定する
- WチェックA/Bへ同一Plan Packageと必要なrepository contextを渡す
- A/Bの観点別判定、理由、evidence refを構造化する
- C-3'結果を
ai-dev execが消費できる正式approvals/c3.json互換artifactにする
- Plan/source/artifact変更時は承認をstaleにし、再C-1/C-2/C-3'を要求する
C-3'最低出力
task_id: TASK-XXXX
decision: AUTO_APPROVED | HUMAN_ESCALATED | BLOCKED
approval_kind: c3-prime
source_sha: ...
plan_hash: sha256:...
artifact_hashes: {}
c1_evidence_ref: ...
c2_evidence_ref: ...
reviewers:
model_a: {}
model_b: {}
policy_ref: ...
issued_at: ...
Acceptance Criteria
必須テストシナリオ
- artifactなし → Plan生成または停止、Wチェック未実行
- C-1なし / C-2なし → escalate
- artifact hash mismatch → block
- Wチェック approve/reject → escalate
- valid Plan Package + approve/approve → C-3' artifact生成
- C-3' artifact →
validate PASS → exec preflight PASS
- 承認後Plan変更 →
validate FAIL
- HO / scope外 → AUTO_APPROVED不可
- 同一入力2回 → decisionと派生LoopSpecが同一
Non-goals
- ai-dev plan / exec / verifyの再実装
- C-3' eligibilityを全modeへ拡大すること
- C-4 / merge自動化
- C-1/C-2レビュー品質そのものの再設計(#810等を再利用)
Definition of Done / Close条件
docsのみ、arbiter単体testのみ、手動でc3.jsonを書き換える運用ではcloseしない。
関連
Parent: #870
背景
現在の
/ai-loop-workflow run <説明>はLoopSpec作成から始まり、PlanGateのPlan生成を起動しない。ai-loop-cycleはC-1 PASS / C-2完了を前提にするが、arbiter入力ではgates.c1等の呼び出し側文字列を受け取り、Plan Packageやreview evidenceの実在・hashを検証しない。またC-3' decision recordと、
ai-dev execが要求するapprovals/c3.json/plan_hashが接続されていない。目的
ai-loop run TASK-XXXXをPlan-firstの唯一の正式入口とし、ai-devが作成・レビューしたPlan PackageをC-3'の唯一の承認対象およびexec契約にする。Plan Package
最低限、以下を同一TASK配下で扱う。
pbi-input.mdplan.mdtodo.mdtest-cases.mdScope
TASK-XXXXをrunの必須識別子にするai-dev init/plan相当を起動または明示的に停止し、Wチェックへ進めないai-dev execが消費できる正式approvals/c3.json互換artifactにするC-3'最低出力
Acceptance Criteria
run <説明>だけではproduction-compatible runを開始できず、TASK IDが必須AUTO_APPROVEDにならないAUTO_APPROVEDにならないgates.c1=PASS文字列だけではPlan品質gateを通過できないbin/plangate validate TASK-XXXXとexec preflightが受理する必須テストシナリオ
validatePASS → exec preflight PASSvalidateFAILNon-goals
Definition of Done / Close条件
docsのみ、arbiter単体testのみ、手動でc3.jsonを書き換える運用ではcloseしない。
関連