{
  "document": "T0-C-package-contract",
  "run_id": "T0-C-20260809T033000Z",
  "generated_at": "2026-08-09T03:30:00Z",
  "mode": "server",
  "workspace_root": "/home/scola/odoo",
  "sources": {
    "package_catalog": "scola-fe-v2/docs/modular/plan/package-catalog.yaml",
    "product_contract": "scola-fe-v2/docs/release-readiness/01-product-contract.md",
    "product_tier": "scola-fe-v2/docs/modular/product-tier-and-feature-flags.md",
    "dependency_graph": "scola-fe-v2/docs/release-readiness/execution/T0-C-dependency-graph.md",
    "t0b_certification": {
      "run_id": "T0-B2.1-20260809T023500Z",
      "fe": "ad0c2d8e57ace21914340d302725970d596c75e5",
      "be": "d1ab29853bb43128e01eefddc5cad397969e53c4"
    },
    "preflight_tips": {
      "fe": "8ce8f44ea9a2515bddcf47fa88ddd2c792bf5db4",
      "be": "23a91474cacbe84750b6a0ccb9075b497b541297"
    }
  },
  "status_vocabulary": [
    "CORE",
    "OPTIONAL",
    "PILOT",
    "INTERNAL_PLATFORM",
    "LEGACY",
    "INCOMPLETE",
    "DECISION_REQUIRED"
  ],
  "packages": [
    {
      "package_code": "SC-CORE",
      "name": "Scola Core",
      "status": "CORE",
      "installer": "scola_bundle_core",
      "owned_addons": [
        "scola_core",
        "scola_parent",
        "scola_portal",
        "scola_news",
        "scola_lesson_hours",
        "scola_timetable",
        "scola_attendance"
      ],
      "prerequisites": [],
      "depends_on_packages": [],
      "entitlement_keys": [],
      "suite_name": "test:e2e:smoke:core",
      "independent_install_expectation": true,
      "topology_status": "INSTALL_TOPOLOGY_CERTIFIED",
      "business_workflow_status": "BUSINESS_WORKFLOW_NOT_YET_CERTIFIED",
      "notes": "SIS baseline. Peer commercial modules must not appear in fresh Core closure."
    },
    {
      "package_code": "SC-ADM",
      "name": "Admissions / SPMB",
      "status": "OPTIONAL",
      "installer": "scola_bundle_admission",
      "owned_addons": [
        "scola_admission"
      ],
      "prerequisites": [
        "SC-CORE"
      ],
      "depends_on_packages": [
        "SC-CORE"
      ],
      "entitlement_keys": [
        "scola_admission"
      ],
      "suite_name": "test:e2e:package:adm",
      "independent_install_expectation": true,
      "topology_status": "TOPOLOGY_CERTIFIED_INDEPENDENT",
      "business_workflow_status": "BUSINESS_WORKFLOW_NOT_YET_CERTIFIED",
      "notes": "Fresh DB scola_t0c_adm: admission installed; scola_fees NOT installed. Fees integration via auto_install bridge only when SC-FEES coexists."
    },
    {
      "package_code": "SC-FEES",
      "name": "Student Billing",
      "status": "OPTIONAL",
      "installer": "scola_bundle_fees",
      "owned_addons": [
        "scola_fees"
      ],
      "prerequisites": [
        "SC-CORE"
      ],
      "depends_on_packages": [
        "SC-CORE"
      ],
      "entitlement_keys": [
        "scola_fees"
      ],
      "suite_name": "test:e2e:package:fees",
      "independent_install_expectation": true,
      "topology_status": "TOPOLOGY_CERTIFIED_INDEPENDENT",
      "business_workflow_status": "BUSINESS_WORKFLOW_NOT_YET_CERTIFIED",
      "notes": "Parent/portal fees bridges auto-install when fees + parent/portal present. Admission fees bridge only with SC-ADM+SC-FEES."
    },
    {
      "package_code": "SC-REPORT",
      "name": "Report Card / E-Rapor",
      "status": "OPTIONAL",
      "installer": "scola_bundle_report_card",
      "owned_addons": [
        "scola_report_card"
      ],
      "prerequisites": [
        "SC-CORE"
      ],
      "depends_on_packages": [
        "SC-CORE"
      ],
      "entitlement_keys": [
        "scola_report_card"
      ],
      "suite_name": "test:e2e:package:report",
      "independent_install_expectation": true,
      "topology_status": "TOPOLOGY_BLOCKED_ENGINEERING",
      "business_workflow_status": "BUSINESS_WORKFLOW_NOT_YET_CERTIFIED",
      "notes": "Hard-depends scola_student_activity (SC-STUDENT) and scola_assessment_bridge. Composite vs split requires DECISION_REQUIRED."
    },
    {
      "package_code": "SC-LEARN",
      "name": "Learning Suite",
      "status": "OPTIONAL",
      "installer": "scola_bundle_learning",
      "owned_addons": [
        "scola_lms"
      ],
      "prerequisites": [
        "SC-CORE"
      ],
      "depends_on_packages": [
        "SC-CORE"
      ],
      "entitlement_keys": [
        "scola_lms"
      ],
      "suite_name": "test:e2e:package:learn",
      "independent_install_expectation": true,
      "topology_status": "TOPOLOGY_BLOCKED_ENGINEERING",
      "business_workflow_status": "BUSINESS_WORKFLOW_NOT_YET_CERTIFIED",
      "notes": "Hard-depends scola_report_card (SC-REPORT)."
    },
    {
      "package_code": "SC-ASSESS",
      "name": "Assessment Suite",
      "status": "OPTIONAL",
      "installer": "scola_bundle_assessment",
      "owned_addons": [
        "scola_cbt"
      ],
      "prerequisites": [
        "SC-CORE"
      ],
      "depends_on_packages": [
        "SC-CORE"
      ],
      "entitlement_keys": [
        "scola_cbt"
      ],
      "suite_name": "test:e2e:package:assess",
      "independent_install_expectation": true,
      "topology_status": "TOPOLOGY_BLOCKED_ENGINEERING",
      "business_workflow_status": "BUSINESS_WORKFLOW_NOT_YET_CERTIFIED",
      "notes": "Hard-depends scola_report_card (SC-REPORT)."
    },
    {
      "package_code": "SC-LIB",
      "name": "Library",
      "status": "OPTIONAL",
      "installer": "scola_bundle_library",
      "owned_addons": [
        "scola_library"
      ],
      "prerequisites": [
        "SC-CORE"
      ],
      "depends_on_packages": [
        "SC-CORE"
      ],
      "entitlement_keys": [
        "scola_library"
      ],
      "suite_name": "test:e2e:package:lib",
      "independent_install_expectation": true,
      "topology_status": "TOPOLOGY_CERTIFIED_INDEPENDENT",
      "business_workflow_status": "BUSINESS_WORKFLOW_NOT_YET_CERTIFIED",
      "notes": "Static closure shows zero peer-SKU violations. Fresh-DB pin pending."
    },
    {
      "package_code": "SC-FIN",
      "name": "Finance Plus",
      "status": "OPTIONAL",
      "installer": "scola_bundle_finance",
      "owned_addons": [
        "scola_account"
      ],
      "prerequisites": [
        "SC-CORE"
      ],
      "depends_on_packages": [
        "SC-CORE"
      ],
      "entitlement_keys": [
        "scola_account"
      ],
      "suite_name": "test:e2e:package:fin",
      "independent_install_expectation": true,
      "topology_status": "TOPOLOGY_CERTIFIED_INDEPENDENT",
      "business_workflow_status": "BUSINESS_WORKFLOW_NOT_YET_CERTIFIED",
      "notes": "Static closure clean. BOS is separate pilot SKU."
    },
    {
      "package_code": "SC-OPS",
      "name": "Operations and Inventory",
      "status": "OPTIONAL",
      "installer": "scola_bundle_operations",
      "owned_addons": [
        "scola_inventory"
      ],
      "prerequisites": [
        "SC-CORE"
      ],
      "depends_on_packages": [
        "SC-CORE"
      ],
      "entitlement_keys": [
        "scola_inventory"
      ],
      "suite_name": "test:e2e:package:ops",
      "independent_install_expectation": true,
      "topology_status": "TOPOLOGY_CERTIFIED_INDEPENDENT",
      "business_workflow_status": "BUSINESS_WORKFLOW_NOT_YET_CERTIFIED",
      "notes": "Static closure clean. Valuation bridge auto-installs only with SC-FIN co-presence."
    },
    {
      "package_code": "SC-STUDENT",
      "name": "Student Services",
      "status": "OPTIONAL",
      "installer": "scola_bundle_student_services",
      "owned_addons": [
        "scola_counseling",
        "scola_student_activity",
        "scola_rules"
      ],
      "prerequisites": [
        "SC-CORE"
      ],
      "depends_on_packages": [
        "SC-CORE"
      ],
      "entitlement_keys": [
        "scola_student_services"
      ],
      "suite_name": "test:e2e:package:student",
      "independent_install_expectation": true,
      "topology_status": "TOPOLOGY_CERTIFIED_INDEPENDENT",
      "business_workflow_status": "BUSINESS_WORKFLOW_NOT_YET_CERTIFIED",
      "notes": "Static closure clean. Still pulled as peer by SC-REPORT until report_card deps are split."
    },
    {
      "package_code": "SC-PEOPLE",
      "name": "People and Payroll",
      "status": "OPTIONAL",
      "installer": "scola_bundle_people",
      "owned_addons": [
        "scola_hr",
        "scola_payroll"
      ],
      "prerequisites": [
        "SC-CORE"
      ],
      "depends_on_packages": [
        "SC-CORE"
      ],
      "entitlement_keys": [
        "scola_hr",
        "scola_payroll",
        "scola_people"
      ],
      "suite_name": "test:e2e:package:people",
      "independent_install_expectation": true,
      "topology_status": "TOPOLOGY_CERTIFIED_INDEPENDENT",
      "business_workflow_status": "BUSINESS_WORKFLOW_NOT_YET_CERTIFIED",
      "notes": "Core no longer pulls scola_hr after T0-C attendance dependency removal."
    },
    {
      "package_code": "SC-ATTEND+",
      "name": "Smart Attendance",
      "status": "DECISION_REQUIRED",
      "installer": "scola_bundle_smart_attendance",
      "owned_addons": [
        "scola_smart_attendance",
        "scola_hr_attendance"
      ],
      "prerequisites": [
        "SC-CORE"
      ],
      "depends_on_packages": [
        "SC-CORE"
      ],
      "entitlement_keys": [
        "scola_smart_attendance",
        "scola_hr_attendance",
        "scola_rfid",
        "scola_face_recognition"
      ],
      "suite_name": "test:e2e:package:attend_plus",
      "independent_install_expectation": false,
      "topology_status": "TOPOLOGY_BLOCKED_PRODUCT_DECISION",
      "business_workflow_status": "BUSINESS_WORKFLOW_NOT_YET_CERTIFIED",
      "notes": "Commercial SKU spans student smart attendance and employee attendance, but installers remain split (scola_bundle_smart_attendance vs scola_bundle_hr_attendance)."
    },
    {
      "package_code": "SC-FOUND",
      "name": "Foundation Analytics",
      "status": "DECISION_REQUIRED",
      "installer": "scola_bundle_enterprise",
      "owned_addons": [
        "scola_foundation_analytics"
      ],
      "prerequisites": [
        "SC-CORE",
        "SC-FIN"
      ],
      "depends_on_packages": [
        "SC-CORE",
        "SC-FIN"
      ],
      "entitlement_keys": [
        "scola_foundation_analytics"
      ],
      "suite_name": "test:e2e:package:found",
      "independent_install_expectation": false,
      "topology_status": "TOPOLOGY_BLOCKED_PRODUCT_DECISION",
      "business_workflow_status": "BUSINESS_WORKFLOW_NOT_YET_CERTIFIED",
      "notes": "Catalogued installer is enterprise umbrella pulling many peer SKUs. Need minimal SC-FOUND installer or reclassify as umbrella only."
    },
    {
      "package_code": "SC-DAP",
      "name": "Dapodik Sync",
      "status": "PILOT",
      "installer": "scola_bundle_dapodik",
      "owned_addons": [
        "scola_dapodik_connector",
        "scola_dapodik_report_card_bridge",
        "scola_dapodik_academic_bridge",
        "scola_dapodik_attendance_bridge"
      ],
      "prerequisites": [
        "SC-CORE"
      ],
      "depends_on_packages": [
        "SC-CORE"
      ],
      "entitlement_keys": [
        "scola_dapodik"
      ],
      "suite_name": "test:e2e:package:dap",
      "independent_install_expectation": false,
      "topology_status": "TOPOLOGY_BLOCKED_PRODUCT_DECISION",
      "business_workflow_status": "BUSINESS_WORKFLOW_NOT_YET_CERTIFIED",
      "notes": "Base bundle always pulls report_card bridge \u2192 SC-REPORT. Product must approve SC-REPORT prerequisite or provide connector-only installer. Also TOPOLOGY_BLOCKED_ENGINEERING until split."
    },
    {
      "package_code": "SC-BOS",
      "name": "BOS / RKAS",
      "status": "PILOT",
      "installer": "scola_bundle_bos_rkas",
      "owned_addons": [
        "scola_bos_rkas",
        "scola_bos_rkas_procurement"
      ],
      "prerequisites": [
        "SC-FIN",
        "SC-OPS"
      ],
      "depends_on_packages": [
        "SC-FIN",
        "SC-OPS"
      ],
      "entitlement_keys": [
        "scola_bos_rkas"
      ],
      "suite_name": "test:e2e:package:bos",
      "independent_install_expectation": false,
      "topology_status": "TOPOLOGY_BLOCKED_PRODUCT_DECISION",
      "business_workflow_status": "BUSINESS_WORKFLOW_NOT_YET_CERTIFIED",
      "notes": "Bundle pulls executive/governance bridges; governance bridge installs scola_foundation_analytics (SC-FOUND). Classify bridges vs approved composite."
    },
    {
      "package_code": "INTERNAL_PLATFORM",
      "name": "Internal platform / helpers",
      "status": "INTERNAL_PLATFORM",
      "installer": null,
      "owned_addons": [
        "scola_platform_support",
        "scola_platform",
        "scola_observability",
        "scola_identity_admin",
        "scola_odoo_base",
        "scola_assessment_bridge"
      ],
      "prerequisites": [],
      "depends_on_packages": [],
      "entitlement_keys": [],
      "suite_name": null,
      "independent_install_expectation": false,
      "topology_status": "INTERNAL_ONLY",
      "business_workflow_status": "N/A",
      "notes": "Not commercial SKUs. May auto-install with Core/packages. Not school-user product surfaces."
    },
    {
      "package_code": "SC-LEADERSHIP_HUB",
      "name": "Leadership hub (auto-install with Core)",
      "status": "INTERNAL_PLATFORM",
      "installer": null,
      "owned_addons": [
        "scola_leadership_hub"
      ],
      "prerequisites": [
        "SC-CORE"
      ],
      "depends_on_packages": [],
      "entitlement_keys": [],
      "suite_name": null,
      "independent_install_expectation": false,
      "topology_status": "VALID_INTERNAL_DEPENDENCY",
      "business_workflow_status": "N/A",
      "notes": "VALID_INTERNAL_DEPENDENCY with product caveat: surface must stay entitlement+capability gated; leadership SKU still DECISION_REQUIRED commercially."
    }
  ],
  "bridges": [
    {
      "module": "scola_admission_fees_bridge",
      "parents": [
        "SC-ADM",
        "SC-FEES"
      ],
      "auto_install": true,
      "classification": "BRIDGE_REQUIRED",
      "status": "VERIFIED_FRESH_DB"
    },
    {
      "module": "scola_parent_fees_bridge",
      "parents": [
        "SC-CORE",
        "SC-FEES"
      ],
      "auto_install": true,
      "classification": "BRIDGE_REQUIRED",
      "status": "VERIFIED_WITH_ADM_FEES"
    },
    {
      "module": "scola_portal_fees_bridge",
      "parents": [
        "SC-CORE",
        "SC-FEES"
      ],
      "auto_install": true,
      "classification": "BRIDGE_REQUIRED",
      "status": "VERIFIED_WITH_ADM_FEES"
    },
    {
      "module": "scola_inventory_account_bridge",
      "parents": [
        "SC-OPS",
        "SC-FIN"
      ],
      "auto_install": true,
      "classification": "BRIDGE_REQUIRED",
      "status": "STATIC_ONLY"
    }
  ],
  "core_closure_baseline_checksum": "43115784e71c36f5ee2ee2209f17705c8405fc88da0f689ca73fb47e91fe8299",
  "exit_claim": "PARTIAL"
}
