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
| Layer | Admitted | WIP | Planned | Notes |
|---|---|---|---|---|
| L0 | nika-types, nika-error, nika-catalog, nika-catalog-codegen, nika-schema, nika-event | β | binding, transform, pck-manifest | Pure sync, zero I/O. |
| L0.5 | nika-kernel (facade), nika-kernel-core, nika-kernel-ai, nika-kernel-runtime, nika-kernel-plugin, nika-kernel-mock | β | β | Trait definitions (4-way split + facade hub) + mock companion. Async OK |
| L1 | nika-fs, nika-http, nika-exec-runner, nika-clock, nika-providers | β | git, keys-*, pck-registry, pck-store, memory-satellites (v0.95) | Effect impls. Each declares capability axes |
| L2 | nika-verb-infer, nika-verb-exec, nika-verb-invoke, nika-verb-agent, nika-builtin | β | pck, memory (v0.95), observability, builtin- | Verbs + domain services (fetch is the nika:fetch builtin, not a verb crate) |
| L3 | nika-runtime | β | shield, wasm-host (v0.100), sandbox (v0.100) | Runtime + policy |
| L4 | nika-catalog-verify, nika-cli, nika-mcp, nika-lsp | β | serve, sdk | Interfaces, libraries |
| L5 | nika | β | β | The public binary surface |
Memory subsystem (the 2.0 Connectome era) β separate count
The 8-crate memory subsystem (plus 1 orchestrator at L2) is not counted in the target. It lands in the 2.0 Connectome era, after the 42-crate foundation, 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 (8)
L1 satellites (8)
nika-hnswβ approximate nearest neighbor (HNSW index)nika-bm25β sparse full-text rankingnika-rrfβ reciprocal-rank fusion (hybrid search)nika-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β auto-description generation (embed-and-label)
Admission queue
Current admission order (per Q5 decision, rev.2):Round 3 β nika-catalog-codegen
Extract TOML β Rust codegen to its own L0 crate. Independent of other
crates; unblocks faster iteration on catalog data.
Round 4 β nika-schema
Complete parser + DAG + ariadne diagnostics. Unblocks verb crates
(they need to parse
.nika.yaml step shapes).Round 6 β nika-binding + nika-pck-manifest
Template engine + package manifest. Binding depends on transform.
Rounds 7-10 β verbs
One verb per round: infer β exec β invoke β agent (fetch is the
nika:fetch builtin under invoke, not a verb crate).Rounds 11-15 β effects + runtime
L1 effect crates (fs, http, process, keys, provider-*) and L3 runtime.
No hard timeline per admission round. Real semver toward 1.0: quality
over speed. Each admission = 1 atomic commit = 1 per-admission pre-release
tag (
v0.90.0-rc.N on the way to 1.0.0).See also
Live state
HEAD, tests, hygiene β 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.