T2.1 follow-up — Core news visibility on beranda
| Item |
Nilai |
| Mode |
Server · /home/scola/odoo |
| Tanggal |
2026-08-11 |
| Parent status |
Does not change T2.1 ENGINEERING COMPLETE — PENDING INDEPENDENT W01 RE-AUDIT |
| Scope |
Core L1 navigation/surface truthfulness residual observed after T1/T2.1 |
Problem
Across roles, Berita terbaru disappeared from beranda widgets even though:
scola_news is SC-CORE (not an optional commercial package);
- quick actions still offered “Berita Sekolah”;
- product-tier contract §3.3 says FE must not gate Core news menus on
featureFlag.
Root cause
- FE
LatestNewsWidget / Topbar called isFeatureEnabled("scola_news").
scola_news is intentionally absent from FE MANAGED_FEATURE_FLAGS, so the check was always false → widget hidden.
- BE
merge_installed_feature_flags AND-ed scola_news with commercial SKU entitlement (default OFF) even when the module was installed → permissions/API treated news as optional-off.
Fix
| Layer |
Change |
| FE widget/Topbar |
Capability / always-fetch for Core widget; no scola_news featureFlag UX gate |
| FE + BE API registry |
News routes featureFlag: null; contract version 7 |
| BE entitlements |
INSTALL_STATE_AUTHORITATIVE_FLAGS = {scola_news} — install state wins over SKU OFF |
| Tests |
FE widget/registry parity; BE unit case for install-authoritative news |
Explicit non-claims
- Does not independently certify W01.
- Does not certify W02 / W05.
- Does not close parent dashboard
something_went_wrong fixture/domain residual (separate from news widget gate).
Ops
| Item |
Value |
| BE tip |
main / 0919ddbb4f938b29bef5e78d97c170bbe7eb21cd (pushed) |
| FE tip |
develop / 5487d2ad581f87761ecdd8f83221a8b0b76581bb (pushed) |
| FE deploy |
rsync dist/ → /var/www/vue-app-goldenbabyntree/dist, /var/www/dev-scola/dist |
| BE restart |
odoo-prod + sibling shared-codebase services + Golden identity restart |
Requires user re-login for permission/feature-flag snapshot refresh.