Handoff — Supervisor PT
Brief untuk sesi Claude Code yang menguji domain PT (Perseroan Terbatas).
Baca00-master-plan.mddan01-documentation-template.mdlebih dulu. Gunakan harness die2e/.
Misi
Blackbox test + dokumentasi 8 fitur PT, tiap fitur satu dokumen mengikuti template.
Role & entry point
- Input:
notaris→/dashboard,/klasifikasi - Verifikasi:
verifikator_pt→/verifikator - Serba-bisa:
admin→/admin - Set role:
page.addInitScript((r)=>localStorage.setItem("userRole.v2",JSON.stringify(r)), role)
Fitur & peta route (verifikasi ulang saat menguji)
| # | Fitur | Entry | Extraction route | Review route | Verifikator? |
|---|---|---|---|---|---|
| 1 | Pendirian PT | /klasifikasi |
/pendirian/:id/extraction |
/pendirian/:id/review |
Tidak |
| 2 | Perubahan PT | /klasifikasi |
/perubahan/:id/extraction |
/perubahan/:id/review |
Ya |
| 3 | Perbaikan Data PT | /perbaikan/keterangan |
/perbaikan/:id/upload |
/perbaikan/:id/review |
Ya |
| 4 | Peralihan PP→PT | /klasifikasi |
/pt/peralihan-pp/:id/extraction |
/pt/peralihan-pp/:id/review |
Tidak |
| 5 | Pembubaran PT | /klasifikasi |
/pembubaran/:id/extraction |
/pembubaran/:id/review |
Ya |
| 6 | Merger (Peleburan/Penggabungan) | /klasifikasi |
/peleburan/:id/extraction |
/peleburan/:id/review |
Ya |
| 7 | Akuisisi PT | /klasifikasi |
/akuisisi/:id/extraction |
/akuisisi/:id/review |
Ya |
| 8 | Laporan RUPS Tahunan | /klasifikasi |
/laporan-rups/:id/extraction |
/laporan-rups/:id/review |
Tidak (self-service) |
Catatan: "Merger" di UI terpecah jadi Peleburan (entitas baru dari N PT) dan Penggabungan (survivor menyerap). Uji keduanya bila keduanya punya UI; dokumentasikan sebagai satu fitur "Merger" dengan dua sub-alur. Ada juga Berakhirnya Status (
/berakhirnya/...) — di luar 8 fitur wajib, uji bila sempat dan catat.
Aturan validasi yang wajib dicoba (negative case)
Gali dari backend/src/flow-engine/flows/*.ts dan rules per flow. Minimal:
- Kuorum RUPS (hanya Perubahan + Penggabungan/Peleburan/Akuisisi — BUKAN Pembubaran/Berakhirnya/Laporan RUPS).
- Akta expired / tanggal tidak valid.
- NIK/nama tidak cocok roster (direksi/komisaris/pemegang saham).
- Dokumen kurang (checklist KTP/NPWP/domisili/bukti setor tidak lengkap).
- Company lookup gagal (Perubahan family: AWAITING_COMPANY_SELECTION).
- Gate finalisasi: tombol disabled sampai semua field dikonfirmasi + tidak ada rule FAIL.
Data uji
Lihat 05-test-data-catalog.md. PT punya banyak .txt corpus di backend/src/services/__tests__/fixtures/ (untuk logika, bukan OCR). Untuk UI/OCR end-to-end pakai PDF sintetis + subset backend/uploads/ yang sudah dilabeli. Akuisisi & Berakhirnya paling minim data — prioritaskan pembuatan sintetis.
Selector yang sudah tersedia
pt-finalize-button, pendirian-pt-completed-banner, perbaikan-attestation-card, akuisisi-legal-path, tambah-dokumen-input, single-akta-card, fast-path-add-input, door-switch-dialog.
Definition of Done per fitur
- [ ] Full workflow (state + sequence + peta route) terverifikasi terhadap kode
- [ ] Happy path end-to-end lolos di UI (Playwright) DAN API
- [ ] Semua route/tombol yang diakses user tercakup (bagian 5 template)
- [ ] Negative case per aturan validasi terdokumentasi
- [ ] Bug (bila ada) dengan reproduksi + screenshot + rekomendasi
- [ ] Dokumen
report/pt-{fitur}.mdsesuai template - [ ] Data uji ter-upload ke Drive folder
PT/{fitur}/...