How We Review PRs
Review itu buat naikin kualitas + sebar konteks, bukan gerbang ego. Halaman ini soal cara review. Buat lifecycle, merge order, dan risk class lihat Engineering Process.
Author — sebelum minta review
Bikin PR gampang di-review, itu tugas author:
- Kecil & fokus. Satu concern per PR. PR gede = review lambat + bug kelewat. Prefer beberapa PR kecil daripada satu raksasa.
- Isi semua section template (
## Summary, compliance checklist,## Test Evidence). PR tanpa test evidence = belum siap. - Self-review dulu. Baca diff sendiri sebelum assign. Buang
console.log, kode mati, file kepencet ikut. - Jalanin required commands lokal (lihat Process) dan tempel hasilnya. “Tests pass” tanpa bukti nggak dihitung.
- Tulis rollback steps dan flag risiko (auth/RBAC, migration, kontrak API) eksplisit di body.
Reviewer — yang dicek
Prioritas dari yang paling penting:
- Correctness & intent — kode ngelakuin yang diklaim PR? Test-nya beneran nguji kenapa behavior penting, bukan cuma apa (test yang nggak bisa gagal pas logic berubah = salah).
- Security & authz — enforce di action, bukan cuma route. Tenant/company scoping di query & mutation. Nggak ada secret / PII di source & log.
- Kontrak API — endpoint/shape/auth berubah? Wajib ada “API contract impact”
- konsumer (web & mobile) dikabarin.
- Migration — ada
migration reviewed+rollback+test evidence? Verify di clean DB. Lihat Data & Migrations. - State & konvensi — loading/empty/error/success di-handle; reuse UI
(
@haer/ui→ app-base); token semantik, bukan literal; match konvensi lokal.
Jangan approve kalau ada test yang di-skip / di-lemahin biar hijau.
Etika & turnaround
- Review cepat. PR nyangkut nge-block orang. Target: sekali lihat di hari kerja yang sama.
- Komentar yang jelas & baik. Kasih alasan atau contoh. Bedain blocker
(harus dibenerin) dari nit (opsional — tandain
nit:). - Jangan bikin review jadi ping-pong. Kalau bolak-balik >2 putaran soal hal yang sama, ngobrol langsung.
- Assume good intent dua arah. Serang masalahnya, bukan orangnya.
Approval bar
- Minimal satu approval + semua check hijau (lint / test / build / danger / CodeQL kalau ada) sebelum merge.
- Path sensitif — auth / rbac / permission / security, file migration, governance
(
AGENTS.md,.github/**, dll) — butuh Tech Lead via CODEOWNERS. - Author yang merge (kecuali sepakat lain). Jangan force-push branch yang di-protect. Squash/rebase sesuai norma repo.
Source of truth:
AGENTS.mdtiap repo +docs/engineering-development-standard.md.