# PR Template — Fase 1 (Step 1–3) Gunakan template ini untuk tiap PR agar konsisten dan cepat di-review. ## 1) Judul dan Lingkup - [ ] Scope: Fase 1 Step: - [ ] Step 1 (Core Foundation) - [ ] Step 2 (Callback & Transaction State) - [ ] Step 3 (Notification) - [ ] Ringkas apa yang diubah ## 2) Perubahan Teknis - [ ] Service/module yang berubah - [ ] Endpoint yang ditambah/diubah - [ ] Tabel/model yang ditambah/diubah - [ ] Event yang ditambah/diubah - [ ] Kontrak error/response yang ikut berubah ## 3) Acceptance (wajib minimal 3) Isi satu checklist dari scope PR: - [ ] Happy path utama sesuai dokumentasi: - [ ] Step 1: CRUD entity dan binding berhasil - [ ] Step 2: callback sukses -> status `paid` - [ ] Step 3: paid -> notifikasi record + publish MQTT - [ ] Edge case: - [ ] duplikasi idempotency - [ ] invalid signature (callback) - [ ] no active binding - [ ] Idempotency case: - [ ] request/callback duplikat tidak menambah state/record tidak sesuai aturan ## 4) Kesesuaian Dokumen - [ ] Mengikuti [12-fase1-step1-core-foundation-spec.md](/home/wira/work/codex/qris-soundbox-platform/12-fase1-step1-core-foundation-spec.md) - [ ] Mengikuti [13-fase1-step2-callback-transaction-spec.md](/home/wira/work/codex/qris-soundbox-platform/13-fase1-step2-callback-transaction-spec.md) - [ ] Mengikuti [14-fase1-step3-notification-spec.md](/home/wira/work/codex/qris-soundbox-platform/14-fase1-step3-notification-spec.md) - [ ] Decision references: - [ ] [D-005] Idempotency Rule - [ ] [D-010] Webhook Signature dan Parsing - [ ] [D-012] Evented Transaction State Change - [ ] [D-013] Trigger Notification dari event `paid` ## 5) Bukti Eksekusi - [ ] Screenshot/request log dari endpoint manual smoke test - [ ] Log contoh transaksi sukses (`callback` -> `paid` -> `notification sent`) - [ ] Lampirkan payload/response sample untuk endpoint utama ## 6) Dampak - [ ] Ada migration schema? - [ ] Ada backward compatibility concern? - [ ] Berikan langkah rollback sederhana (jika perlu) ## 7) Catatan Security/Compliance - [ ] Signature verification tetap aman - [ ] trace/error format tetap konsisten - [ ] audit log untuk operasi penting tercatat