novafabric.ai/primitives

Primitives

v0.108.0

Five composable building blocks to capture, replay, and audit AI-agent activity.

01/───THE FIVE PRIMITIVES

Each primitive is independent and composable.

Asset Registry

Catalog. Version. Promote.

Local SQLite registry for models, datasets, and agents. Eval-gated promotion workflow ensures only validated assets reach production. Track lineage from training run to deployment.

Asset Registry
$ nova register assets/my-agent.yaml

← → navigate primitives

02/───HOW THEY COMPOSE

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.

01Asset Registry→02Run Capsule→05Evidence Bundle→04Lineage Graph→03Replay Engine
03/───FIVE REPLAY MODES

Each mode states what it reuses from the capsule and what runs live. You always know what was recorded and what was reconstructed.

ModeRe-runs?What it does
forensicnoRead-only inspection of what the capsule recorded. Runs nothing; the audit mode.
mockedyesRe-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.
semanticnoScores how similar the capsule's recorded model responses are to each other (0.0–1.0). No judge model is called.
exactnoReports whether a byte-exact re-run is possible (deterministic env.lock, seeds, no schema drift) and names every condition that fails.
interventionyesExperimental. 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.

04/───BOUNDARIES

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.