Skip to main content
This page is the single source of truth for current engine state. Every number imports STATUS from /snippets/_status-snapshot.mdx, which is auto-generated by scripts/mintlify-snapshot.sh from the canonical scripts/refresh-status.sh. Drift between docs and engine state fails hygiene vector 23.Last updated: · HEAD {STATUS.head} · branch {STATUS.branch}.

At a glance

Admitted

/ crates past 12 gates

Library tests

passing · clippy warnings

Hygiene

/ vectors green · RED

ADRs

total · Accepted · Proposed

Providers

LLM providers in the catalog

Capability rules

rules in model-capabilities.toml

Canonical block

The engine’s refresh-status.sh emits this block; every status doc quotes it verbatim (MEMORY.md, CLAUDE.md, ROADMAP.md, this page).
fieldvalue
branch{STATUS.branch}
HEAD{STATUS.head}
workspace versionv
crates (workspace)
crates (admitted) /
crates (WIP) —
library tests passed, 0 failed
clippy warnings
ADRs ( Accepted + Proposed)
hygiene vectors ( green / yellow / red)
providers
capability rules

How to refresh

git clone https://github.com/supernovae-st/nika.git
cd nika
bash scripts/refresh-status.sh                  # full refresh (runs cargo test + clippy)
bash scripts/refresh-status.sh --quick          # skip cargo
bash scripts/mintlify-snapshot.sh --quick       # regenerate _status-snapshot.mdx

Drift protection

Hygiene vector 23 (check-status-claims-sync.sh) greps status docs for stale numbers. A PR that updates tests without refreshing the snapshot fails CI.

What’s admitted today

The generated snapshot above is the source of truth: / Diamond crates are admitted, with WIP . The admitted set spans the foundation crates, kernel traits, local/effect crates, providers, all four verbs, runtime, LSP, MCP, and CLI surfaces needed for the first public release candidate.

What’s locked (decisions the project won’t revisit)

  • crate architecture — confirmed by POST_AUDIT_REVISIONS 2026-04-14; reached additively across 1.x minors.
  • Real semver toward 1.0 — 0.90.0 is the first public release-candidate; 1.0 ships when release gates are green. Quality over speed.
  • Layer discipline — L0 zero I/O, L0.5 traits only, strict downward deps, cargo-deny enforced. See Layers.
  • 12 gates per crate — no exceptions. See Admission.
  • Zero .unwrap() / .expect( in src/ — ? propagation; workspace.lints.clippy.unwrap_used = "deny".
  • Not an extraction — every crate written fresh, legacy as reference only.
  • TDD with mutation ≥ 90% — RED before GREEN; cargo mutants -p <crate> gates admission.
  • #[non_exhaustive] on every public type — see Forward-compat invariants.

What’s next

The remaining Diamond target crates are additive hardening work, not prerequisites for the shipped 0.90 release-candidate surface. See the roadmap for the exact current sequence.
The user-facing front door is already installable. The 1.0 work is about proving the release checklist, docs, editor setup, and shadow-zone gates stay true end-to-end.
Separate count from the Diamond crates. 1 L2 orchestrator (nika-connectome) + 10 L1 satellites (hnsw, bm25, rrf, rerank, fsrs, rdfs-reasoner, temporal, graph-algos, autodesc). Plugs into MemoryStore / EmbeddingProvider trait reservations in nika-kernel — no breaking changes. Design tracked via ADR-004 + ADRs 029-032.

What’s NOT in scope

Explicitly removed or deferred by POST_AUDIT_REVISIONS 2026-04-14:
WhatWhyStatus
nika-sdk0 consumers, speculativeDeleted
nika-napi / nika-pyW1 speculative, rebuild Act 3 if neededDeferred
nika-tuiW1 speculativeDeferred to post-1.0
nika-macrosNo proc macros in L0 (Q1 locked)Never a crate
nika-lsp-coreMerged into nika-lspModule, not crate
nika-policy / nika-cacheModules in nika-runtimeNot crates
nika-storageModule in nika-daemonNot a crate

See also

Constellation

Visual map of admitted / WIP / planned crates by layer.

Admission

The 12 gates every crate passes before joining.

Error codes

NIKA-XXX code reference per crate range.

CHANGELOG

Every crate admission with verified numbers.

The Nika ecosystem