YoetzYoetz

Make sure agentsdid what they said.

A local, open-source ledger your agent works against — and an independent check on every claim of “done”.

View on GitHub

Pre-release · Codex integration available but untested · runs locally

codex — ~/packetforgeyoetz · local
$codex
Refactor the rate limiter. Keep the /limits response shape and make sure tests pass.
I'll plan this first and record the obligations in yoetz.
yoetzstart · publish_work — plan, 3 obligations
Edited src/limiter.py (+118 −74)
Ran pytest — 41 passed
Tests pass. Checking with yoetz before I claim done.
yoetzcheck — 2 findings
“tests pass” cites a run older than the last edit
/limits response shape was never verified
Fair catch — fixing, then re-running.
Restored /limits shape · Ran pytest — 43 passed
yoetzrespond · check — no deterministic issue detected
yoetzreceipt — deterministic · local-only · 0 unresolved
Done — rate limiter refactored; receipt shows the checked coverage.
Quickstart

Install Yoetz and connect it to Codex

1
$ uv tool install --managed-python --python 3.14.6 "yoetz==0.1.0"

The supported Python install path. Run yoetz afterward for guided, approval-based setup.

2
# ~/.codex/config.toml
[mcp_servers.yoetz]
command = "yoetz"
args = ["mcp", "serve"]

The MCP connection used by Codex. The setup flow previews the exact change before applying it.

3

Work as usual. Your agent checks before claiming completion and attaches a receipt.

How it works

An independent ledger between your agent and “done”

YOU
“Refactor the rate limiter. Keep the /limits response shape.”
YOUR AGENT
Reads the code, decides on a sliding-window limiter.
Yoetz
YOETZ
On the record: the plan, plus two promises — keep /limits intact, tests must pass.
YOUR AGENT
Edits limiter.py, runs pytest — 41 passed.
YOUR AGENT
Looks done. Asks Yoetz before claiming it.
Yoetz
YOETZ
Not yet: those tests ran before your last edit — and /limits was never checked.
YOUR AGENT
Re-runs pytest — 42 passed, 1 failed. The /limits shape did break.
YOUR AGENT
Restores the /limits shape, runs pytest again — 43 passed.
Yoetz
YOETZ
No deterministic issue detected in the current record; no obligations remain open.
Yoetz
YOETZ
Receipt attached — what was promised, done, and checked.
YOU
Get an honest, coverage-bounded account of “done”.
Harnesses

An open MCP protocol from day one

Any MCP host can connect through the open protocol. Codex has the first-party integration, with tested-version evidence still pending.

Codex
available · untested
Claude Code
next
Cursor
later
+
Any MCP host
open protocol