# 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
