Grasppy Relay
Two AI agents work your plan. Neither signs off alone.
Claude Code and Codex, on the same plan, in conversation. Every finding gets a number and stays open until the other agent independently agrees it is fixed. No round limit, no time budget, and you can send a note into the middle of it at any point.
Runs on your machine, on the CLI subscriptions you already pay for — no API keys and nothing metered by us. Each agent talks to its own provider exactly as it does when you run it yourself, and Grasppy never receives a copy of your repository.
The problem
One agent grades its own homework.
It writes the code, then reviews the code it just wrote, and finds it good. That is not dishonesty — it is the same model applying the same assumptions twice. The blind spot that produced the bug is the blind spot that misses it.
How it works
A plan, two agents, and three ways it can end.
Relay is two peers alternating — a baton, not a podium. You pick a plan and two existing conversations — one on each agent. They keep everything they already know about your codebase; Relay does not start them cold. Grasppy hands the plan to the first, passes the reply to the second, and keeps going.
plan: AI Supervisor — audit integrity
lead: Claude Code · write + verify
partner: Codex · read only
autonomy: lead = only if stuck
partner = routine ok
rounds: unlimited
timeout: none
ends_on: register empty | you | error
ISSUES: closing #7 | open #4
ISSUES: confirming #7 | new: unapproved execution path
ISSUES: closing #15 | open #4
The Issue Register
Every finding gets a number. It closes when the other one agrees.
Before numbering, the same defect got described differently every round — "the budget metadata is wrong", then "budget truth", then "unproven cost state". Three descriptions of one problem, and nothing could tell whether that was one thing or three. A number ends that. #7 is #7 until it is genuinely resolved, however either agent would word it today.
open raised by Partner, round 3
closed fixed by Lead, round 12
confirmed checked by Partner, round 12
#15 — unapproved execution path
open raised by Partner, round 48
awaiting the other side
The Ledger
Ninety-four rounds is unreadable. So don't read it.
A long relay is a hundred and eighty turns and several hours of transcript. The Ledger is the answer to "what happened here" that isn't "read all of it" — derived from what the agents already said, costing no round and sending them nothing.
You are the third participant
Send a note into the middle of a run.
Relay is not a thing you start and come back to. Type a note while the agents are working and it is attached to the next turn, addressed to one of them or both. Settle a disagreement, change the plan mid-flight, or tell them which of two approaches you want. A parked relay wakes the moment you reply.
Access, autonomy, and what stays yours
What each agent can do, and when it stops to ask.
Two separate settings, per agent, because they fail separately. An agent with full write access will still park a relay to ask about something routine, and an agent told to proceed cannot proceed if the process refuses it.
Everything else is theirs to do. Building, testing, deploying and restarting a service are ordinary work, and routing them through you would mean handing shell commands to someone who did not want them.
The numbers travel
Paste a number into any other agent. It has the whole picture.
Once a finding is #15, it is portable. Copy two issue numbers out of a relay, paste them into an unrelated agent in another project, and it can pick the work up immediately — because plans, documentation and issues all have IDs it can resolve rather than prose it has to interpret.
Explaining the same context by hand takes half a day. This is what Grasppy means by a context workspace: the relay generates the record, the numbering makes it portable, and every other agent you own becomes a reader of it.
The record
You get the audit trail as a by-product.
Nobody designed this for compliance. It is simply what falls out of two agents working under a rule that neither can sign off its own work — and it happens to be what auditors started asking for in 2026: every prompt, every output, who triggered it, and which human approved or overrode which decision.
Honestly
When a relay is the wrong tool.
If you have been looking at agent orchestration tools, Relay is a deliberately different shape — not many agents fanned out, but two that check each other. That shape is right for some work and wrong for other work, and it is worth being plain about which.
One real run
Relay #84: ninety-four rounds, twenty-two issues, twenty settled.
An audit-integrity plan across a trading backend. The Lead wrote and ran the code; the Partner had read-only access and no ability to quietly fix what it should have been reporting. Every one of the findings below was caught by the side that did not write the work.
A migration the owner had authorised was executed through a wrapper script rather than the command he approved — so the approval was technically honoured and actually bypassed. The plan's own audit contract was found claiming a cost-accounting feature that had never been built. The documentation lifecycle was found contradicting the implemented one. And a backend suite reported green on stale expected strings until the other agent re-ran it and got 785 passing for a different reason than claimed.
It was not autonomous, and the honest number is that the run stopped and asked eight times — a database migration, a commit, a browser check neither agent could perform. That is the trade: two readings instead of one, and your attention spent on decisions rather than review.
Put a second reader on your work.
Relay runs on the CLI agents and subscriptions you already pay for. Bring a plan and two conversations.