Everything on this page uses artifacts from the repository — a real capture fixture and the published run-capsule.schema.json. Where something is experimental, it says so. Nothing here is a mock-up of a feature that does not exist.
Watch it end to end
Seven minutes, recorded live on an Azure VM against Azure OpenAI with the signing key held in an Azure Key Vault HSM: capture, seal, nova verify, two tamper attempts caught and named, then the same run in the dashboard. The commands and their output are verbatim from that run — re-rendered on screen for legibility, not re-run or edited; the dashboard sections are real screenshots of the same run. The narration is a synthetic voice generated locally with Piper (MIT), not a cloud service.
Prefer your own terminal? pip install novafabric then nova capture python your_agent.py. The whole tour below takes about five minutes for real.
Interactive demos
One per primitive, each on its own page. They run in your browser on fixtures from the repository and do not talk to a server.
- Asset registry →name@version identity for models, prompts, tools and datasets, with eval-gated promotion.
- Run Capsule →The files one captured run leaves behind, validated in your browser against the shipped schema.
- Replay & diff →What each of the five replay modes does and does not do, and a structural diff of two runs.
- Lineage graph →Provenance, blast radius and replay chain over a small graph of runs, assets and artifacts.
- Evidence Bundle →A signed bundle manifest, verified with real Ed25519 in your browser. Flip a byte and it fails.
Capture any command
works todayNovaFabric wraps a process. Not a framework integration, not a decorator you add to every call site — a wrapper around whatever you already run. A shell script, a notebook cell, an agent, a SLURM training job.
The run exits with its own exit code. If NovaFabric fails, your workload still runs — never blocking the user's work is an architectural invariant, not a setting.
Inspect the capsule — and try to break it
works todayBelow is the manifest from that capture, validated against the real JSON Schema 2020-12 file from the repository. Ajv compiles the schema in your browser and reports what it finds.
A green check a website could have hard-coded proves nothing, so: break it. Delete a required field, change a type, put a nonsense value in an enum. If the check stayed green, this demo would be worthless — and for a project selling verifiable evidence, an unfalsifiable demo would be the wrong thing to ship.
The same check runs locally as nova validate <run-id>.
Replay it
works todayA replay inspects the capsule, or re-runs it with supported model calls served from the recording, and writes a replay result. The experimental intervention mode also writes a counterfactual capsule you can diff against the original. There are five modes; what each one does is below.
| Mode | Re-runs the command? | Best for |
|---|---|---|
forensic | no — read-only | Audit and post-incident inspection |
mocked | yes — supported OpenAI / Anthropic replies served from the capsule; tools run live | CI and regression testing |
semantic | no — scores the recorded model responses | Remote LLMs that drift |
exact | no — reports whether a byte-exact re-run is possible | Local / on-prem models |
intervention (experimental) | yes — one captured event substituted | Counterfactual root-cause |
The limitation, stated up front. NovaFabric does not claim byte-exact replay of remote LLM calls. That needs a deterministic environment and a per-call seed — realistic for a local model, not for a hosted endpoint that can change under you. For remote models that drift, semantic mode scores how similar the recorded responses are on a 0.0–1.0 scale. If you have seen “deterministic replay” advertised for hosted models, this is what the honest version of that claim looks like.
Diff two runs
works todaySomething changed between Tuesday and Wednesday and the git diff is empty. Structural diff compares two capsules — outputs, environment, recorded files — rather than diffing log text.
Trace lineage
works todayA directed provenance graph over runs, assets, and artifacts. It answers the three questions people actually ask:
- Provenance — what produced this artifact?
- Blast radius — if this dataset was wrong, what else is suspect?
- Replay chain — what must be re-run to regenerate this?
SQLite by default. Kuzu, Postgres, AGE, and JanusGraph backends exist for cluster scale and are experimental.
Export evidence anyone can verify
works todayThe payoff. A signed bundle an auditor verifies offline, with no NovaFabric installed — only sha256sum and an ed25519 verifier. Evidence only its own tool can check is not evidence; it is a database row. An RFC 3161 timestamp is opt-in (--timestamp).
Beyond the core loop. Everything below is implemented; the experimental label means the interface may still move, not that it is vapour.
Asset registry
works todayVersioned models, prompts, datasets and agent configs as name@version, pinned to a git SHA, with eval-gated promotion.
HPC / SLURM capture
works todayNo daemon, no root, no privileged access. Compute-node hot paths write to a local spool, never a database.
Compliance exports
experimentalEU AI Act Annex IV, NIST AI RMF, GDPR Art. 30, NIS2, HIPAA, CycloneDX AI-BOM. Evidence workflows — not legal certification.
Cost & energy attribution
experimentalPer-run LLM cost from a local pricing catalog, and energy-anchored action receipts.
Local dashboard
experimentalnova serve --experimental. Read-only, binds to 127.0.0.1 only.
Server mode
experimentalMulti-user REST API, Postgres, object store, tenancy with row-level security.
Cluster-scale collector
experimentalNode spools, parent/child capsules, object capsule store, four lineage backends.
Knowledge graph & diagnosis
experimentalCapsule knowledge graph, causal-graph attribution, counterfactual root-cause search.
CLI reference: nova kg: the capsule knowledge graph
Run the whole thing yourself
If any of that does not work for you, that is a bug and we want to hear about it — not a sign you did it wrong.
