Specification
Names the stable conceptual contract and its version.
KA:MO1Architecture / Technical preview
Kalo separates specifications from their representations and the portable plugins that compile between them. Pipelines make the graph runnable.
← Back to the overviewThe model
Each layer has an identity and a narrow job. That is what makes the system extensible without making every part know about every other part.
Names the stable conceptual contract and its version.
KA:MO1Defines a concrete representation of that contract.
KA:MO1:YAML1Declares compatible inputs and outputs, then performs one transformation.
plugin.wasmConnects a format to local files, a Git ref, or another declared boundary.
local / gitOrders plugins into stages and gives the workflow a stable name.
compileComposition
Stages sequence the work. Steps invoke versioned plugins. Stores declare where typed inputs come from and where typed outputs go.
KA:MO1:YAML1Plugin contract
A plugin configuration connects named inputs and one output to explicit formats and stores. The plugin runs at the WASM boundary; the pipeline owns orchestration.
plugins:
"@kalo-build/plugin-morphe-go-struct":
version: "v1.0.0"
inputs:
schema:
format: "KA:MO1:YAML1"
store: "KA_MO_YAML"
output:
format: "KA:MO1:GO1"
store: "KA_MO_GO"Resolution + execution
kalo install resolves declared plugins and caches the exact WASM artifacts.
kalo.lock records plugin versions, cached locations, and resolved SHA-256 hashes.
Execution verifies plugin bytes against the locked hash and fails closed on a mismatch.
Optional flags support offline, network-denied, deterministic, read-only, time-bounded, and memory-bounded runs.
Deterministic execution is an explicit mode, and reproducibility still depends on the behavior of each plugin.
Extension model
New specifications, formats, stores, and plugins extend the graph without redefining the Kalo runtime.
Inspect the source ↗