Provenance

Trace

Chain-of-thought is self-report — a model can write a plausible reason that had nothing to do with how it computed its answer. A neuron trace is measured. Trace reads the raw MLP neurons of an open-weight model (no sparse autoencoder), records which ones fired, and checks their effect causally by ablation: zero the neuron, re-run, measure what changed.

It is the same split Provenance already enforces elsewhere. Attestation proves; screening estimates. A hash-bound payload is proven; an agent's context_evidence is claimed. In Trace, the ablation delta is the measurement and a neuron's label is an estimate — and every surface shows both.

What's available

| Surface | Status | | --- | --- | | Neuron registry — public, keyless reads of every registered model's neurons | Live | | Traced inference — an OpenAI-compatible endpoint returning a completion + canary readings + a trace_id | Live | | Attribution traces — per-prediction graphs, ablation-verified, signed and offline-verifiable | Live | | Canary policy facts — neuron readings as conditions in your authorization policy | Live | | Self-host sidecar — our worker beside your model, signing readings with your key (Enterprise) | Live | | Registry builds and account canary sets — a private registry for your own model (Enterprise); your own canary families, measured (Growth) | Live | | Neuron-CI diffs — diff a fine-tune's registry against its base, gated on a tolerance in CI (Enterprise) | Live | | Neuron disclosure — let a verified person see the masked neurons on your shares, with your approval, time-boxed and watermarked | Live | | <provenance-trace> embed — show a shared trace on any page, verified in the browser (free) | Live |

Using a model in production and wondering where Trace fits? See Trace for models for the end-to-end picture — traced inference, canary guardrails, signed traces and Neuron-CI diffs on one page.

Models

Open-weight, dense causal LMs only — we need the activations. The sandbox registry is a fixture model: real activations, attributions and ablations measured on Qwen2.5-0.5B-Instruct on CPU by python/trace-worker/scripts/gen_fixtures.py, with heuristic labels and two fixture-grade canary families. Hosted Qwen3-8B (with a prebuilt registry and curated canary sets) is pending GPU provisioning. Bring-your-own Llama 3.x / Mistral / Gemma / Qwen models run through the enterprise sidecar and a registry build. Closed-weight APIs expose no activations and are not supported.

Guarantees and limitations

These apply to every response, page and receipt:

  1. Labels are approximations. Each carries its labeler and a confidence. The ablation delta is the measurement. A neuron with no consistent pattern is shown as unexplained.
  2. A trace proves what computed the output. Judge whether the output is correct with your own evaluation.
  3. Canary sets are signals with published precision and recall.
  4. Every failure is explicit. No backend → trace_backend_not_configured (503); a worker failure → trace_backend_error (502); a cold start → trace_backend_cold (503); a sandbox input that wasn't recorded → trace_fixture_miss (503). The fixture backend is refused in production, and every response names its backend.
  5. Open-weight models. Under hosted inference your prompts run on our GPU. We keep hashes and readings; message text only with an explicit retain: true opt-in.
  6. The agent picks the trace it presents. Our adapters present it automatically, and token binding detects a swapped reading.

Pricing

Registry reads are free. Traced inference, attribution graphs and canary re-runs come with a monthly allowance on every plan, then meter on Growth — see Billing.