nika serve, nika mcp,
nika lsp and the CLI. The published TypeScript SDK is
@supernovae-st/nika — a separate repository from any planned Rust
nika-sdk crate on the graph below.
Nika’s engine grows additively across 1.x minors, organized across six
layers. Today crates are admitted and
are WIP
(), against a
projected horizon of crates (hard cap
, per ADR-037). The horizon is a projection, never a gate:
crates are admitted when they pass the 12 gates, not to reach a number.
The remaining crates are future 1.x expansion, not required for the first-run
CLI/LSP/MCP path. Nodes marked 🧭 on the graph are crate-layout
reservations; do not read them as “this command has not shipped.”
Full dependency graph
✅ admitted (12 gates green) · 🟡 WIP · 🧭 planned. Colors by state: green admitted, amber WIP, slate planned, purple binary root. Arrows read “depends on”: all point downward.Layer breakdown
Memory subsystem (the Connectome): separate count
The memory subsystem is 11 crates — 1 L2 orchestrator + 10 L1 satellites — and is not counted in the crate horizon. It lands whole before 1.0 (the documented roadmap · a declared pre-condition of the launch), via theMemoryStore + EmbeddingProvider
trait reservations already in nika-kernel.
L2 orchestrator
L2 orchestrator
nika-connectome ties the 10 satellites together behind the MemoryStore
trait. Exposes unified put / query / forget / recall API.L1 satellites (10)
L1 satellites (10)
nika-hnsw, approximate nearest neighbor (HNSW index)nika-bm25, sparse full-text rankingnika-rrf, reciprocal-rank fusion (hybrid search)nika-rerank, local reranking for precisionnika-fsrs, Free Spaced Repetition Scheduler (memory decay)nika-rdfs-reasoner, RDFS inference for knowledge triplesnika-temporal, time-aware recency + decaynika-graph-algos, graph traversal (shortest-path, community)nika-autodesc-minimal, provenance-attached auto-descriptionnika-autodesc-full, schema-evolving auto-description
Admission queue (historical 0.8x)
This order records how the Diamond rewrite admitted crates. It is not a current product roadmap —nika-schema, the four verbs, nika-cli,
nika-mcp, nika-lsp and the nika binary already ship. Keep it as
the original sequence (Q5, rev.2):
1
Round 3: nika-catalog-codegen
Extract TOML → Rust codegen to its own L0 crate. Independent of other
crates; unblocks faster iteration on catalog data.
2
Round 4: nika-schema
Complete parser + DAG + ariadne diagnostics. Unblocks verb crates
(they need to parse
.nika step shapes).3
Round 5: nika-event + nika-transform
Event envelope + 65 transforms. Can run in parallel.
4
Round 6: nika-binding + nika-pck-manifest
Template engine + package manifest. Binding depends on transform.
5
Rounds 7-10: verbs
One verb per round: infer → exec → invoke → agent (fetch is the
nika:fetch builtin under invoke, not a verb crate).6
Rounds 11-15: effects + runtime
L1 effect crates (fs, http, process, keys, provider-*) and L3 runtime.
7
Rounds 16+: interfaces + binary
L4 cli / serve / mcp / lsp / sdk and the L5
nika binary.No hard timeline per admission round. Real semver toward 1.0: quality
over speed. Each admission = 1 atomic commit, on the tagged 0.9x train
(
1.0.0-rc.N when the release-candidate window opens).See also
Live state
HEAD, tests, hygiene: the drift-proof snapshot.
Layer registry
Six layers, mechanical sort test, security axes.
12-gate admission
How a crate earns a seat at the workspace.
L0 foundation decisions
Q1-Q13 decisions that shaped today’s L0 layout.