GitHub
// for people who run a team of AI agents

Stop reviewing everything your agents do.

Jaynes makes your agents follow the method and checks what they deliver. Your answers become evidence, and each checkpoint stops asking you only once the evidence says it can.

Works with Claude Code
stop moments-of-use · role screen-designasks every time
evidence 20 · stop becomes sampled 0 answers

"Done," says the agent. It skipped half the process, the checks passed, and the work is still wrong.

So you review everything and become the bottleneck, or you let it run and have no idea how often it gets things wrong. One person running a company of agents measured it.

25of 11,894

tool calls by the agents were seen by the person

0of 8

design screens followed the first four steps of the method

3rounds

of a screen passing every automated check and still being sent back

480ktokens

for one screen, against a method budget of 150k

Source: a one-person company run by agents, Sep 1 to Oct 21, 2026. This is the baseline Jaynes is measured against.

How it works

Four layers between your agents and the world.

The method makes skipping impossible. Checks catch what a machine can see. Your answers decide where your attention goes. A gate underneath keeps every action in bounds.

1 · Method

The agent cannot skip a step.

A role is a sequence of steps, each with a required output and a check. Jaynes runs Claude Code for one step at a time, with write access to that step's output and nothing else. Evidence the agent could invent, like the references captured from the web, is produced by Jaynes.

role screen-design · task People screen · agent claude
refused momentsstop · budget 20% object-mapcheck: every count cites data walkthroughrun by jaynes, not the agent requirementsstop · budget 10% implementcheck: tests, contrast, tokens acceptstop · always asks
Press Run the method to send one task through the screen-design role.
2 · Checks

Checks first, then your call.

A delivery reaches you only after passing what a machine can verify: tests written before the code, contrast, design tokens, and a comparison with the last version you approved. You decide the rest, and your note goes back to the agent.

delivery People screen · attempt 2waiting for you
Tests written first, failing before and passing after12 / 12
Contrast, WCAG AAmin 4.9 : 1
Only design tokens, no raw colorspass
Against the last approved versionno regression
Tokens spent, measured by the system138k
approved, Oct 18
this delivery
AcceptReturn with a note
3 · Attention

Your attention moves to where it is still needed.

Every answer at a stop is a label. Keep accepting a stop without changes and it becomes sampled: it asks one time in ten. That takes 20 accepts in a row at a 20% budget, 43 at 10%, 88 at 5%. Each change lowers the evidence. If it falls below the threshold, the stop asks every time again.

role screen-design · week 4illustration
Moments of use budget 20%sampled · 1 in 10
22 accepts in a row · evidence 29.3 of 20
Requirements budget 10%collecting evidence
31 accepts in a row · 12 more to go
Final acceptance budget 5%always asks, by choice
39 accepts, 1 change
Audit drawn for Moments of use on the Billing screen
You changed it: the agent missed "a payment failed"
asks every time again evidence 29.3 → 5.9
4 · Safety · works today

Every action goes through a gate.

Each tool call is classified before it runs. Reading runs. Pushing to a remote, deleting history or sending a message never runs without you. Everything else is audited by sample, with the same guarantee. This layer works today with Claude Code.

jaynes · action gaterunning
Read work/object-map.json runs · read
Edit src/screens/People.tsx audit · asks you
uv run pytest -q runs · run_code
git push origin main denied · floor
Try it

The review queue, live.

Three items are waiting. Each stop keeps its own evidence, computed with the same test Jaynes uses. "Moments of use" is three accepts away from being sampled.

jaynes review · 127.0.0.1:87403 waiting● 4 agents running
Accept or change an answer and watch the stop earn, or lose, its autonomy.

This queue runs in your browser. The real one opens on your machine with jaynes.

The guarantee

A stop is sampled only when the evidence says so.

If the real rate at which you would change a stop's answer is at or above its budget, the chance Jaynes ever makes that stop sampled is at most 5%, no matter how often it checks.

The usual shortcut, recomputing a confidence bound after every answer and switching the first time it fits, quietly breaks that promise. Run both and see.

true change rate 5% · budget 5% · up to 2,000 answers
Bound recomputed after every answer0.0%
Jaynes, anytime-valid test0.0%
share of runs where a stop that should keep asking was wrongly sampled · scale to 30%white line: the 5% promise
In 4,000 runs offline: 27.4% against 3.7%. Run it here, or with jaynes simulate.
Foundations

Built on results with proofs behind them.

Get started

Install once. The rest happens in the page.

# in Claude Code, once
/plugin install jaynes --marketplace alk0x1/jaynes

# or from a terminal, Python 3.12 or later, then open the page
uv tool install git+https://github.com/alk0x1/jaynes
jaynes
  1. Watch the method hold

    Start the demo from New run. A scripted agent works through a screen-design role, a check sends one step back, and the run stops for your answer. No API key, no quota.

  2. Measure what your agents already do without you

    History reads your Claude Code transcripts and shows how many tool calls a person approved. It changes nothing.

  3. Put the gate in front of your agents

    Setup installs it in Claude Code in one click. Your other hooks stay, and your settings file is backed up first.

PartState
Action gate for Claude Code: floors, sampled audits, anytime-valid certificationworks today
History report and guarantee simulationworks today
Step conductor for Claude Code (Codex also runs): checks, retries, resume after a crashworks today
Review page and CLI answersworks today
Real projects: steps on copies, previews before and after, a branch at the endworks today
Built-in roles visual-identity and redesignfirst real runs in progress
Built-in role fix-bug: a failing test first, then a fixdelivered its first branch
Judges calibrated on your answersnext

Spend your attention where the evidence says it is needed.