Handoff — Supervisor Apostille & Legalisasi
Brief untuk sesi Claude Code yang menguji domain Apostille & Legalisasi.
Baca00-master-plan.mddan01-documentation-template.mdlebih dulu. Gunakan harness die2e/.
Misi
Blackbox test + dokumentasi 5 fitur/tahap, tiap fitur satu dokumen mengikuti template.
Role & entry point
- Pemohon:
umum→/apostille - Verifikasi:
verifikator_apostille→/verifikator - Serba-bisa:
admin
Fitur/tahap & peta route
| # | Fitur | Route | Fokus uji |
|---|---|---|---|
| 1 | Intake OCR | /apostille (ApostilleUploadPage) |
Pilih negara (Apostille vs Legalisasi auto-derive), Jalur Percepatan + kode bayar, batch upload KTP + dokumen, submit |
| 2 | Document Classification | /apostille/permohonan/:id/klasifikasi |
Papan drag-drop (@dnd-kit), override kategori, confidence, lanjut ke ekstraksi |
| 3 | Cross-doc Validation & Eligibility | (proses di POST /:id/start → review) |
Aturan kelayakan: KTP wajib, surat kuasa (ORANG_LAIN), signer match, doc-owner vs pemohon |
| 4 | Verifier Workspace | /apostille/permohonan/:id/review (role verifikator) |
Panel keputusan APPROVE/REJECT/REVISE, bandingkan tanda tangan (spesimen), AI advisory, fast-track payment |
| 5 | Legalisasi | /apostille dengan negara non-Apostille |
Varian Legalisasi: set dokumen berbeda, alur sama, pastikan cabang layanan benar |
Aturan eligibility/validasi kunci (dari memori proyek — verifikasi terhadap kode)
- KTP wajib: kedua KTP mandatory di gate (reversal 2026-08-05), termasuk ORANG_LAIN.
- Surat kuasa = sumber identitas untuk ORANG_LAIN (pemberi = Pemohon), tapi kedua KTP tetap wajib.
- Signer gate: konvensional + petugas tidak ada di registry → wajib upload Keterangan Keabsahan sebelum submit; ELEKTRONIK dikecualikan.
- Doc-owner ≠ pemohon:
AP_DOCS_NAME_MATCH= WARNING (bukan FAIL); di-SKIP untuk ORANG_LAIN. - Tipe auto-detect (TTE): konvensional/elektronik di-set saat klasifikasi dari marker OCR (BSrE/BSSN); bisa dioverride di papan.
- Fast-track (Jalur Percepatan): jendela waktu + kuota harian + verifikasi pembayaran vs SIMPADHU/SIMPONI.
ALLOW_DEBUG_BYPASS=on+bypassValidations=trueuntuk melewati saat uji.
Kendala data (PENTING)
Tidak ada sample Apostille sama sekali. Ini gap terbesar. Rencana:
1. Buat PDF sintetis: KTP, ijazah/sertifikat/akta kelahiran, surat kuasa, dokumen ber-TTE (marker BSrE) vs konvensional.
2. Telusuri backend/uploads/ untuk dokumen yang cocok kategori Apostille (13 kategori: PENDIDIKAN, KEPENDUDUKAN, PERNIKAHAN, dst).
3. Sisa yang tak bisa diuji (mis. verifikasi pembayaran nyata) ditandai eksplisit di laporan sebagai "butuh data/lingkungan".
Selector & elemen
UploadZone universal (input[type=file]), papan @dnd-kit (drag card ke lane), SignatureRegionModal (canvas bbox), signer picker dropdown, atestasi APOSTILLE_PERNYATAAN (4 item), ApostilleDecisionPanel.
Definition of Done per fitur
- [ ] Full workflow (2 fase: klasifikasi lalu ekstraksi) terverifikasi terhadap kode
- [ ] Happy path Apostille DAN Legalisasi di UI
- [ ] Semua route/tombol yang diakses user tercakup (termasuk drag-drop & signature modal)
- [ ] Negative/eligibility case per aturan di atas
- [ ] Bug dengan reproduksi + screenshot + rekomendasi
- [ ] Dokumen
report/apostille-{fitur}.mdsesuai template - [ ] Data uji ter-upload ke Drive folder
Apostille/{fitur}/... - [ ] Gap data ditandai jelas di bagian 7