You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Compiler / graph-export / runtime integration — the recipe pins the StableHLO export and the StableHLO → IREE compile step.
Summary
Today a cartridge carries its weights and compiled artifacts inside the package, pinned by digest. The spec says nothing about how those artifacts are produced: no download source, no conversion or quantization steps, no toolchain pin; "Developing a cartridge" is prose and OQ11 (reproducible builds) is open. That blocks publishing cartridges whose weights cannot or should not be redistributed from a source repository.
This proposal adds cartridge blueprints. A blueprint is the open part of a cartridge — API, descriptor template and a machine-readable recipe (fetch → convert → quantize → export StableHLO → compile → pack → sign → verify) with every source pinned by revision and SHA-256 and the toolchain pinned by version — and MUST NOT contain weights or compiled binaries. Materialization turns a blueprint plus a materialization profile (target, flavor, licence acceptance, declared inputs, signing key, optional source mirror) into a regular, spec-conforming cartridge whose manifest records the blueprint as provenance. The same mechanism covers private materialization: an organization builds full cartridges from a public blueprint and distributes them through its own registry (Mode C) without forking.
A design record is needed because this defines new terms, new schemas and a new relationship between source repositories and distributed packages that later cartridges, tools (atlas, hub) and adapters will rely on.
Related DARC features
First two blueprints, in SKaiNET-developers/skainet-cartridge-blueprints (to be published): asr-moonshine-v2-streaming, nlu-functiongemma-270m.
Proposal document:
docs/modules/ROOT/pages/skeep/007-cartridge-blueprints.adoc()Status: Draft
Branch:
feature/skeep-007-cartridge-blueprintsTrigger
Summary
Today a cartridge carries its weights and compiled artifacts inside the package, pinned by digest. The spec says nothing about how those artifacts are produced: no download source, no conversion or quantization steps, no toolchain pin; "Developing a cartridge" is prose and OQ11 (reproducible builds) is open. That blocks publishing cartridges whose weights cannot or should not be redistributed from a source repository.
This proposal adds cartridge blueprints. A blueprint is the open part of a cartridge — API, descriptor template and a machine-readable recipe (fetch → convert → quantize → export StableHLO → compile → pack → sign → verify) with every source pinned by revision and SHA-256 and the toolchain pinned by version — and MUST NOT contain weights or compiled binaries. Materialization turns a blueprint plus a materialization profile (target, flavor, licence acceptance, declared inputs, signing key, optional source mirror) into a regular, spec-conforming cartridge whose manifest records the blueprint as provenance. The same mechanism covers private materialization: an organization builds full cartridges from a public blueprint and distributes them through its own registry (Mode C) without forking.
A design record is needed because this defines new terms, new schemas and a new relationship between source repositories and distributed packages that later cartridges, tools (atlas, hub) and adapters will rely on.
Related DARC features
SKaiNET-developers/skainet-cartridge-blueprints(to be published):asr-moonshine-v2-streaming,nlu-functiongemma-270m.sk.ainet.cartridge.blueprint(materializer reference implementation).pack_dir), distribution Modes B and C.Sub-issues
blueprints.adocnormative chapter (terms, MUST/SHOULD, private materialization)cartridge-blueprint.schema.json,materialization-profile.schema.json, worked exampleprovenance.blueprint,provenance.materialization;verify_manifest.pyexampleindex.adoccross-references, changelog, nav, roadmap, READMEStatus upkeep
AcceptedStatus:toImplemented