Each primitive is independent and composable.
Start with Asset Registry to declare what you're running. Wrap execution with Run Capsule. Seal and export tamper-evident evidence with the Evidence Bundle. Query history with Lineage Graph. Replay any capsule with Replay Engine. All five work together or independently.
Each mode states what it reuses from the capsule and what runs live. You always know what was recorded and what was reconstructed.
| Mode | Re-runs? | What it does |
|---|---|---|
forensic | no | Read-only inspection of what the capsule recorded. Runs nothing; the audit mode. |
mocked | yes | Re-runs a Python workload and serves the recorded replies of supported model calls from the capsule (since v0.105.0: OpenAI Chat Completions and Responses API calls and Anthropic messages, sync or async, streamed or not, plus recorded MCP tool results). Other tool calls are not substituted: they run live. |
semantic | no | Scores how similar the capsule's recorded model responses are to each other (0.0–1.0). No judge model is called. |
exact | no | Reports whether a byte-exact re-run is possible (deterministic env.lock, seeds, no schema drift) and names every condition that fails. |
intervention | yes | Experimental. Substitutes one captured event, re-runs downstream under mocked semantics, and writes a counterfactual capsule you can diff. |
NovaFabric does not claim byte-exact replay of remote model calls. See replay modes in depth or try them in the replay demo.
Why self-hosted
Agent runs accumulate sensitive data: prompts, intermediate reasoning, documents pulled in by tools. NovaFabric runs in your own infrastructure instead of a hosted service: on your machine for a single user, or in a self-hosted server for teams (server mode is experimental). Run Capsules stay where you put them unless you choose to move them. No account, no telemetry.
Why CLI-first
The nova CLI is the canonical automation surface and emits machine-readable output, so every step can run in CI; the docs show how to capture a CI step with GitHub Actions. A local dashboard (nova serve --experimental) exists for browsing, with scoped authorization since v0.102.0; it is a view onto the same capsules, not a separate system of record.