T1-C Mixed-Shell Reconciliation¶
| Item | Nilai |
|---|---|
| Mode | Server · /home/scola/odoo |
| Tanggal | 2026-08-11 |
| Scope | Teacher / student / parent portal sections (Core + optional) |
| Non-goal | Optional package certification · W01/W02/W05 |
Behavior contract¶
filterAppByAccess (src/config/apps/appSchema.js):
- Leaf tanpa akses (capability / featureFlag / productStatus fail-closed) → dihapus.
- Section dengan
items.length === 0→ section header hilang (bukan empty accordion). - App tanpa section tersisa → hilang dari launcher/rail.
Checker npm run check:core-nav-ux mensimulasikan entitlement-OFF pada leaf ber-featureFlag/moduleKey dan memverifikasi tidak ada empty visible section pada Core apps.
Portal notes¶
| Portal | Core sections | Optional leaves | Entitlement-OFF |
|---|---|---|---|
| teacher-portal | today, teaching, grades, homeroom, … | LMS/CBT/library/fees/HR personal | Section optional hilang; Core tetap |
| student-portal | learning/grades/… | library, LMS/CBT | sama |
| parent-portal | overview, akademik, komunikasi, … | library, student_services, LMS | sama; Pengumuman dihapus sebagai leaf bersaing |
Parent publication identity¶
- Sebelum:
parent.announcements(Pengumuman) +parent.news(Berita) bersaing. - Sesudah: hanya Berita (
/news);/parent/announcement→ redirect kompatibilitas ke/news. - Mobile quick access:
parent.announcements→parent.news.
Verdict¶
Mixed-shell composition truthful untuk bounded Core. Empty optional groups tidak ditampilkan.