Kannaka Library
Kannaka Library / kannaka-apps / kannaka-apps
kannaka-labs/kannaka-apps README.md · 2026-09-08 · source ↗ · edit ↗

kannaka-apps

The KannakaHDL app store: declarative applications whose blueprint is a kannaka-hdl growth program, resolved against live substrate (the running HRM, the crystal registry, registered composites) and judged by expect gates. The imperative part stays in one thin host: runtime/khdl-app.mjs.

An app is a directory under apps/ with an app.toml manifest and one or more .khdl programs. Cloning this repo installs every app; the store index (store/index.json) is the machine-readable storefront. Design: ADR-0001.

Quickstart

Requires kannaka-hdl and kannaka on PATH (or KANNAKA_HDL_BIN / KANNAKA_BIN), plus Node ≥ 20.11.

node runtime/khdl-app.mjs list
node runtime/khdl-app.mjs run apps/preflight
node runtime/khdl-app.mjs run apps/provisioner --dry-run

Apps

appkindwhat it does
preflightgateMemory integrity gate — the fleet-proven anchor set; run before any one-way HRM operation
provisionerprovisionGenesis: seed a node's required memory architecture (dark anchors only), then prove it by gate
research-schedulerscheduleDemand side of the §14 loop: rank unresolved capability demand, record + announce crystal work orders, attribute resolutions (ADR-0002)
crystal-workerworkSupply side: consume the order book with bounded kannaka-crystal evolve shifts; fulfil orders when the registry gains a qualifying primitive

Why this shape

  • Resolution is installation: --unresolved strict refuses to bless a node whose substrate can't support the app.
  • Emitters are the execution surface: memory-plan-v1 lowers a plan to executable kannaka commands; the runner executes only what is missing.
  • Gates are the contract: an app's exit code is a checked claim about live memory, with pinned recall semantics so the verdict never depends on who ran it last.

Apps stay in this monorepo until they need their own release cadence or compiled code, then graduate to their own repo and remain listed in the index as external entries.

License

Space Child License v1.0