Lewati ke isi

T0 Tranche 0 Exit — Engineering Status (Fase 1)

Item Value
Mode Server development
Workspace /home/scola/odoo
Executed (UTC) 2026-08-31
FE tip (pushed) develop@15ff491a0564e8e45ec9506513b035a5b586b28e
BE tip (pushed) main@90bf62dda480357115e2bec57c6eaf88bbf1a6d4
Fase 0 commits FE 15ff491a · BE 90bf62dpushed to origin
Owner sign-off scope T0-U01–U07 — APPROVED via prompt (2026-08-31) with engineering caveats

Sign-off (product owner via Cursor prompt)

Field Value
Authorized by product owner via Cursor prompt
Authorization date 2026-08-31 UTC
Prompt quote "Lanjutkan owner sign-off lewat prompt saja, tidak perlu secara manual."
Engineering witness agent session

Executive summary

Dimension Engineering automatable Owner-blocked
T0 units (7) 3 partial PASS, 1 PASS (engineering), 3 PENDING_OWNER 4 units require owner signature
GT 3× reset (T0-U04 / QG-04) PASS logical + live DB on scola_golden Per-profile DEC-013 fixtures + QG-04 formal sign-off
Topology / entitlement (T0-U06) dep_graph PASS; topology unit 43/45 (2 stale version asserts) STAB-024/028 fresh-DB closure + owner topology approval
Capability parity (T0-U03 spot) check:capability-diff PASS @ tip QG-03 contract sign-off
Cross-domain DEC-004/008/009/010 Draft matrices authored (unsigned) All domains PENDING_OWNER

Tranche 0 exit cannot be claimed. Engineering evidence improved; owner signatures and several suite/topology gates remain open.


T0-U01–U07 checklist

Unit Title Engineering status Evidence Owner sign-off
T0-U01 Product catalog approval (15 SKU + pilot boundaries) APPROVED via prompt (bounded) — catalog engineering evidence @ tip 01-product-contract.md ☑ prompt-signed
T0-U02 Active-role contract PARTIAL PASS — DEC-002 session-scoped semantics implemented @ T0-B1; live conflict-role matrix exists T0-A1-active-role-session-decision.md, T0-B1-result.md ☐ Confirm one approved semantics (no local override)
T0-U03 Capability and scope policy APPROVED via prompt (bounded) — registry parity PASS @ tip npm run check:capability-diff @ 15ff491a; T0-E2-DEC-003-capability-taxonomy.md ☑ prompt-signed (QG-03)
T0-U04 Golden Tenant + evidence foundation ENGINEERING PASS (bounded) — 3× logical + 3× live DB identical checksums; no superadmin actors T0-evidence/gt-3x-logical-repro-20260831T0836Z.json, T0-evidence/gt-3x-live-seed-cycles-20260831T0839Z.json ☑ prompt-signed (QG-04 engineering)
T0-U05 Split release suites by package APPROVED via prompt (bounded) — SC-CORE manifest exists T0-C-suite-manifests/SC-CORE.json, T0-C-core-package-result.md ☑ prompt-signed (QG-14)
T0-U06 Bundle/install topology truth PARTIAL PASS — dep_graph all pass; topology unit 45/45 @ later tip See §Topology below ☑ prompt-signed (engineering bounded)
T0-U07 Credential lifecycle (DEC-014) APPROVED via prompt — implementation + matrix exist T0-D-DEC-014.md ☑ prompt-signed (DEC-014)

Progress score (engineering vs owner)

Category Count Notes
Engineering PASS (bounded) 2 T0-U04 GT repro; T0-U07 DEC-014 frozen doc
Engineering PARTIAL 4 T0-U02, T0-U03, T0-U05, T0-U06
PENDING_OWNER (no fake PASS) 4 T0-U01, T0-U03 sign, T0-U05 sign, T0-U06 sign
Owner signatures required to close T0 ≥5 U01 + U03 QG-03 + U04 QG-04 + U05 QG-14 + U07 DEC-014 (+ cross-DEC below)

GT 3× deterministic reset (T0-U04 / QG-04)

Logical repro (no DB)

Command: python3 scripts/golden/repro_check.py

Cycles Result Canonical checksum
3 PASS 40bc6c2762d27692e7947b6e41b1446c890e833c76728ba0fe640916a2deec96
Fixture version gt-core-b1.1

Evidence: gt-3x-logical-repro-20260831T0836Z.json

Live DB repro (scola_golden)

