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:
- 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.
- 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. - 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
| Capability | Status |
|---|---|
fornax status / fornax detail, Claude Code adapter, Codex adapter, export-spool | SHIPPED — v0.0.1, on the public main branch today |
fornax capabilities, install-claude/install-codex CLI installers | SHIPPED, v0.0.3 line |
| OpenCode adapter | PARTIAL — real, v0.0.3 line, narrower event coverage, manual setup only (see OpenCode integration) |
evidence-graph, fusion, decision, judge | SHIPPED — v0.0.4, Developer Preview (see Evidence graph, Fusion & decision, Semantic judge) |
reliability/drift, experiment (counterfactual verification), causal provenance | SHIPPED — v0.0.5, Developer Preview (see Reliability, Experiments) |
| Enterprise policy & fleet deployment | SHIPPED — v0.0.6, real complete release |
| Tamper-evident audit ledger, compliance reporting, SIEM delivery | SHIPPED — 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 Protocol | SHIPPED, 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 organizations | RESEARCHED, 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 daemon | NOT 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.