Skip to main content

Why Fornax?

The problem​

A coding agent tells you what it did in plain English: "all tests pass," "fixed," "done." That sentence is generated by the same model that just did the work — it is not an independent check. When the agent is wrong (a flaky test it didn't notice, an error it summarized away, a claim about a file it never actually re-ran), nothing else in the loop catches it unless a human happens to look.

This is a real, reproduced failure mode, not a hypothetical one. See the First finding walkthrough for an actual case: a Claude Code adapter bug caused every claim to silently resolve UNAVAILABLE (looked fine, verified nothing), and a separate real session produced a claim of "all tests passed" against evidence of a nonzero exit code — exactly the gap Fornax exists to catch.

What Fornax does about it​

Fornax doesn't ask the agent to grade its own homework, and it doesn't ask a second LLM to guess whether the first one is lying. It:

  1. Captures evidence immutably, before interpretation. Tool calls, exit codes, and transcript events are persisted append-only as they happen — not reconstructed afterward from what the agent says happened.
  2. Verifies deterministically. A verifier is a pure function: Claim + Evidence[] + RuntimeCapabilities → Finding. Same evidence, same claim, same finding — every time, replayable without a live agent session.
  3. Reports honestly when it can't tell. If the runtime doesn't expose the evidence a check needs, the verdict is UNAVAILABLE — never silently treated as a pass. See Claims, Evidence & Findings.

What Fornax is not​

  • Not a second opinion from another LLM. Verifiers are deterministic code, not another model guessing.
  • Not a trust score. There is no single number — a finding is one of five explicit states, always with a rationale attached.
  • Not a cloud service you have to trust with your code. The local critical path — capture, verify, status line, dashboard — has no cloud dependency. Cloud sync is opt-in and off by default (see Privacy & Redaction).

Who this is for​

Anyone running Claude Code or Codex on real work who wants a check on the agent's own narration — in the terminal (status line, fornax detail) or a local dashboard — without sending anything off their machine to get it.

When to use it​

Concrete situations where running Fornax alongside your agent session pays off:

  • You're about to trust an agent's "tests pass" / "build succeeded" / "deployed" claim on a change you haven't reviewed line-by-line yourself.
  • You're pairing a fast, terse agent workflow (accept-diff-and-move-on) with something you'd regret shipping wrong — and want a check that doesn't slow you down when nothing's wrong.
  • You maintain a repo other people's agents touch, and want an agent-neutral, evidence-backed record of what actually happened in a session, not just what got summarized in a PR description.
  • You're evaluating whether a specific agent/model/adapter combination narrates its own work accurately, before relying on it unsupervised.
  • You want to hand a session's evidence to a teammate or a sync target instead of re-explaining what happened from memory — see Export a session.
  • You're comparing Claude Code vs. Codex (or, with narrower coverage, OpenCode) on the same kind of task and want their claim-vs-evidence behavior made visible instead of inferred from vibes.

When NOT to use it​

  • You need Fornax to judge subjective correctness ("did it implement the intended architecture") — verifiers check claims against captured evidence for objectively-checkable classes (test/build/exit-code/file state), not architectural taste. See Claims, Evidence & Findings for exactly what's checked.
  • You need a hosted, always-on team dashboard, shared policy administration, or enterprise governance today — none of that is built yet (see Maturity below); the local daemon + CLI + dashboard is the whole current product.
  • You need symmetric guarantees across every agent runtime — Codex's adapter tails transcripts rather than using hooks and currently only confirms a success heuristic reliably (see Codex integration and Scenario 2); it is not yet as strong at catching a false claim as the Claude Code adapter.

Maturity​

CapabilityStatus
fornax status / fornax detail, Claude Code adapter, Codex adapter, export-spoolSHIPPED — v0.0.1, on the public main branch today
fornax capabilities, install-claude/install-codex CLI installersSHIPPED, v0.0.3 line
OpenCode adapterPARTIAL — real, v0.0.3 line, narrower event coverage, manual setup only (see OpenCode integration)
evidence-graph, fusion, decision, judgeSHIPPED — v0.0.4, Developer Preview (see Evidence graph, Fusion & decision, Semantic judge)
reliability/drift, experiment (counterfactual verification), causal provenanceSHIPPED — v0.0.5, Developer Preview (see Reliability, Experiments)
Enterprise policy & fleet deploymentSHIPPED — v0.0.6, real complete release
Tamper-evident audit ledger, compliance reporting, SIEM deliverySHIPPED — v0.0.7, real complete release
Epistemic Contracts, adaptive verification budgets, adversarial evidence hardening, self-integrity/formal checks, proof-carrying delegation, multi-agent trust, shadow execution, assurance cases, meta-verification, Agent Evidence ProtocolSHIPPED, with 3 disclosed gaps — v0.0.8, real release; readiness-gate verdict was CONTINUE, not a clean pass (see Epistemic Contracts onward for the honest per-feature detail)
Federated calibration across organizationsRESEARCHED, NOT SHIPPED — v0.0.8 research finding concluded narrow/defer: the mechanism works on synthetic data, but no real multi-tenant demand or Gold Corpus data exists yet to justify shipping it
Cloud team dashboard, shared policy administration, enterprise governance, BYOC/self-host beyond the local daemonNOT IMPLEMENTED — described as a long-term direction in the product thesis, not started

See Start here: scenarios for the shortest path to trying this yourself.