Wira Delta Indonesia

Aturan Lapangan

Aturan Lapangan

Aturan operasional dari menjalankan loop coding otonom di repositori produk nyata.

Aturan 1: Builder Tetap Coordinator

Di wdi-daily-autopilot, roles.builder di .control/custom-dispatch.yaml tetap coordinator. Menyerahkan kode ke subagent pernah menghasilkan laporan selesai yang palsu (subagent mengaku test lulus tanpa mengubah satu file pun). Sesi coordinator menulis kodenya sendiri, dengan test lebih dulu.

Aturan 2: Reviewer Hanya Membaca

Peer reviewer berjalan dalam mode hanya membaca. Reviewer menguji edge case dan membaca diff, tetapi tidak pernah mengubah kode atau menjalankan build; hanya sesi coordinator yang menulis. Pada risk_accepted: low, melewati peer review ditolak, karena kode di sana butuh dua reviewer yang bukan builder.

Aturan 3: File Terkunci di Windows (Process Gate Desktop)

Di Windows, binary aplikasi yang masih berjalan atau daemon build di latar belakang menahan file tetap terbuka, sehingga build ulang atau penghapusan worktree gagal dengan Access is denied. Dengan target desktop, wdi-daily-what-to-test memeriksa apakah binary aplikasi masih berjalan sebelum build ulang. Aplikasi hanya ditutup bila dijalankan oleh smoke run sebelumnya; selain itu skill melaporkan PID dan berhenti, supaya Anda menutupnya sendiri. Proses tidak pernah dihentikan paksa.

Aturan 4: Loop Berjalan di Branch Sendiri

Spec dan tiket ditulis di development branch. Loop berjalan di branch-nya sendiri, autopilot/<mandate-id>, di worktree terisolasi atau checkout bersih yang hanya dipakai run itu. Loop tidak pernah berjalan di checkout bersama atau yang kotor.

Aturan 5: Satu Cloud CI per Run Autopilot

Loop membuat commit per tiket, dan test suite lokal menjadi bukti selama run. Cloud CI berjalan sekali per run autopilot, di akhir: saat satu-satunya PR ditandai siap di-review, atau saat workflow dijalankan sekali secara manual. Push selama run tidak memicu cloud run.

Aturan 6: File Smoke Khusus Mesin Lokal

Kursor smoke (.work/smoke/last-sync) dan manifest runtime milik satu mesin. Installer menambahkan .work/smoke/ ke .gitignore, jadi file smoke khusus mesin lokal tidak pernah membuat working tree kotor.