Temuan bug baru menjadi perubahan yang aman ketika hubungan antara penyebab, modifikasi, dan hasil verifikasi dapat ditelusuri. Proses ini penting terutama pada project besar yang memiliki import lintas file, state persisten, service worker, dan beberapa runtime backend.
Klasifikasikan temuan
Pisahkan defect terkonfirmasi, risiko yang membutuhkan verifikasi, dan improvement. Severity harus mempertimbangkan dampak, kemungkinan terjadi, serta kemudahan eksploitasi atau pemulihan. Jangan mempromosikan pola mencurigakan menjadi bug pasti tanpa reproduksi.
Ikat patch pada source identity
Sebelum patch dibuat, hitung hash source atau file yang menjadi target. Ketika source berubah setelah patch dirancang, candidate lama harus masuk REVIEW. Cara ini mencegah perubahan diterapkan pada basis yang sudah berbeda.
expectedSourceHash === activeSourceHash
? candidate dapat diverifikasi
: candidate REVIEW / harus dibuat ulang
Batasi blast radius
Daftar target file, simbol yang berubah, dependent file, dan perilaku yang tidak boleh berubah. Untuk patch multi-file, commit harus bersifat all-or-nothing. Kegagalan satu file tidak boleh meninggalkan workspace dalam keadaan setengah diperbarui.
Gunakan test yang memiliki otoritas
Jumlah test yang tertulis tidak sama dengan jumlah test yang dijalankan. Runner harus membuktikan collected, passed, failed, dan skipped. Critical suite yang tidak terkoleksi harus memblokir promosi.
- Focused test untuk bug yang diperbaiki.
- Syntax/compiler check untuk struktur.
- Regression test untuk fitur lama.
- Real-browser E2E untuk UI, navigation, IndexedDB, dan service worker.
- Negative test untuk tamper, replay, timeout, serta kegagalan dependency.
Siapkan rollback sebelum deployment
Rollback bukan rencana yang baru ditulis setelah produksi bermasalah. Simpan exact predecessor, hash artefak, urutan pemulihan, dan bukti bahwa data persisten tetap kompatibel. Untuk sistem multi-runtime, frontend, Worker, dan Python harus memiliki identity yang dapat direkonsiliasi.
Promosikan berdasarkan evidence
Local PASS menunjukkan source kandidat sehat pada lingkungan lokal. Production LIVE membutuhkan bukti tambahan: exact build aktif, request jaringan nyata, health berturut-turut, canary, dan post-deploy attestation. Jangan mengganti bukti tersebut dengan boolean operator.