# CODEx Handoff — QRIS Soundbox Platform ## Current status - Fokus terakhir: sinkronisasi UI dan smoke test pada stack yang sudah aktif. - Implementasi backend dan UI sudah mulai dikerjakan di repository (tidak lagi hanya dokumentasi). - Smoke test Fase1 jalannya: - `smoke:cleanup` ✅ - `smoke:flow` ❌ saat dijalankan langsung (karena server belum jalan di `localhost:3100`) - `smoke:e2e` ✅ setelah server auto-start di port 3100 (cleanup + full flow berhasil). ## Files baru/terbaru yang sudah dibuat - [UI: admin-system-dashboard](/home/wira/work/codex/qris-soundbox-platform/ui/admin-system-dashboard/index.html) - Dashboard API wiring dipastikan terhubung ke backend untuk token admin, endpoint summary, dan retry/realtime UI. - [UI: merchant-onboarding-flow](/home/wira/work/codex/qris-soundbox-platform/ui/merchant-onboarding-flow/index.html) - Form onboarding disinkron ke API (create merchant, outlet, terminal, device, binding) + status badge flow. - [UI: merchant-detail-view](/home/wira/work/codex/qris-soundbox-platform/ui/merchant-detail-view/index.html) - Detail merchant kini ambil data API untuk merchant/outlet/transactions list. - [UI: device-technical-detail](/home/wira/work/codex/qris-soundbox-platform/ui/device-technical-detail/index.html) - Device detail sinkronisasi data API: detail device, binding terbaru, heartbeats, events, metrics device, dan stream log. - [UI: transaction-history-monitoring](/home/wira/work/codex/qris-soundbox-platform/ui/transaction-history-monitoring/index.html) - Search/filter outlet-terminal dan path transaksi sudah memakai endpoint API admin. - [README](/home/wira/work/codex/qris-soundbox-platform/README.md) - Sudah ada script dan langkah smoke test (`smoke:cleanup`, `smoke:flow`, `smoke:e2e`) siap dipakai. - [DECISIONS_LOG.md](/home/wira/work/codex/qris-soundbox-platform/DECISIONS_LOG.md) - Sudah memuat keputusan merchant bank account: kini arah keputusan ke rekening milik merchant (bukan escrow/terpusat) agar menghindari kebutuhan izin tambahan di awal. ## Keputusan penting yang harus diikuti saat lanjut 1. Fase 1 Step 1–4 harus tetap jalan berurutan sebelum pengembangan Fase 2. 2. Backend target Postgres di local (`qris_soundbox_platform`) sudah dipakai di smoke test. 3. Jalankan smoke dari kondisi bersih (`smoke:cleanup`) untuk hasil yang konsisten. 4. Untuk sementara, pencairan dana mengikuti pola rekening merchant sendiri (sesuai permintaan terakhir), bukan rekening terpusat. 5. Pertahankan format error API yang konsisten: `code`, `message`, `details`, `request_id`, `timestamp`. ## Urutan kerja selanjutnya (disarankan) 1. Backend/backend sanity lanjut dari titik terakhir: - Pastikan endpoint untuk sinkronisasi screen sudah stabil (terutama filter/search transaksi dan heartbeat/ events). - Lengkapi pemeriksaan 1–3 (dalam flow kamu, yaitu smoke point 1–3) yang belum dites manual via UI. 2. Ambil data smoke yang sudah tercipta di e2e (`merchant`, `device`, `transaction`) lalu smoke-test: - Merchant detail page - Merchant list/filter - Device technical detail - Device list + heartbeat view - Transaction history + outlet/terminal filter 3. Jika ada regresi, cek log server di `/tmp/qris-smoke-e2e-server.log`. 4. Setelah UI flow stabil, lanjut fitur ops: - `A.6 Migration + Seed` (jika ada gap) - `B.1–B.3` + `C.1–C.3` + `D.1–D.4` untuk full DoD Fase 1. ## Note kalau meneruskan sesi berikutnya - Kode dan screen yang sudah dimodifikasi tidak perlu diulang dari nol; lanjut dari state saat ini. - Prioritas saat lanjut: verifikasi “jalur UI sinkron API” lalu lanjutkan smoke flow end-to-end berkala. - Gunakan [DECISIONS_LOG.md] sebagai rujukan wajib untuk keputusan yang sudah disepakati. ## Selesai untuk off - Sudah ada gabungan perubahan di repo: doc + UI + API integration + smoke validation.