Plan: V1F-006 — FE/BE capability prefix parity¶
Status: DONE (2026-08-26) — CHECK_PREFIX_PARITY=1 PASS; FE b4d0c49e…; BE a4fcf6da…; demo immutable rebound fe-build-b4d0c49e8cf8-v1f006 (no production FE promote).
Goal¶
Menutup gate opsional CHECK_PREFIX_PARITY=1 (saat ini FAIL 4/4) untuk kunci in-scope SC-ADM / drift scola_cbt, tanpa memperluas scope V1.
Scope in¶
scola-fe-v2/src/config/entitlements.js(prefix/exact maps)- Alignment dengan
platform_entitlements.py(read-only unless BE juga salah) - Contract test dengan
CHECK_PREFIX_PARITY=1
Scope out¶
- Redesign entitlement taxonomy penuh (T0-U03)
- Production deploy dari patch ini tanpa lewat demo candidate baru
Steps¶
- Repro lokal:
CHECK_PREFIX_PARITY=1 npm run test:contract— catat 4 kunci gagal. - Klasifikasi tiap kunci: FE-only / BE-only / rename / out-of-V1.
- Untuk in-scope SC-ADM: sync map FE ke BE.
- Untuk
academics.exam_*FE-only: hapus atau pindah out-of-V1 explicit allowlist bila product setuju. - PR ke
develop; QC FE penuh; jangan [skip ci] ke staging. - Setelah merge: putuskan apakah perlu candidate immutable baru atau cukup catatan residual sampai freeze berikutnya.
Acceptance criteria¶
CHECK_PREFIX_PARITY=1exit 0- Tidak ada capability baru yang membuka surface out-of-contract
- Decision log untuk kunci yang di-drop
Risks¶
- Salah sync membuka menu/API
- Memaksa candidate SHA baru (f7a20f7d tidak lagi exact app tip)
Estimated effort¶
4–12 jam tergantung product decisions.
Dependencies¶
- Product call untuk kunci borderline (approval prompt)