Audit · Evidence-first

Cara Mengaudit Source Code dengan AI Tanpa Kehilangan Bukti

AI dapat mempercepat pencarian masalah, tetapi keputusan teknis tetap harus ditopang source yang benar, reproduksi yang dapat diulang, dan test yang benar-benar berjalan.

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.

Prinsip pentingVersi lama sebaiknya dipertahankan immutable. Perbaikan dibuat pada successor agar rollback dan perbandingan bukti tetap tersedia.

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.

  1. Identifikasi entry point aplikasi.
  2. Telusuri import dan route yang aktif.
  3. Cocokkan build identity antara frontend, gateway, dan backend.
  4. 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.