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.
Prefer your own terminal? pip install novafabric then nova capture python your_agent.py. The whole tour below takes about five minutes for real.
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 re-executes or inspects the capsule with every external call under NovaFabric's control — and produces a new capsule, so you can diff a replay against the original.
| Mode | Network | Best for |
|---|---|---|
forensic | none | Audit and post-incident inspection |
mocked | served from cache | CI and regression testing |
semantic | re-executes | Remote LLMs that drift — judges meaning |
exact | controlled | Local / on-prem byte-exact re-run |
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 similarity of meaning 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 — model version, environment, tool responses, outputs — 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.
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.
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.