T2-W01 Preflight — Exact-tip Baseline
| Item |
Nilai |
| Mode |
Server development · /home/scola/odoo |
| Tanggal |
2026-08-11 |
| Workstream |
T2 — W01 Academic Master → Timetable End-to-End Certification |
| Docs dibaca |
AGENTS.md, workspace-governance.md, architecture-api.md, development-guide.md, T1-final-reconciliation.md, T1-A-canonical-app-map.md, T1-B-core-parity-denominator.json, T0-E2-DEC-003-capability-taxonomy.json, 01-product-contract.md |
| Hard gate |
PASS — tip T1 frozen; tree hash match; validator/regresi hijau; lanjut Phase 1 |
1. Exact identity (re-verified)
| Item |
Current value |
| FE branch / HEAD / origin |
develop / 8004894c6375173db7bf9427496f071da934221c / same |
| FE T1-C application commit |
6beab28f34b2f5064aca948362d2f6ced9aca784 |
| FE application tree hash |
40ad2da8d8ec6afa427486f6188de3bdf84cbae197dd2eeca1d8b2f055f8ef04 MATCH T1 |
| BE branch / HEAD / origin |
main / 8cc5cca8593e9a72628ce7bebb4f854800edc15d / same |
| BE application tree hash |
1b4e1afd0a921e4fc274d97bfe588d1a536c64e235f3ea8584ee6ba873bb0e10 MATCH T1 |
| E1.2 current rebind |
T0-E1.2-REBIND-CURRENT-20260810T2245Z |
| DEC-003 SHA256 |
18704cbddf996b516a5ed2eafb0b2f740c6f30ec82a46995efa26a124cfc11f2 MATCH |
| Golden DB |
scola_golden · UUID 2bf5fd27-9390-11f1-9617-28e8d4be73f5 · fixture gt-core-b1.1 |
| Golden HTTP |
http://127.0.0.1:8090 (config/odoo-golden.conf) |
| T1 entry |
T1 CLOSED — APPROVED FOR T2 |
Application trees unchanged vs T1-certified trees → no STOP / no rebind required before T2 application edits.
Working tree notes (preflight)
| Item |
Status |
FE application (src/) |
clean vs tip |
| BE application |
clean vs tip |
| Docs dirty at first E12 attempt |
untracked T1-final-reconciliation.md + T2-W01-evidence/ (docs-only; committed/recorded as T2 artifacts) |
| Governed exclude |
docs/recon/*.xlsx |
2. Regression gates (cwd /home/scola/odoo)
| Validator |
Result |
Evidence |
e12_evidence_identity_validator.py (--allow-docs-tip, matrix …2245Z) |
PASS after docs-clean tip / tree match |
T2-W01-evidence/T2-W01-preflight-e12-identity.txt + identity dump |
npm run check:core-parity |
PASS hard_count: 0 |
T2-W01-preflight-core-parity.txt |
npm run check:core-nav-ux |
PASS hard:0 warn:0 |
T2-W01-preflight-core-nav-ux.txt |
npm run check:nav-graph |
PASS 36 apps / 528 leaves / core_missing_capability: 0 |
T2-W01-preflight-nav-graph.txt (inventory restored to frozen tip) |
api_route_surface_coverage_check.py |
PASS 1716 routes · UNREGISTERED_PROTECTED_BLOCKER: 0 |
T2-W01-preflight-route-coverage.txt |
package_topology_ci_check.py |
PASS 15 SKUs |
T2-W01-preflight-package-topology.txt |
package_contract_consistency_check.py |
PASS |
T2-W01-preflight-package-consistency.txt |
check_package_catalog.py |
PASS 15 rows / 17 refs |
T2-W01-preflight-package-catalog.txt |
| Live certification-identity |
PASS (POST :8090) |
T2-W01-preflight-cert-identity.json |
3. Golden Core observation (pre-W01 seed)
| Observation |
Implication for T2 |
Academic masters empty (op.academic.year/op.batch/op.session/scola.lesson.hours = 0) |
Phase 21 must extend Golden with deterministic W01 objects |
scola_lms not installed; entitlement scola_lms=false |
op.teaching.assignment out of Core denominator → OPTIONAL/LMS; Core W01 uses op.session.faculty_id + op.batch.faculty* for teaching relation |
| Optional packages OFF |
Do not enable LMS/CBT/Report Card for W01 |
4. Scope freeze
| In scope |
Out of scope |
| W01 Academic Master → Timetable only |
W02 student onboarding |
| Core entities required for valid timetable |
W05 attendance write |
| Fail-closed / atomic / tenant-safe mutations |
Optional package certification |
|
Global academic UI redesign / T0 auth redesign |
5. Gate verdict
Phase 0 HARD GATE: PASS
T2 may proceed from tip:
- FE
origin/develop = 8004894c… (docs tip; app tree = T1-C)
- BE
origin/main = 8cc5cca…
- E1.2 rebind
…2245Z remains binding until Phase 28 rebind after W01 app changes