ROADMAP.md
on the main branch. This page summarises the milestones;
the full roadmap lives in the repo alongside ADRs. The forward gates
themselves are machine-carried by the spec’s
timeline (conditions, never dates) — when a
gate flips, the record gains a dated, proven entry.The road so far
Why real semver toward 1.0
1.0 means we stand behind it
Quality bar stays high
Forward-compat = additive
#[non_exhaustive] on every public type + pre-planted reservations
means new features are additive. No breaking change without an
Accepted ADR. See forward-compat invariants.Public accountability
main branch. Every commit is
Co-Authored-By Nika 🦋, atomic, bisectable. The engine is the
changelog.Current state: v
crates admitted · lib tests · hygiene vectors · ADRs ( Accepted). Already live today: the four verbs (infer · exec · invoke · agent),
nika run / check / test / trace / dap, the LSP, the MCP oracle,
catalog providers, and the embedded language pack.
See live state for the authoritative snapshot.
Milestones
0.9x: the hardening train (now)
0.9x: the hardening train (now)
- The remaining L0 slices:
nika-binding(types-first slice) andnika-transform. There is no “last crate”: ADR-037 made the count a projection (, cap ), so the train ends when the gates close, not when a counter fills. - The 7 shadow zones close (the 1.0 gates):
nika serveinput trust · cross-provider structured-output parity · binding taint runtime ·for_eachper-element spotlight · L1 taint runtime · NikaError Display parity · the provider parity matrix. - The registry story: shared workflows re-proven by CI (hash +
oracle + engine cert) and a client verb to consume them
(
nika add— ADR-106, Proposed). - Design-partner hardening:
1.0.0-rc.Npre-releases once the gates are green, exercised on real workloads before the lock.
The Connectome: sovereign memory, whole, before 1.0
The Connectome: sovereign memory, whole, before 1.0
nika-connectomeL2 orchestrator + the L1 memory satellites (nika-hnsw,nika-bm25,nika-rrf,nika-fsrs,nika-rdfs-reasoner,nika-temporal,nika-graph-algos,nika-autodesc-minimal,nika-autodesc-full), admitted through the same 12 gates as every crate.- Recall and ingest as builtin tools under
invoke:— never a new verb (the 4 verbs are absolute). - The zero-LLM write path: memory is written by deterministic code, never by a model’s output.
- A sovereign, exportable store on open standards (RDF/SPARQL · ADR-004): yours to query, export, delete.
- Store digests pinned in receipts, so recall is replayable.
Built for a hundred years: the standard's machinery, before 1.0
Built for a hundred years: the standard's machinery, before 1.0
- The NEP door exercised end to end: proposals ratified through it, laws and fixtures landing together.
- The conformance suite in tiers (T0/T1/T2), any engine proving itself with the public runner.
- Every release archived beyond us: Software Heritage, a citable DOI, the SWHID cited in the spec.
- The compatibility promise, published: what a workflow written today is guaranteed tomorrow.
- The deterministic checker, proven in CI: same input, same diagnostics, same order.
- Succession written down: the project survives its maintainer.
1.0.0: Public API lock
1.0.0: Public API lock
nika: v1 envelope, Apache-2.0) is already public and stable. 1.0
is the point where the public API is locked and additive from there,
enforced by cargo public-api + cargo semver-checks on every PR.1.x minors: the foundation completes, additively
1.x minors: the foundation completes, additively
nika-catalog-syncshipping catalog freshness (triple-source cross-check: LiteLLM + models.dev + OpenRouter corroboration).- Sigstore keyless signing on release artifacts.
cargo install nika— crates.io joins the install matrix.- Deeper LSP analysis: full cross-task binding analysis + taint propagation warnings + DAG preview.
- Cross-provider parity expansion as models evolve.
Ecosystem tier: plugins + observability
Ecosystem tier: plugins + observability
nika-wasm-host(L3) +nika-sandbox(L3) admitted.- WASM plugin boundary live: community plugins run with fuel metering, Trap taxonomy, capability-scoped syscalls.
nika-observabilitysuite: OTel GenAI semconv bridge (ADR-035), Prometheus / StatsD exporters, audit log with tamper-evidence.nika-policyL2 shipping Shield policy engine (prompt injection classification, taint enforcement).pckregistry fully live: community workflow packages, signature verification, overlay precedence (User > Pck > Core).
Ongoing
Ongoing
- Language bindings (
nika-napi,nika-py): rebuild if demand materializes (currently deferred per POST_AUDIT). - TUI (
nika-tui): rebuild in the “Act 3” timeframe if needed. - Cross-provider parity expansion as models evolve (GPT-5 family, Claude 5, Gemini 3, etc.).
- Community catalogs (
nika-catalog-cn,nika-catalog-eu) via pck admission gates.
How a release ships
The work earns the tag
main — every commit atomic and bisectable.The tag cuts the binaries
vX.Y.Z tag triggers the release pipeline: four nika binaries
(macOS arm64/x64 · Linux arm64/x64) + checksums.The release lands everywhere
The changelog tells the story
CHANGELOG.md section + an entry on
Releases (subscribable via RSS).Deliberately excluded
nika-sdk: 0 consumers, speculative (POST_AUDIT 2026-04-14).nika-tui: W1 speculative. Maybe Act 3, never before.- Proc macros in L0: Q1 LOCKED. Manual impl +
macro_rules!forever. Box<dyn Error>in public API: hygiene vector 19 bans.anyhow::Errorin library code: ADR-005. Binary only.- Plugins as proc macros: the WASM boundary (ecosystem tier) is the plugin story.
Governance
Every change has an ADR
Every commit is atomic + Co-Authored
Every crate passes 12 gates
Forward-compat = additive
cargo public-api +
cargo semver-checks on every PR. See FCI.