T4 — Post-SCORE Track Charter: Profile Jenjang / Timezone (DEC-013)
Mode: Server /home/scola/odoo
Approval: APPROVED_BY_REQUESTING_USER_CONVERSATION (PROF-2 bounded, 2026-08-29)
Track ID: POST-SCORE-PROFILE-DEC013
Tip baseline: FE dad5fa0c / BE 5e6be85 (PROF-2 harness)
1. Scope
In scope
| Control |
Matrix |
Denominator |
| Jenjang profile matrix |
§10.2 RT-PROFILE-JENJANG-01 |
Signed GT-PROFILE-* jenjang fixtures |
| Timezone profile matrix |
§10.2 RT-PROFILE-TIMEZONE-01 |
Signed GT-PROFILE-* timezone fixtures |
Workshop output (PROF-0): Signed DEC-013 matrix defining:
- Retained jenjang codes (
paud, tk, sd, smp, … — Product selects subset)
- Equivalence partition recommendation (prefer partition over full cartesian)
- IANA timezone set (
Asia/Jakarta / WIB, Asia/Makassar / WITA, Asia/Jayapura / WIT)
Golden tenant fixtures (06 §12.1)
| Profile ID |
Role |
Current seed state |
GT-PROFILE-NON-EARLY-WIB |
Non-early (sd/smp), Asia/Jakarta |
Seeded — companies 20/21 |
GT-PROFILE-EARLY-WIB |
tk, Asia/Jakarta |
Seeded — company 40 |
GT-PROFILE-NON-EARLY-WITA |
Non-early unit, Asia/Makassar |
Seeded — company 41 |
GT-PROFILE-NON-EARLY-WIT |
Non-early unit, Asia/Jayapura |
Deferred PROF-3 |
GT-PROFILE-MATRIX-DECISION |
Full cartesian jenjang × timezone |
BLOCKED unless Product/QA approves equivalence partition |
Baseline engineering: STAB-044 CLOSED (bounded negatif) — fail-closed via schoolJenjang.js; vitest 9/9 negative matrix (tests/menu/teacherAttendanceReportScope.spec.js).
Out of scope (explicit defer)
| Item |
Reason |
| W16 denominator |
Cross-cutting — not part of W16 11/11 claim |
UAT PROMOTE_UAT |
Gelombang terpisah W16+ |
| Production promotion |
Requires immutable CERTIFIED manifest |
| “All Indonesian schools” claim |
Manifest lists exact retained GT-PROFILE-* IDs only |
| Full cartesian jenjang × timezone |
Prefer equivalence partition signed by Product + QA |
2. Actors
| Actor |
Responsibility |
| Product |
Lead PROF-0 workshop; sign DEC-013 retained codes + equivalence partition |
| QA/Release |
Approve partition argument; define fixed-clock boundary cases (STAB-022) |
| Engineering |
Seed fixtures (PROF-1), parameterize tests (PROF-2), harness (PROF-3), rebind (PROF-4) |
3. Phase order (mandatory)
Phase PROF-0 — Workshop charter + signed DEC-013 matrix (this doc + workshop record)
Phase PROF-1 — Seed Golden overlays: GT-PROFILE-EARLY-WIB, GT-PROFILE-NON-EARLY-WITA, GT-PROFILE-NON-EARLY-WIT
Phase PROF-2 — Parameterize W00 nav crawl; W01/W05 fixed-clock boundary (STAB-022); extend vitest jenjang
Phase PROF-3 — profile_matrix_certify.py or extend E1.2 property set
Phase PROF-4 — Update §10.2 rows BLOCKED → PASS bounded; manifest lists exact GT-PROFILE-* IDs
Precondition: PROF-0 signed matrix wajib sebelum PROF-1 seed — no fixture without Product decision.
4. Equivalence partition recommendation
Product/QA should prefer documented equivalence classes over full cartesian:
| Partition |
Recommended grouping |
Rationale |
| Early-years |
Single GT-PROFILE-EARLY-WIB if PAUD ≡ TK for menu/route purposes |
Reduces seed cost; requires explicit Product sign-off |
| Non-early jenjang |
GT-PROFILE-NON-EARLY-WIB covers sd/smp if code-backed partition approved |
Current seed topology |
| Timezone |
No equivalence across WIB/WITA/WIT — each zone requires independent fixed-clock run |
STAB-022; local-day boundaries differ |
Adding a profile after freeze invalidates W00 navigation plus every date-sensitive workflow certificate until re-run on same build.
5. Test surfaces (PROF-2)
| Surface |
Parameters |
| W00 navigation |
Menu/route branch per retained jenjang |
| W01 school-day schedule |
Session date defaults per timezone |
| W05/W06/W20 boundaries |
Fixed-clock straddle local midnight (STAB-022) |
| Negative matrix |
Empty, missing, malformed, unknown, unsupported, expired/unassigned, other-company — fail closed (STAB-044 contract) |
6. Non-claims
- Not part of W16 denominator — Profile track runs parallel; W16 exit gate does not require Profile PASS.
- No over-broad claim — release manifest lists exact retained profile IDs; excluded values explicitly documented.
- STAB-044 bounded negatif remains valid for Core V1 even if positive matrix deferred.
7. Exit gate (track complete)
- [x] Signed DEC-013 matrix (PROF-0) —
T4-DEC-013-signed-profile-matrix.md
- [x] Golden fixtures seeded for signed IDs except WIT (PROF-3)
- [x] §10.2
RT-PROFILE-JENJANG-01 and RT-PROFILE-TIMEZONE-01 → PASS bounded (PROF-2)
- [x] Harness evidence
T6-PROFILE-20260829T033004Z bound BE 5e6be85
- [x] Manifest lists exact profile IDs — WIT explicitly deferred
8. References