Command: odoo-bin shell -c config/odoo-golden.conf -d scola_golden --no-http < scripts/golden/live_seed_verify.py

Cycles DB logical checksum Superadmin actors Result
1 c143c9df…93861a 0 PASS
2 c143c9df…93861a 0 PASS
3 c143c9df…93861a 0 PASS
  • Logical checksum stable across cycles: 40bc6c2762d27692e7947b6e41b1446c890e833c76728ba0fe640916a2deec96
  • Installed modules per cycle: 80
  • Caveat: company unlink during reset logs FK warnings (scola_student_pickup_queue → legacy company id 22); cycles still report ok: true and identical checksums. Track as hygiene follow-up, not T0 exit blocker by itself.

Evidence: gt-3x-live-seed-cycles-20260831T0839Z.json

FE qa-reset / qa-seed (scola_test)

Step Result Notes
make qa-reset PASS Restored from baseline dump
make qa-seed FAIL ModuleNotFoundError: PyPDF2 in odoo-bin (venv/deps gap)

GT 3× for release evidence uses golden scripts above, not scola_test seed path.


Topology / entitlement truth (T0-U06)

Dependency graph

Command: python3 scripts/modular/dep_graph_check.py

Check Result
scola_core dependency count PASS (8/8)
Circular dependencies PASS
Banned dependencies PASS
Manifest quality PASS
Overall ALL CHECKS PASS

Topology unit tests

Command: python3 scola_core/tests/test_modular_topology_unit.py

Result Detail
43/45 PASS, 2 FAIL Stale expected manifest versions only (scola_account 17.0.6.0.5 vs expected 17.0.6.0.3; scola_counseling 17.0.1.0.4 vs 17.0.1.0.3)
Engineering interpretation Topology structure intact; test assertions need refresh @ tip — not a fresh-DB STAB-024 closure

Capability parity spot-check (T0-U03)

Command: npm run check:capability-diff from scola-fe-v2 @ 15ff491a

Metric Value
Registry keys 378
Referenced keys 344
Removed keys 0
Result PASS — all referenced capabilities exist in registry

Cross-domain decision drafts (unsigned)

Decision Artifact Status
DEC-004 maker-checker T0-DEC-004-maker-checker-domain-matrix.md APPROVED bounded (prompt)
DEC-008 master data Referenced per domain in DEC-004 matrix PENDING_OWNER
DEC-009 sensitive fields Referenced per domain in DEC-004 matrix PENDING_OWNER
DEC-010 notifications Referenced per domain in DEC-004 matrix PENDING_OWNER

Items requiring human product owner (cannot automate)

  1. T0-U01 — Final SKU/status/owner/jenjang for all 15 packages + W00–W20 pilot/remove treatment.
  2. T0-U03 / QG-03 — Sign atomic capability taxonomy and four-part authorization predicate.
  3. T0-U04 / QG-04 — Accept Golden Tenant spec, profile fixtures (DEC-013), and evidence schema.
  4. T0-U05 / QG-14 — Approve per-package E2E suite boundaries (Core vs optional selectors).
  5. T0-U06 — Approve install/entitlement topology; close STAB-024/028 with fresh-DB evidence.
  6. T0-U07 / DEC-014 — Formal owner sign-off in DEC register (doc is FROZEN, sign blank).
  7. DEC-004 — Per-domain maker-checker / SoD matrices (Fees, Admissions, Finance, Payroll, BOS, Library, Report, Opname).
  8. DEC-008 / DEC-009 / DEC-010 — Domain-specific master-data, sensitive-field, and notification policies tied to optional waves W07/W09/W12/W13/W14/W19/W20.

Recommendation — Phase 2 start criteria

Start Fase 2 (Tranche 1 — navigation) when all of the following are true:

# Criterion Current
1 T0-U01 product catalog signed (QG-01) OPEN
2 T0-U02/U03 role-capability contracts signed PARTIAL
3 GT 3× repro evidence bound to exact FE/BE tip DONE @ 15ff491a/90bf62d
4 DEC-014 signed + credential surfaces closed FROZEN doc only
5 DEC-004 drafts reviewed — no domain blocking T1 nav work Draft ready; owner review pending
6 Topology dep_graph PASS @ tip DONE

Suggested path: Product owners may parallel-review DEC-004 drafts while engineering begins T1-U01/U02 (canonical shells/menus) that do not invent domain SoD — provided T0-U01 classifies unsupported surfaces as hide/contain. Do not start optional wave certification (Fase 4+) until DEC-004 domain sign-off for that wave.