think
16px
820px

Handoff — Supervisor Apostille & Legalisasi

Brief untuk sesi Claude Code yang menguji domain Apostille & Legalisasi.
Baca 00-master-plan.md dan 01-documentation-template.md lebih dulu. Gunakan harness di e2e/.

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=true untuk 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}.md sesuai template
  • [ ] Data uji ter-upload ke Drive folder Apostille/{fitur}/...
  • [ ] Gap data ditandai jelas di bagian 7