T0-C Package Contract¶
| Metadata | Value |
|---|---|
| Mode | Server development /home/scola/odoo |
| Run ID | T0-C-20260809T033000Z |
| Machine contract | T0-C-package-contract.json |
| Suite manifests | T0-C-suite-manifests/ |
| Core closure pin | T0-C-evidence/core-closure-baseline.json |
| Docs read | development-guide, workspace-governance, package-catalog, 01/08/09/10, product-tier |
| T0-B handoff | FE ad0c2d8e… / BE d1ab298… (validator PASS); tips at preflight FE 8ce8f44… / BE 23a9147… |
| Exit claim | PARTIAL — see T0-C-result.md |
Machine-readable status vocabulary: CORE | OPTIONAL | PILOT | INTERNAL_PLATFORM | LEGACY | INCOMPLETE | DECISION_REQUIRED.
Principle (unchanged): installed module ≠ entitled SKU ≠ visible user surface.
Commercial packages¶
| Package | Status | Installer | Owned addons | Entitlement keys | Suite name | Independent install |
|---|---|---|---|---|---|---|
| SC-CORE | CORE | scola_bundle_core |
scola_core, scola_parent, scola_portal, scola_news, scola_lesson_hours, scola_timetable, scola_attendance |
(none — Core L1) | test:e2e:smoke:core |
Yes |
| SC-ADM | OPTIONAL | scola_bundle_admission |
scola_admission |
scola_admission |
test:e2e:package:adm |
Yes (verified fresh DB) |
| SC-FEES | OPTIONAL | scola_bundle_fees |
scola_fees |
scola_fees |
test:e2e:package:fees |
Yes |
| SC-REPORT | OPTIONAL | scola_bundle_report_card |
scola_report_card |
scola_report_card |
test:e2e:package:report |
Intended yes — blocked by peer deps |
| SC-LEARN | OPTIONAL | scola_bundle_learning |
scola_lms |
scola_lms |
test:e2e:package:learn |
Intended yes — blocked |
| SC-ASSESS | OPTIONAL | scola_bundle_assessment |
scola_cbt |
scola_cbt |
test:e2e:package:assess |
Intended yes — blocked |
| SC-LIB | OPTIONAL | scola_bundle_library |
scola_library |
scola_library |
test:e2e:package:lib |
Yes (static) |
| SC-FIN | OPTIONAL | scola_bundle_finance |
scola_account |
scola_account |
test:e2e:package:fin |
Yes (static) |
| SC-OPS | OPTIONAL | scola_bundle_operations |
scola_inventory |
scola_inventory |
test:e2e:package:ops |
Yes (static) |
| SC-STUDENT | OPTIONAL | scola_bundle_student_services |
scola_counseling, scola_student_activity, scola_rules |
scola_student_services |
test:e2e:package:student |
Yes (static) |
| SC-PEOPLE | OPTIONAL | scola_bundle_people |
scola_hr, scola_payroll |
scola_hr, scola_payroll (scola_people runtime family) |
test:e2e:package:people |
Yes (static) |
| SC-ATTEND+ | DECISION_REQUIRED | scola_bundle_smart_attendance (+ split scola_bundle_hr_attendance) |
scola_smart_attendance, scola_hr_attendance |
scola_smart_attendance, scola_hr_attendance |
test:e2e:package:attend_plus |
No until SKU/installer decision |
| SC-FOUND | DECISION_REQUIRED | scola_bundle_enterprise |
scola_foundation_analytics |
scola_foundation_analytics |
test:e2e:package:found |
No — umbrella installer |
| SC-DAP | PILOT | scola_bundle_dapodik |
connector + report/academic/attendance bridges | scola_dapodik |
test:e2e:package:dap |
No until report-card bridge decision |
| SC-BOS | PILOT | scola_bundle_bos_rkas |
scola_bos_rkas, scola_bos_rkas_procurement |
scola_bos_rkas |
test:e2e:package:bos |
No — FIN+OPS + bridge classification |
Prerequisites¶
| Package | Prerequisites |
|---|---|
| SC-CORE | — |
| SC-ADM, SC-FEES, SC-REPORT, SC-LEARN, SC-ASSESS, SC-LIB, SC-FIN, SC-OPS, SC-STUDENT, SC-PEOPLE, SC-ATTEND+, SC-DAP | SC-CORE |
| SC-FOUND | SC-CORE, SC-FIN |
| SC-BOS | SC-FIN, SC-OPS |
Internal platform (not commercial SKUs)¶
| Module set | Status | Role |
|---|---|---|
scola_platform_support, scola_platform, scola_observability, scola_identity_admin, scola_odoo_base, scola_assessment_bridge |
INTERNAL_PLATFORM | Helpers / control plane / assessment migration shim |
scola_leadership_hub |
INTERNAL_PLATFORM | Auto-installs with Core — VALID_INTERNAL_DEPENDENCY with product caveat: UI must remain entitlement+capability gated; commercial leadership SKU still open |
Declared bridges¶
| Bridge | Parents | Auto-install | Evidence |
|---|---|---|---|
scola_admission_fees_bridge |
SC-ADM + SC-FEES | Yes | Fresh scola_t0c_adm_fees |
scola_parent_fees_bridge |
Core parent + SC-FEES | Yes | Present with ADM+FEES |
scola_portal_fees_bridge |
Core portal + SC-FEES | Yes | Present with ADM+FEES |
scola_inventory_account_bridge |
SC-OPS + SC-FIN | Yes | Static / BOS closure |
Topology status summary (install only)¶
| Package | Install topology |
|---|---|
| SC-CORE | INSTALL_TOPOLOGY_CERTIFIED |
| SC-ADM, SC-FEES | TOPOLOGY_CERTIFIED_INDEPENDENT (fresh DB for ADM; FEES via ADM+FEES composite + static) |
| SC-LIB, SC-FIN, SC-OPS, SC-STUDENT, SC-PEOPLE | TOPOLOGY_CERTIFIED_INDEPENDENT (static closure; fresh pin pending) |
| SC-REPORT, SC-LEARN, SC-ASSESS | TOPOLOGY_BLOCKED_ENGINEERING |
| SC-DAP | TOPOLOGY_BLOCKED_PRODUCT_DECISION (also engineering until splitter) |
| SC-ATTEND+, SC-FOUND, SC-BOS | TOPOLOGY_BLOCKED_PRODUCT_DECISION |
Business workflow status for every optional/pilot package: BUSINESS_WORKFLOW_NOT_YET_CERTIFIED.
Suite selector honesty¶
Named suite names above are the contract. As of this draft:
package.jsontest:e2e:smoke:corestill selectsspmb_smoke.spec.ts(T0-U05 incomplete).- Optional
test:e2e:package:*npm scripts are not yet wired. - Suite manifests under
T0-C-suite-manifests/record intended denominators and statuses.
Core closure pin¶
Static checksum (sha256):
43115784e71c36f5ee2ee2209f17705c8405fc88da0f689ca73fb47e91fe8299
Exact scola_* set: see baseline JSON and T0-C-core-package-result.md.