Audit source code bukan sekadar meminta AI mencari bug lalu menerima jawabannya. Audit yang dapat dipercaya harus menjawab tiga pertanyaan: bagian source mana yang menjadi otoritas, bagaimana masalah direproduksi, dan bukti apa yang menunjukkan perbaikannya benar.
Mulai dari keadaan yang dapat dibuktikan
Simpan versi, build, hash, konfigurasi penting, dan hasil test sebelum melakukan perubahan. Langkah ini membentuk baseline. Tanpa baseline, peningkatan dan regresi mudah tercampur sehingga hasil audit tidak dapat dibandingkan secara adil.
Tentukan source authority
Project modern sering memiliki source asli, bundle hasil build, cache service worker, file deployment, dan salinan lama. Auditor harus menentukan file mana yang benar-benar dieksekusi. Temuan pada file historis tidak otomatis menjadi bug aktif.
- Identifikasi entry point aplikasi.
- Telusuri import dan route yang aktif.
- Cocokkan build identity antara frontend, gateway, dan backend.
- Pisahkan source aktif dari receipt atau artefak historis.
Reproduksi sebelum menyimpulkan
Pesan error, screenshot, atau transcript merupakan petunjuk awal. Buat reproduksi minimum yang mengikat input, langkah, hasil aktual, dan hasil yang diharapkan. Jika runtime yang dibutuhkan tidak tersedia, status yang benar adalah BLOCKED—bukan PASS sintetis.
Gunakan AI sebagai investigator
AI paling berguna ketika diberikan source relevan, struktur repository, intent pengguna, dan batasan perubahan. Minta AI menunjukkan path, simbol, serta alasan hubungan sebab-akibat. Hindari kesimpulan yang hanya berdasarkan kemiripan nama atau pencarian kata.
Temuan → source range → reproduksi → patch candidate
→ focused test → regression test → rollback evidence
Verifikasi patch pada beberapa lapisan
Focused test memastikan bug tertentu tertutup. Regression test menjaga kemampuan lama. Pemeriksaan syntax atau compiler menangkap kerusakan struktural. Untuk fitur browser, real-browser E2E tetap dibutuhkan karena DOM sintetis tidak membuktikan navigation, cache, dan lifecycle browser nyata.
Kapan audit dinyatakan selesai?
Audit selesai ketika setiap temuan memiliki severity dan evidence, perubahan memiliki acceptance criteria, seluruh mandatory test berjalan, artefak rilis terikat pada exact source, serta kegagalan eksternal dilaporkan apa adanya. Kejujuran status lebih berharga daripada angka PASS yang tidak memiliki otoritas.