Open-source agent harness

Turn typed decisions into controlled action.

Observe an environment, compile its finite action space into typed questions, gate each decision by confidence, execute the action, and keep the complete trace.

Run it directly in HarnessRouter Cloud, or add the same controlled loop to your product through HarnessRouter's unified interface.

First supported model: Jev by TypeSafe

s1 run completed
goalShip gift by the fastest carrier.
  1. 0add_note(note='gift')p=0.96
  2. 1pick_item(item='scarf')p=1.00
  3. 2pack()p=0.99
  4. 3choose_carrier('express')p=0.98
  5. 4ship()p=0.93
5 steps0.98 s$0.000208
Version
0.3.1
License
Apache 2.0
UHP
Core · 40/40
Python
3.10+

The model decides. The harness controls.

Jev plays a browser game one typed decision at a time. It reads named state, chooses from the controls the environment exposes, and never generates control text.

Reads the game, not the screenDecides, never writesRuns through a real browser

A reflex layer under the reasoning layer.

System One Harness is not a smaller System Two harness. It is a runtime for fast, bounded decisions that works alongside a harness built for planning and ambiguity.

System Two
Plans the work, handles ambiguity, and creates or revises the action space and policy.
System One Harness
Runs bounded decisions repeatedly, applies confidence gates, and records every transition.

Available today: the harness can refuse a low-confidence action and record the stop reason. Architecture direction: open a typed handoff to a System Two harness for a new decision, action, or policy.

A closed loop with an explicit stop.

Every step converts current state into a bounded decision. Finish is an explicit action. If no decision clears the required threshold, the harness stops instead of guessing.

  1. 01Observe

    Read the environment state and terminal condition.

  2. 02Compile

    Turn available actions into typed questions.

  3. 03Encode

    Fit goal, state, history, and memory to the model budget.

  4. 04Decide

    Ask for the action, parameters, and goal check in one call.

  5. 05Gate

    Compare the weakest required probability with the risk threshold.

  6. 06Execute

    Apply the selected action and record the next state.

Read the measured design

From clone to a complete trace.

Run the built-in order environment against Jev through OpenRouter or TypeSafe. The final line records the outcome, steps, wall time, and cost.

Terminal
git clone https://github.com/HarnessRouter/SystemOneHarness.git
cd SystemOneHarness
pip install -e .

export OPENROUTER_API_KEY=sk-or-...
s1 run --env order:ship_fastest_gift

Bounded by design. Inspectable by default.

The harness turns model probabilities into policy decisions your software can review, enforce, and reproduce.

Finite actions
The model selects only from actions and values declared by the environment.
Confidence gates
Read, write, destructive, and finish actions can use different thresholds.
Explicit outcomes
Every run stops as completed, incomplete, failed, or cancelled with a structured reason.
Complete traces
State, questions, distributions, verdicts, results, latency, and usage stay inspectable.
Pluggable environments
Drive a Python process, MCP server, browser, or real-time loop with the same controller.
UHP compatibility
Expose the loop through a shared contract for streaming, continuation, cancellation, and discovery.

Bring the boundary your system already has.

Use the same controller for a process, MCP server, browser, or in-process Python integration.

EnvironmentUse it whenStart with
Action space + process

A local program or service owns the loop.

--actions actions.yaml --env-cmd …
MCP server

Tools already expose enumerable inputs.

--mcp python -m your_server
Browser

A task is expressed through visible DOM controls.

--browser --start-url …
Python

The integration belongs in the same process.

Environment.observe() / execute()
Read the browser guide

Small deterministic tasks, tested live.

Five runs per scenario on September 19, 2026 with Jev 1.13 through OpenRouter. These results do not claim the same outcome for ambiguous state or long irrelevant context.

ScenarioGoal metStepsModel latencyCost / run
Ship by cheapest carrier5/56.0241 ms$0.000265
Ship fastest and add gift note5/55.0199 ms$0.000214
Cancel a fraudulent order5/51.0197 ms$0.000044
Inspect the raw benchmark rows

Where the reflex layer fits.

Use System One for decisions your software can bound. Keep planning, novel work, and ambiguous judgment in System Two.

Can I run System One Harness in the cloud or add it to a product?
Yes. Run it directly in HarnessRouter Cloud, or use HarnessRouter's unified interface to make the same capability part of your product. The open-source local path remains available too.
Does System One Harness replace a System Two harness?
No. They solve different parts of the job. A System Two harness is better for planning, novel actions, free-form output, and ambiguous decisions. System One Harness is built to execute a declared set of decisions quickly and repeatedly.
When should a task use System One Harness?
Use it when the environment can expose observable state and enumerate the available actions and parameter values. Routine workflow steps, browser controls, queues, games, and device loops can fit this shape.
What happens when confidence is too low?
The harness refuses to execute the action and records why the run stopped. A typed handoff to a System Two harness is the architecture direction, not an end-to-end capability claimed by the current release.