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:
- Labels are approximations. Each carries its
labelerand a confidence. The ablation delta is the measurement. A neuron with no consistent pattern is shown asunexplained. - A trace proves what computed the output. Judge whether the output is correct with your own evaluation.
- Canary sets are signals with published precision and recall.
- 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 itsbackend. - Open-weight models. Under hosted inference your prompts run on our GPU. We keep hashes and readings; message text only with an explicit
retain: trueopt-in. - 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.