Lewati ke isi

Implementation Plan — Post Gap Closure (Professional)

Created: 2026-06-11
Mode: Server development (/home/scola/odoo)
Scope: Tindak lanjut setelah audit register gap (MASTER, REMEDIATION, Odoo best-practice)


1. Status Audit Register (2026-06-11)

1.1 Temuan global — Tertutup (Professional)

ID Register Status kode
GAP-01 Auth groups SSOT Closed
GAP-02 Controller sudo() Closed — 0 di controllers
GAP-03 Entitlement parity E2E Closed — 14/14 contract
GAP-UI-01 HomeLayout legacy Closed — 0 HomeLayout di src/**/*.vue
GAP-UI-02 Empty state legacy P0 Closed — batch 1 (13 view)

1.2 Domain register — residual vs tertutup

ID Status sebelum Status setelah verifikasi kode
AC-M1 Partial Closed — 0 HomeLayout di ReportCardManagement/
KE-M2 Partial Closed — PaymentConfig sudah AppLayout
LI-M1 Partial Closed (Professional) — HomeLayout library sudah 0
AT-M3 Open Closed — RFID section featureFlag: scola_hr_attendance + unit test
KO-M1 Open Closed — AppTitle + tabs + EmptyState (Wave A, 2026-06-11)
AC-M2 Mitigated Tetap mitigated (training/docs)
AC-M3, SP-M3, CB-M3 Pending Proses QA/UAT — bukan code gap
LM-M2 Backlog Post-launch test coverage

1.3 Odoo best-practice register

ID Status Catatan
GAP-01, GAP-03 Closed (Professional) Selaras MASTER
GAP-02 Diperbarui → Closed Doc sebelumnya stale ("Partial")
GAP-04 Closed (pilot) SC-DAP evidence ada
GAP-05 Partial (pilot-closed) Closed (seam extraction) — canonical BOS/RKAS owners (2026-06-11)
GAP-06 Partial → batch 1 base eksplisit: admission, inventory, dapodik_connector
GAP-07 Closed (slice 7) Registry SSOT aktif
GAP-08 Low residual Prefix fallback FE — shrink saat BE domain metadata siap

1.4 Belum bisa ditutup via kode saja

  • Client UAT sign-off (uat-signoff-template.md)
  • Item proses QA/UAT: AC-M3, SP-M3, CB-M3 (recon question sync)
  • GAP-04 widen: live Dapodik host replay on staging
  • LM-M2: LMS integration test coverage (post-launch)

Selesai sesi Wave C/D (2026-06-11): GAP-06 batch 2 (53/53), GAP-01 R1/R2, GAP-05 seam extraction, Wave A/C/D FE polish, CBT independent student schedule (a862d39).


2. Phase 2 — Peningkatan di Luar Scope Existing (Rekomendasi)

Wave A — UX polish (2–3 hari)

Item Prioritas Deliverable
KO-M1 Low Refactor Announcement.vue ke pola AppTitle + token design system
GAP-UI-02 batch 2 Low EmptyState di modul enterprise (Library, Attendance portal)
AC-M2 Ops Sesi training wali kelas + checklist cetak rapor

Wave B — QA & go-live gate (1 minggu)

Item Owner Deliverable
SP-M3 QA/Implementor SPMB manual UAT dengan klien + sign-off
AC-M3 QA grade_publish_flow E2E hijau di scoladev
CB-M3 Guru/QA Recon question sync sebelum ujian sekolah
QC server DevOps Jalankan §10 development-guide QC + catat di closure log

Wave C — Backend hygiene (3–5 hari)

Item Prioritas Deliverable
GAP-06 batch 2 Medium base eksplisit di semua scola_* installable
GAP-01 R2 Medium Registry executive/vice-principal/subscription APIs
GAP-05 Medium Extract SC-BOS seam dari transitional bundle
GAP-01 R1 Medium Shrink ROLE_CAPABILITIES via shared profiles

Wave D — Enterprise / optional packs

Item Paket Deliverable
SC-FIN empty state batch 2 SC-FIN Sisa AccountingManagement non-P0
LM-M2 SC-LEARN LMS integration test coverage
GAP-04 widen SC-DAP Live Dapodik host replay staging

3. Workflow Server (tanpa trigger CI kecuali diminta)

# FE QC (setelah edit)
cd /home/scola/odoo/scola-fe-v2
npm run lint:diff   # atau eslint file changed
npm run type-check
npx vitest run tests/unit/config/attendanceAppRfidGate.spec.js
npm run test:contract
npm run build

# BE QC (setelah edit manifest)
cd /home/scola/odoo/custom_addons_scola/gcgscola
python3 -m py_compile scola_admission/__manifest__.py  # etc
python3 scripts/modular/dep_graph_check.py

# Deploy FE (setelah build)
# Salin dist/ ke docroot nginx dev — sesuai setup server

# Commit
git commit -m "docs(audit): sinkron register + AT-M3 test [skip ci]"
git push origin develop

4. Definition of Done — Register Audit

Register dianggap tuntas untuk go-live Professional apabila:

  1. Semua temuan global §2 MASTER = Closed (Professional) atau Mitigated dengan bukti
  2. Domain P0 tidak ada status Partial tanpa catatan residual yang diterima
  3. Odoo best-practice GAP-02/03/07 selaras dengan kode
  4. Item proses (UAT, QA E2E) terjadwal dengan owner — tidak memblokir deploy Professional
  5. QC gate server §10 development-guide dijalankan dan dicatat

Status saat ini: ✅ Memenuhi #1–#3 dan #5 (setelah sesi ini); #4 menunggu klien/QA.