Kesiapan Demo — 28 Agustus 2026
Status staging: 5a5f1eb6 live di 192.168.83.20:3520 · diverifikasi 18 Agustus 2026, 12:0x WIB
Sisa waktu: 10 hari
1. Yang sudah selesai hari ini
Tombol Keluar (logout) — SELESAI
Ada di header kanan atas, sebagai menu avatar. Menampilkan persona yang sedang
masuk, lalu Keluar.
Diverifikasi di browser sungguhan (Chromium headless) terhadap staging yang
sudah ter-deploy, bukan hanya di unit test:
login UI → verifikator_pt → /verifikator
avatar → "Verifikator PT / Sedang masuk / Keluar"
Keluar → /login, authToken = null, userRole.v2 = null
Logout bersifat client-side: autentikasi memakai bearer JWT di localStorage
yang diperiksa per request, jadi tidak ada sesi server yang perlu diakhiri —
membuang token itulah keseluruhannya. Persona (userRole.v2) ikut dibuang,
supaya halaman login tidak "berpakaian" seperti pengguna sebelumnya.
Sekaligus: footer sidebar dulu menampilkan "User" hardcoded (sisa era tanpa
auth). Sekarang menampilkan persona sungguhan, sama dengan avatar di header.
Kredensial & data PP staging — SELESAI
PP_REGISTRY_MOCK_USER_ID diganti 1198606 → 822070 di
~/ahu-ai-staging/ocr/infra/env/shared.env (backup: shared.env.bak-2026-08-18).
Penyebab picker PP kosong: demo 6 Juli menghabiskan satu-satunya PP milik user
lama. User 822070 punya 7 PP aktif, dan ketiga endpoint sudah dicek:
| Endpoint | Hasil |
|---|---|
/api/pp/perubahan |
7 PP |
/api/pp/perbaikan-pp |
7 PP |
/api/pp/pembubaran |
7 PP |
PP yang tersedia: DUBAI GOLD GLOBAL (681026), TAK NYANA BISA JAYA (694906),
KARPET SHOP GROSIR (682770), PANCA SIMBA QUALITY (905735), PEGADAIAX GALERI
DUAEMPAT (891779), ANGKASA TRAVEL TOUR (883203), MULTI KARYA SAMUDRA (709266).
Cadangan kalau ketujuhnya terpakai saat gladi bersih: user 51836 atau
193518 (masing-masing 7 PP).
2. Temuan penting: antrean Verifikator PT KOSONG
Ini risiko demo terbesar yang ditemukan, dan tidak terlihat dari mana pun
kecuali dengan membuka halamannya.
Sebelum: tabel VerifikasiPerubahan di staging berisi 0 baris. Artinya
serah-terima Notaris → Verifikator PT belum pernah sekali pun dijalankan di
staging. Kalau baru ketahuan tanggal 28, tidak ada waktu memperbaiki.
Penyebabnya bukan bug: antrean Verifikator PT hanya menampilkan submission
PERUBAHAN_PT (dan keluarganya) yang berstatus COMPLETED. Staging punya 10
PERUBAHAN_PT, semuanya masih READY — belum ada yang di-submit Notaris.
Sudah dibuktikan berjalan. Satu submission dijalankan penuh lewat API
sungguhan:
POST /api/perubahan/submissions/:id/attestations → 200
POST /api/perubahan/submissions/:id/submit → 200 {"status":"COMPLETED"}
GET /api/verifikator/submissions (verifikator_pt) → total: 1
Halaman review verifikator terbuka bersih: saran AI ("Waspada"), 12 hasil
validasi lulus + 2 temuan, pratinjau PDF asli, 24 field akta / 9 domisili / 90
field KTP / 2 NPWP. Nol error konsol, nol response 4xx/5xx.
Antrean sekarang berisi 1 item — jadi kalaupun submit langsung gagal saat
demo, layar verifikator tidak kosong.
Alur demo yang disarankan: Notaris submit → Keluar → masuk sebagai
Verifikator PT → submission muncul di antrean. Tombol logout membuat pergantian
persona ini mungkin dilakukan di panggung tanpa membuka devtools.
3. Yang sudah diverifikasi berjalan di staging
| Yang dicek | Hasil |
|---|---|
| Pipeline OCR ujung-ke-ujung | Unggah 200 → klasifikasi 200 dalam 10,5 detik, confidence 0,9967 |
| Semua upstream model | 9 upstream lewat gateway :8200; vLLM, paddle-ocr, classifier, 7× Azure DI semua healthy |
| Kesehatan penyimpanan | healthy: true — 415 dokumen, 484 objek, 0 orphan, 0 file hilang |
| 18 halaman × 5 persona | Semua render bersih — nol crash, nol error konsol, nol response API 4xx/5xx |
| Antrean Verifikator Apostille | 3 item — tidak kosong |
| Login UI | 5 persona ditawarkan: notaris, perseroan, umum, verifikator_pt, verifikator_apostille |
Data demo yang tersedia di staging:
| Alur | READY | COMPLETED | ERROR |
|---|---|---|---|
| PENDIRIAN_PT | 13 | — | 1 |
| PENDIRIAN_PP | 16 | 4 | 1 |
| PERUBAHAN_PT | 9 | 1 (baru) | — |
| PERUBAHAN_PP | 13 | — | — |
| PERALIHAN_PP_KE_PT | 9 | 1 | — |
| APOSTILLE | 12 | 1 | — |
| PENDIRIAN_YAYASAN | 2 | — | — |
| PERBAIKAN_DATA_PT | 2 | — | — |
4. Yang masih perlu dikerjakan sebelum 28 Agustus
Diurutkan dari yang paling berisiko.
1. Gladi bersih tiap persona, ujung ke ujung — wajib
Yang sudah dibuktikan adalah halaman terbuka dan pipeline OCR jalan. Yang
belum dibuktikan adalah seorang manusia menyelesaikan satu alur penuh lewat
UI: unggah → klasifikasi → ekstraksi → review → setujui tiap section →
attestation → submit.
Temuan antrean kosong di atas persis jenis masalah yang hanya muncul saat
dijalankan sungguhan. Perkiraan: 2–3 jam untuk keempat alur demo.
2. Tentukan naskah demo, lalu bekukan datanya
Pilih submission tertentu untuk tiap adegan dan jangan disentuh sesudahnya. Saat
ini siapa pun yang membuka staging bisa mengubah data yang direncanakan.
3. klasifikasi-temp tidak pernah dibersihkan — 948 MB
1656 file menumpuk sejak 8 Juli, tidak pernah disapu. Itu 948 MB dari 1,3 GB
isi uploads/, dan tidak terlihat oleh storage reconciler (yang melaporkan
484 objek) — jadi /api/health/storage tetap hijau sementara direktori ini
membengkak.
Disk host GPU 88% penuh (60 GB sisa). Bukan penghalang demo, tapi ini yang
diam-diam menghabiskan box. Perbaikan: sapuan berbasis umur untuk
uploads/klasifikasi-temp, plus masukkan direktori ini ke jangkauan reconciler.
4. Instance dev berbagi gateway yang sama
Enam instance dev di valbox menunjuk ke gateway model yang sama dengan staging.
Kalau ada yang menjalankan batch saat demo, GPU-nya berebut. Minta semua dev
tidak menjalankan pekerjaan berat pada 28 Agustus pagi.
5. URL salah ketik → layar error mentah
Path yang tidak dikenal memunculkan ErrorBoundary bawaan React Router, bukan
halaman 404 yang ramah. Hanya penting kalau ada yang mengetik URL manual saat
demo. Perbaikan kecil.
5. Yang tidak akan diperbaiki sebelum demo
- 3 submission ERROR (PENDIRIAN_PT, PENDIRIAN_PP, LAPORAN_RUPS_TAHUNAN) —
sisa lama. Hindari saja; jangan dibersihkan mendadak sebelum demo. - Retensi dokumen — keputusan AHU, bukan keputusan teknis.
- MinIO / object storage — ditunda sampai keputusan infrastruktur turun.
Lampiran: cara cepat memeriksa staging
# kesehatan
curl -s http://192.168.83.20:3520/api/health
curl -s http://192.168.83.20:3520/api/health/storage
# ambil token (SECURITY_ENFORCE=on — curl anonim akan 401)
SEC=$(ssh efran@192.168.83.20 'grep -h SECURITY_DEV_LOGIN_SECRET ~/ahu-ai-staging/ocr/infra/env/*.env | head -1' | cut -d= -f2-)
curl -s -X POST http://192.168.83.20:3520/api/auth/login \
-H 'Content-Type: application/json' \
-d "{\"role\":\"verifikator_pt\",\"secret\":\"$SEC\"}"
# antrean verifikator
curl -s http://192.168.83.20:3520/api/verifikator/submissions -H "Authorization: Bearer $TOKEN"