Dual Curriculum Packages: JSON Runtime and Curriculum Ontology
Generated artifact. Do not edit manually.
Generated by:
scripts/build_compendia.pyRegenerate with:python3 scripts/build_compendia.py --compendium skill-graph-architecture --web-and-texSource of truth:docs/concept/skill-graph/architecture-source/
Language / Sprache: English (EN) · Deutsch (DE) | PDF: English PDF · Deutsches PDF
Compendium: §1 General Goal System · §2 Node Types · §3 View Projection · §4 Source & Resource Links · §5 Content Integration · §6 Source Rationales · §7 Goal Visualizations · §8 Learning-Goal Book · §9 Gymnasium Rollout · §10 MEM/FWU Plan · §11 Dual Package Releases
11. Dual Curriculum Packages: JSON Runtime and Curriculum Ontology
Every versioned curriculum release publishes one exact subject-matter state in two semantically equivalent representations — without dual authoring and without requiring a SkillPilot deployment to read the curricula/ source tree (current checkpoint: Dual Package Implementation Status; operational contracts: Package Readiness, Release-Model Conformance, Dual Release Contracts, and Package Provisioning).
11.1. Seven Binding Architectural Decisions and Release Artifacts
Authoring sources -> Release compiler -> Normalized release model
-> JSON runtime ZIP (<id>-<ver>.json.zip)
-> Core-first ontology exporter -> FWU/OWL ZIP (<id>-<ver>.fwu-owl.zip)
-> Isolated reverse compiler (bubblewrap, no source JSON)
-> Reconstructed JSON model -> Semantic equivalence gate
- No dual authoring: Both ZIPs derive from one source state; fixes happen only in authoring sources.
- JSON ZIP is the normative runtime contract (
full-standalone-v1): Containsmetadata/manifest.json(explicit artifact roles, offlineschemas/catalog.json),data/runtime/{catalog.json,dependency-closure.json,migration-aliases.json}, compiledapplicability,canonical/,views/,cards/,resources/,mappings/,sources/,metadata/quality/,assets/, andlicenses/, operable with zerocurricula/orapp/publicfallbacks and strict ZIP32 bounds (3.5 GBarchive,60,000entries,64 MiBJSON/image,128JSON depth,100:1/25:1compression ratios). - Ontology ZIP derives strictly from the finished JSON ZIP: Contains
rdf/{declarations,runtime,landscape,views,mappings,sources,cards,assets,bundle}.nt,skillpilot-curriculum-profile.ttl,catalog-v001.xml, pinnedontology/{lehrplan-core.owl,shapes.ttl}, and identical binary sidecars (validated for RDF syntax, SHACL, OWL 2 DL via ROBOT, and HermiT consistency). - Semantic equivalence & shared
contentDigest: Governed by a closed 454-rule field-semantics registry (323runtime +130publication normal forms +1legacy entry;scalar,ordered-list,set,map,binary-reference,generated-non-semantic; mapped viafwu-core,skillpilot-profile, boundedregistered-canonical-json-literal, orexcluded-generated). Unregistered fields fail the build; placement identities usegoalId@unitId@index. - Core-first, not Core-only: Declarative subject profiles map required
semanticKindvalues (curricularAtomic,curricularArea,programStructure,practiceAssessment,memory,orientation,runtimeSupport) without title guessing. - Zero hidden JSON carrier: Isolated netless
bubblewrap --clearenvreverse compilation (DPK-008d) proves lossless reconstruction from RDF + sidecars alone. - External release index & signing projection:
<id>-<ver>.release.json,.equivalence.json,.provenance.json,.SHA256SUMS, and.release.json.sig(strippingauthentication.releaseIndexSignaturebefore canonical hash binding) plus a signed release catalog (staging\(\to\)stable, never unpinnedlatest).
11.2. Generic Runtime Decoupling, Versioning, and Phases 0–6
Four generic components decouple SkillPilot from repository paths: CurriculumPackageRepository (read-only lock/CAS reader), JsonCurriculumPackageLoader (schema/hash-verified domain builder), CurriculumResourceResolver (versioned (packageId, deckId, locale) and (packageId, resourceId) hrefs), and CurriculumActivationService (quarantine extraction, dry-run validation, atomic CAS lock switch, rollback). Version axes stay orthogonal (packageVersion, curriculumEdition, packageFormatVersion, runtimeContractVersion, supportedSkillpilotSoftware currently >=0.1.0 <1.0.0 for consumer 0.1.0, ontologyProfileVersion, and pinned FWU Core commit/SHA), while migration-aliases.json distinguishes renamed (auto-transfers mastery) from replacedBy, splitInto, mergedInto, and removed. Licensing separates licenseExpression, provenanceClass, and redistributionStatus (review-required keeps staging candidates not-ready-incomplete).
| Phase | Scope & Recorded Milestone Status | | –- | –- | | Phase 0 | Technically complete (DPK-004 / DPK-007a): Frozen Mathematics 0.1.0-conformance.3 (914 ZIP entries, 757 images, 454-rule registry; intentionally not-ready-incomplete pending human image/rights/source-text gates). | | Phase 1 | Technically complete (DPK-005b–DPK-007): Hermetic bubblewrap + Corretto + Playwright consumer verified (1,079 goals, 33,382 source mappings, 88 views, 12 decks, 757 images, zero repository-poison reads under strace). | | Phase 2 | Technically complete (DPK-008a–DPK-008d): Reproducible FWU-OWL bundle (824,452 triples, SHACL/ROBOT/HermiT green) and isolated byte-identical JSON ZIP reconstruction (911 entries, 111 logical artifacts). | | Phase 3 | Next planned (DPK-009, not_started): Unified downstream equivalence oracle, dual hermetic consumer smoke tests, isolated JSON -> FWU pair reproducibility, and signed external release.json. | | Phases 4–6 | Multi-subject generalization (Math \(\to\) Physics embedded closure \(\to\) languages \(\to\) Chemistry) \(\to\) multi-package production catalog/upgrades \(\to\) repository split between curriculum tooling and SkillPilot software. | {cols="18%,82%"}