Konsep PIV
Disiplin Plan, Implement, Verify yang jadi inti CAF.
PIV adalah singkatan dari Plan → Implement → Verify — tiga fase inti yang dijalani agent sebelum PR dibuat.
Plan
Agent Planner membaca ticket dan menulis rencananya sebagai artifact Markdown di
.caf/tasks/<TICKET-ID>/: spec (requirements.md) dan tasks.md, plus design.md
atau breakdown.md bila request membutuhkannya. Ia tidak menyentuh kode, dan ia
berhenti untuk bertanya bila ada pertanyaan blocking yang belum dijawab. Lihat
Spec-Driven Development.
Implement
Agent implementasi menulis kode berdasarkan spec dan task, dibatasi pada scope-nya sendiri. Pekerjaannya tercatat di artifact handoff — tidak hilang di konteks chat.
Verify
Agent implementasi menjalankan command lint, typecheck, test, dan build yang
benar-benar ada di repo, lalu mencatat hasilnya di verify-report.md, dengan satu baris
bukti per acceptance criterion. Setelah itu ada dua gate lagi, dijalankan oleh agent
yang tidak mengubah kode: Validator (validate-report.md,
Status: PASS | FAIL | NEEDS_HUMAN, mengecek setiap acceptance criterion dengan
menjalankan buktinya) dan Reviewer (review-notes.md,
Verdict: APPROVE | CHANGES REQUESTED | DEFER).
Dua retry, dihitung di tempat berbeda
- Verify retry — di dalam satu agent. Setelah lint, typecheck, atau test gagal,
agent memperbaiki dan memverifikasi lagi, maksimal 3 kali, lalu berhenti dengan
Status: NEEDS_HUMAN. - Gate retry — di Orchestrator, per gate (validasi, reviewer). Jumlah retry yang
diizinkan Orchestrator saat sebuah gate gagal, sebelum berhenti. Defaultnya 1, untuk
menghemat token, dan bisa dikonfigurasi (
agents.qa.maxRetries,agents.reviewer.maxRetries).
Di mana manusia masuk
- Sesi manual. Di Claude Code, skill
caf-pivmembuat agent menyusun plan, menunggu persetujuan kamu, implement, lalu verify. - CAF Orchestrator. Rantai agent jalan sendiri sampai pull request terbuka. Ia juga bisa menunggu kamu lebih awal: saat spec punya pertanyaan terbuka, dan — untuk ticket berlabel spec-approval — saat kamu perlu menyetujui spec. Checkpoint terakhir adalah review PR: tidak ada yang pernah di-merge otomatis.
Saat sebuah gate gagal
Bila validasi FAIL atau reviewer memberi verdict CHANGES_REQUESTED, Orchestrator
menjalankan ulang agent implementasi (sekali per gate secara default). Bila gate masih
gagal, ia mem-push branch, membuka Draft PR berisi report yang gagal, dan berhenti
menunggu manusia. Dari sana kamu bisa memperbaikinya manual atau berkomentar
/caf-retry-pipeline untuk melanjutkan dari gate yang gagal — lihat
CAF Orchestrator.
Hanya crash atau timeout tak terduga yang mengulang seluruh pipeline dari Planner.