The verification harness for agent-built software

OpenFactory is the harness that keeps your agents’ work verified.

Code arrives faster than anyone can check it, and the summary attached to it was written by the thing that wrote the code. openFactory hands the check to a coding agent from a different vendor, and keeps what it catches.

  • Claude Code and Codex on your own plans
  • The third one is ours
  • Runs locally, on your code
CONTROLPM · VERDICT — decide and check, never buildBUILDVERIFYPMToryclaudePRODUCT LEADrelay ⇄ · claudespec payments retry must be idempotentaccept duplicate delivery is a no-ophanded to Pen FaSpec handed off2 filesVERDICTOppenopenfactoryHARNESS · HOLDS THE VERDICTrelay ⇄ · openfactoryattempt 1 sent backattempt 2 verifiedledger appended · models cannot editVerified · attempt 25 filesBUILDERPen FajusinferFULL-STACK · api/payments/retry.tsrelay ⇄ · jusinferexport async function retry(req) {- await charge(req.id)+ if (await seen(req.key)) return ok()+ await charge(req.id)Rebuilt after send-back3 filesCHECKRyancodexCHECKER · DID NOT WRITE THISrelay ⇄ · codexcodex check api/payments/retry.tsspec idempotent on retryfound no duplicate-delivery guardsent back to Pen FaSent back · then verified4 filesSPECHANDOFFHANDOFFVERIFIEDSENT BACK · IDEMPOTENCY MISSING
Claimed done by the builderRejected by a rival vendorSecond pass came back verifiedYour time on this: none

Used by teams at

  • AppSecco
  • NuvePro
  • MatterSec

The problem

It makes its own tests pass.

A fractional CTO stopped letting Claude Code write his tests. It kept writing tests that passed. He writes them somewhere else now, or with a second agent.

Nothing misled him. The tests were green and the green was accurate. He still could not tell you which parts of his own codebase he would put his name on.

Twenty years of shipping software full of mistakes and sleeping fine, because two people carried a rough map of what was solid and what was held together with tape.

Three hundred pull requests a month arrive with a summary attached, and the summary was written by the thing that wrote the code.

You do not have a quality problem. You have lost the map.

The floor

Four roles. Three vendors. The one that checks never wrote it.

A PM (Claude Code) who turns what you said into a spec. Developers (JusInfer) who build it. A lead (Codex) who reads what got built against what you asked for and sends it back when it does not match. You have run this team before. For 20 years, with people.

PMToryClaude Codeis it completeBUILDERPen FaJusInferis it built3 waitingCHECKRyanCodexis it correctVERDICTOppenopenFactoryis it big enough$

A different check at every station, and the work grows with each one it clears. Fail one and it shrinks and goes back. Only what clears Oppen leaves carrying a dollar — and the queue that forms behind any station is the bottleneck, which moves as the rework moves.

01PMClaude Code

Turns what you said into a spec.

02DevelopersJusInfer

Build the volume work on cheaper open models.

03LeadCodex

Reads the diff against the spec and sends it back when it does not match.

04VerdictopenFactory

Sends it back or marks it verified. The harness holds the verdict, not an agent.

Two of the vendors behind them are yours, already paid for. The third is ours, and it does the volume work on cheaper open models. Every station carries the mark of whoever is behind it.

Whoever wrote it does not get to grade it. That is the whole rule.

The payroll

Nobody selling you an AI engineer will let a rival check its work.

Hand the check to a competitor’s model and you have said in public that your own agent overclaims.

01
The incentive

No agent company survives doing that.

So the same vendor that wrote your code grades your code, and you are asked to call that an inspection.

02
The consequence

An inspector on the builder’s payroll is not inspection.

openFactory has no agent to defend. The check pass goes to a vendor that did not touch the diff, and the verdict lives with the harness.

The board

41 verified. 12 unverified. 3 need you.

What got done and what you can trust, on one screen, with the three that need you sitting under it.

41verified
12unverified
3need you

What needs you

  • billing/webhook.tsChoose retry policy
  • permissions/admin.tsApprove scope change
  • migrations/0043.sqlConfirm backfill window

Ledger append-only

  • 08:41 verifiedpayment retry · attempt 2
  • 08:38 sent backidempotency missing
  • 08:31 assignedClaude Code → build

The twelve are not finished and we will not tell you they are. Anything reporting 100% is reporting nothing.

Under that, the ledger. Every run, every catch, append-only, and none of it editable by the models.

A Series B CEO rolled coding agents out to 87 engineers, promised the board 10x, got 3x. His developers were faster. The company was not.

The ledger

Today’s catches become tomorrow’s defaults.

Session two knows what session one got wrong.

You hardened your instructions file. Then you gave up, because English turned out to be a poor way to enforce anything. Everyone we spoke to did the same thing.

Corrections go into the ledger instead, and the ledger is what the checker reads next time.

  1. 01session 1 · caught

    Retry handler was not idempotent.

  2. 02session 1 · corrected

    Assert duplicate delivery before exit.

  3. 03session 2 · default

    Every payment handler runs the retry fixture.

Questions

Frequently asked questions

Do I need two subscriptions?

The two you already pay for. The third vendor coding agent is ours and comes with $20 in preloaded credit. What you are buying is the disagreement between them.

One of the three is yours. Isn’t that a conflict?

It would be if it graded anything. Ours builds. The rule is enforced in the harness rather than promised in a sentence. The verdict lives with the harness, and the check pass goes to a vendor that did not touch the diff. If a delegated builder happens to be the same vendor as the checker, it does not get the pass on its own work. Every assignment is in the ledger, append-only, and no model can edit it.

How is this different from the QA agent I built?

Yours runs on the same vendor that wrote the code.

Can I try it on my own repo?

Downloading it is trying it. Runs locally, on your code.

My PR volume is already past review capacity.

Then the question is no longer whether the code is right. It is whether you can afford to believe it.

Does my code leave the machine?

No. Your hardware, your credentials, and we see neither.

Is this a swarm?

No. Builders can be many and now come from three vendors. There is one checker and it is the harness, not an agent. More builders gets you more hands. The second opinion has to come from a different payroll.

READY · CHECKER ON A DIFFERENT PAYROLL

Everyone has to build their own way of shipping.

Yours will not look like anyone else’s. Bring your own Claude Code and Codex. openFactory keeps a record of what your agents claimed and what got verified.