Remediation Backlog — Production Readiness¶
Last verified: 2026-06-11 (Wave A–D + CBT schedule fix + deploy docs)
1. Triage Summary¶
| Priority | Count | Go-live impact |
|---|---|---|
| P0 Merah | 0 | None — proceed |
| P1 Medium | 16 | Mitigated via docs/training; code fix post-sprint |
| P2 Low | 4 | Post-launch / QA scheduled |
Keputusan: Go-live Professional dapat dilanjutkan dengan:
- Training workflow rapor & SPMB
- UAT sign-off klien wajib
- Security hardening sudo() di sprint berikutnya (tidak memblokir operasi harian jika ACL record rules aktif)
2. P1 Items — Status¶
| ID | Action | Owner | Status | Target |
|---|---|---|---|---|
| GAP-02 | Hardening sudo() — fase 1–4: P0 + non-P0 (CBT, leadership, observability, HR, bridges, dll.) |
Backend | Selesai — 0 .sudo() di semua controllers (2026-06-11) |
— |
| GAP-01 | Auth migration — authoritative Odoo groups gate role/capabilities | Backend | Closed (Professional) — closure review 2026-06-11 | Residual: GAP-01-R1..R4 backlog |
| GAP-03 | Entitlement parity — live auth/session contract E2E | QA/FE | Closed (Professional) — 8-role matrix; contracts-api 14/14 hijau di scoladev |
— |
| GAP-04 | SC-DAP public-sector pilot evidence | Ops/BE | Closed (pilot) — SC-DAP evidence; sync-logs fix c4972ae |
Live Dapodik host replay on staging |
| GAP-05 | SC-BOS transitional bundle pilot | Ops/BE | Closed (seam extraction) — canonical owners + bridge shims (2026-06-11) | — |
| GAP-01-R1 | Shrink ROLE_CAPABILITIES export map | Backend | Closed — shared capability profiles (2026-06-11) | — |
| GAP-01-R2 | Leadership/subscription API registry | Backend/FE | Closed — wave 3 registry rows (2026-06-11) | — |
| SP-M3 | Jalankan spmb-manual-uat dengan klien | QA/Implementor | In progress | wave-b-professional-uat.md §5 |
| AC-M3 | e-Raport publish E2E + tier1 Playwright | QA | Closed (auto) | Playwright PASS 2026-06-12; manual sign-off §3.1 tetap untuk klien |
| CB-M3 | Question sync checklist sebelum ujian | Guru/QA | In progress | cbt-question-sync-uat-checklist.md |
3. Mitigasi Operasional (tanpa code change)¶
| Risiko | Mitigasi |
|---|---|
| Guru bingung alur rapor | cetak-rapor quick start + sesi training 1 jam |
| Ortu tidak bisa bayar SPP | bayar-spp quick start + bendahara SLA 1x24 jam |
| Fitur tidak muncul | support-playbook |
| sudo security concern | Backend ACL tetap primary; monitor audit log |
4. Re-Audit Trigger¶
Jalankan ulang audit domain jika: - Fix P1 merged untuk domain tersebut - Upgrade paket (tambah SC-FIN, SC-STUDENT, dll.) - Incident production terkait security atau data integrity
Template: AUDIT-TEMPLATE.md
5. Closure Log¶
| Tanggal | Item | Hasil |
|---|---|---|
| 2026-06-11 | Dokumentasi production readiness | Delivered — 9 domain, 14 role guides, audits |
| 2026-06-11 | P0 blocker scan | 0 Merah — go-live gate documentation path clear |
| 2026-06-11 | GAP-UI-01 batch P0 | Migrasi AppTitle: Absensi (6), Siswa (8), Keuangan (5), Ujian admin (10), Announcement, Pembagian kelas (3) |
| 2026-06-11 | KE-M2 PaymentConfig UI | HomeLayout dihapus dari 11 view PaymentConfig |
| 2026-06-11 | Docs portal | https://docs.gcgscola.id aktif (MkDocs + nginx) |
| 2026-06-11 | Agent guidelines | Branch matrix develop/main ditambahkan ke Master Guide |
| 2026-06-11 | GAP-02 fase 1 | portal_identity SSOT; fees/admission/spmb/core import — 0 sudo di controller target |
| 2026-06-11 | GAP-02 fase 2 | attendance _att_* elevation + LMS _sudo_model; sudo_budget strict PASS |
| 2026-06-11 | GAP-02 fase 3 | portal/identity_admin/report_card — 0 sudo di controllers; total 237/392 (−155) |
| 2026-06-11 | GAP-02 fase 4 | non-P0: CBT, foundation, leadership, observability, HR, bridges — 0 sudo di 178 controller files |
| 2026-06-11 | GAP-02 closure | MODULE_BUDGETS turun ke 0; MASTER-GAP-REGISTER security items closed |
| 2026-06-11 | GAP-UI-01 batch 2 | Library + Counseling + Faculty — hapus nested HomeLayout (11 file) |
| 2026-06-11 | GAP-01 slice 3 | Groups SSOT; auth_contract_version=1; fixtures + contract tests FE/BE |
| 2026-06-11 | GAP-01 slice 4 | api_route_access registry; P0 route moduleKey maps; live login contract E2E |
| 2026-06-11 | GAP-01 slice 5 | ir.http registry enforcement; capability gate; core module flags (scola_admission, scola_fees, scola_news) |
| 2026-06-11 | GAP-01 slice 6 | Wave-2 api_route_access (+18 prefixes: dapodik, bos, accounting, inventory, payroll, HR, RFID) |
| 2026-06-11 | GAP-01 slice 7 | Retire PATH_PREFIX_FEATURE_FLAG_RULES; +3 edge rules (executive budget, portal news, learning outcomes) |
| 2026-06-11 | GAP-03 slice 1 | Live auth contract matrix (5 roles); session echo E2E; contracts-api Playwright project |
| 2026-06-11 | GAP-03 slice 1b | scoladev seeds aligned; 8/8 live contract E2E pass (77db4344, 267422a0) |
| 2026-06-11 | GAP-01 closure | Professional scope closed; test_gap01_closure_unit + gap01ClosureContract.spec.js |
| 2026-06-11 | GAP-03 slice 2 | Expand live matrix (+homeroom, +counselor, +librarian); 14/14 contract E2E; scoladev QA users seeded |
| 2026-06-11 | GAP-04 pilot | SC-DAP topology replay on scoladev; evidence doc docs/operations/SC-DAP-pilot-evidence-2026-06-11.md |
| 2026-06-11 | GAP-04 follow-up | BE c4972ae — sync-logs 200 on empty pilot |
| 2026-06-11 | GAP-05 pilot | SC-BOS API smoke on scoladev; docs/operations/SC-BOS-pilot-evidence-2026-06-11.md |
| 2026-06-11 | GAP-UI-01 batch 3 | Calendar + HR non-accounting: AppBar/HomeLayout → AppTitle (12 view) |
| 2026-06-11 | GAP-UI-01 batch 4 | Parent/Teacher DB cleanup; HR AccountingConfig; parent tempAttendance (9 file) |
| 2026-06-11 | GAP-UI-02 batch 1 | EmptyState SSOT: TP/ATP, modul ajar, tunggakan, preset cicilan, P5, rombel, ortu, SC-FIN list (13 view) |
| 2026-06-11 | GAP-UI-01 batch 5 | AccountingManagement SC-FIN: 15 view HomeLayout → AppTitle (journal, ledger, vendor, payroll) |
| 2026-06-11 | Register re-audit | MASTER/REMEDIATION/Odoo BP sync; AC-M1/KE-M2/LI-M1/AT-M3 closed; IMPLEMENTATION-PLAN-POST-GAP-CLOSURE |
| 2026-06-11 | GAP-06 batch 1 | base eksplisit: scola_admission, scola_inventory, scola_dapodik_connector |
| 2026-06-11 | AT-M3 | Unit test attendanceAppRfidGate.spec.js — RFID menu gated by scola_hr_attendance |
| 2026-06-11 | GAP-06 batch 2 | base eksplisit di 53/53 modul installable; dep_graph_check PASS |
| 2026-06-11 | Wave A/C/D FE | EmptyState enterprise, Announcement tabs, route registry wave 3, hapus COAList_old |
| 2026-06-11 | CBT CB-M4 | Fix jadwal siswa untuk ujian context independent — commit a862d39 |
| 2026-06-11 | Docs portal refresh | Rebuild MkDocs → https://docs.gcgscola.id |
| 2026-06-11 | Completion review | COMPLETION-REVIEW-2026-06-11.md — Professional doc/audit tuntas |
| 2026-06-11 | Enterprise scope Phase 6 | ENTERPRISE-AUDIT-SCOPE.md + ENTERPRISE-GAP-REGISTER |
| 2026-06-11 | Phase 6A audit SC-BOS | bos-rkas-audit-2026-06-11.md; temuan BOS-M1..M3; domain SSOT + config guide |
| 2026-06-11 | Phase 6A audit SC-DAP | integrasi-regulasi-audit-2026-06-11.md; temuan DAP-M1..M3; domain SSOT + config guide |
| 2026-06-11 | Phase 6B audit SC-FIN | keuangan-full-audit-2026-06-11.md; pilot + config guide; FIN-M1..M3 |
| 2026-06-11 | Phase 6B audit SC-OPS | inventaris-audit-2026-06-11.md; pilot + config guide; OPS-M1..M3; BOS-M2 mitigated |
| 2026-06-11 | Enterprise UAT pack | uat-enterprise-addons-manual.md + sign-off template; Phase 6C prep brief |
| 2026-06-11 | Phase 6C kickoff | 4 SKU audits + pilot; fix HR-M0 payroll controllers + ATT-M0 RFID mixin (BE) |
| 2026-06-11 | Wave B UAT pack | wave-b-professional-uat.md + CB-M3 checklist; SP/AC/CB-M3 → in progress |