Lewati ke isi

eRaport Workflow Hardening - 2026-04-30

Doc Compliance

  • Mode kerja: lokal.
  • Workspace root: /Users/salfath/scola-fe-v2.
  • Backend custom repo: /Users/salfath/scola-odoo-module.
  • Dokumen dibaca: docs/ai-guidelines/development-guide.md, docs/ai-guidelines/workspace-governance.md, docs/ai-guidelines/architecture-api.md, docs/qa/testing-guidelines.md.
  • Rujukan aturan: Permendikbudristek 21/2022, Permendikbudristek 12/2024, Permendikdasmen 13/2025, dan Panduan Pembelajaran dan Asesmen BSKAP 2024.

Canonical Workflow

  1. Guru mapel, LMS, atau CBT mengisi nilai komponen.
  2. Wali kelas meninjau kelengkapan, submit, dan approve WK.
  3. Kepala sekolah menjalankan approve KS dan publish.
  4. Siswa dan orang tua hanya melihat rapor state published.
  5. Orang tua mengunduh PDF resmi dari backend QWeb, bukan PDF client-side.

Gap Yang Ditutup

  • Backend report-card read API sekarang memvalidasi scope terhadap role aktif sebelum membuat domain pencarian.
  • Admin UI tidak lagi menjadi surface final approval atau publish.
  • Route /faculty/* diberi boundary role teacher dan homeroom.
  • Parent download memakai endpoint PDF resmi backend dengan metadata verifikasi di response headers.
  • Script test:phase5:academic-report tidak lagi menunjuk file test yang hilang.
  • Kontrak KKTP mulai mengekspos mode numeric, interval, dan descriptor.

Release Gate

  • Frontend wajib menjalankan npm run lint:diff, npm run check:capability-diff, npm run type-check, npm run test:contract, npm run test:phase5:academic-report, dan npm run build.
  • Jika auth/routing eRaport berubah, jalankan npm run test:e2e:critical:eraport dengan environment E2E yang valid.
  • Backend wajib menjalankan python -m py_compile untuk file Python yang berubah dan upgrade module scola_report_card pada Odoo environment target.

Residual Work

  • Migrasi JSON-RPC legacy di P5, CP/TP, assignment, dan LMS assessment-adjacent flow ke domain API masih perlu batch terpisah.
  • KKTP descriptor/rubric sudah tersedia di kontrak awal, tetapi UI lengkap untuk authoring rubric belum diselesaikan.
  • E2E grade publish perlu seed deterministik sebelum bisa dijadikan blocking gate otomatis.