Harness Builder

← all three tools

Test and compare AI harness configurations — models, scaffolding, and roles — using your own API key. The key stays in this browser tab, in memory only. The backend only ever receives sanitized run traces: never the key, never the calls.

Sweeps run here in your browser with no backend. Scoring is local-only on purpose/score executes model-generated code, so it is not hosted publicly. Clone the repo and run the backend to get suite scores and the task × config matrix.

Providers No key

stays in this tab, in memory — never sent to the backend

Prove it — what does the backend actually receive?

Your key is sent only to the provider host for each substrate (api.anthropic.com). Below is the entire request this page posts to the backend — there is no key field in it.

Don't trust this panel. Open your browser's Network tab — that is your own record and we cannot fake it — and read the open-source backend, which refuses any payload that even looks key-shaped.

Run a sweep — this shows the exact payload posted to the backend (no key).

Browser-callability differs by vendor. Anthropic opts in to direct browser calls, so it works here. api.openai.com does not: it returns no access-control-allow-origin on the response, so the browser discards it whatever key you send. Point the openai shape at a compatible endpoint you host instead.

Backend not checked
/score executes generated code, so it is token-gated — the server prints a token on boot (or set NTAI_TOKEN).

Task

Run

Config & sweep the JSON behind the shape

A base config plus axes to vary → the full matrix is generated for you.

a harness IS this JSON — keep it in your repo and load it here
JSON

Shape

click a node to select · double-click to rename · drag its right edge onto another to feed it · prompts live in the config below

Assistant

No model grades anything here. scoring, verdicts and the paired test stay deterministic — this only explains and proposes
Ask what a config does, or describe the comparison you want.
it can read the scores; it never produces one
costs your key · nothing spent yet

Comparison

No runs yet. Paste your key, set a config, then run a sweep.