Dualzo

Sandboxed validation for AI-generated code

An AI agent saying its change works is not the same as the change passing your checks. Dualzo tests every task an agent completes with your repository's own commands, inside a throwaway container, and refuses to open a pull request until everything passes.

Your repository's own checks, not a generic test

When you connect a repository, Dualzo reads your package scripts, Makefile targets, and CI workflows and proposes the commands that define "passing" for that repository, grouped into five kinds. An admin reviews, edits, and confirms them. No task can run on the repository until they are confirmed.

1
install
2
lint
3
typecheck
4
test
5
build

The commands run in that order after each task, and kinds you leave unconfigured are skipped. Because the commands come from the repository itself, this works in any language: the sandbox uses a base image for PHP, Node.js, Python, the JVM, Go, or Ruby, with a generic image for everything else.

What the sandbox allows

Each command runs in an ephemeral container that is created for that command and removed right after. AI-written code never runs anywhere else.

Control What it means
Network Available only while dependencies install. Lint, typecheck, test, and build run offline.
File system Read-only everywhere except the working copy and a small temporary directory.
Privileges All Linux capabilities dropped; processes cannot gain new privileges.
Resources Default limits of 2 CPUs, 2g memory, 512 processes, and 10 minutes per command.
Secrets None of Dualzo's own secrets. Only the test variables you add for the repository are passed in, and the model never sees them.

When a check fails

The failing command's output goes back to the model, which gets up to two attempts to fix it. If the check still fails, the task stops for human review instead of pushing anything. Your team sees the plan, each task's status, the full diff, and the failing output, and chooses to abandon the task, edit the plan and run it again, or take over the branch as a draft pull request that is clearly marked as not validated.

No pull request while validation is failing

This rule is enforced in code: the service that opens pull requests refuses any run whose validation is not passing. The same holds when a repository commits directly to a branch — failing validation never pushes anything. When a pull request does open, its description lists which commands ran.

Repositories without tests

If a repository has no test command, an admin can still confirm its commands by acknowledging "reduced validation". That choice is recorded, shown on every plan, and printed on every pull request from that repository, so a reviewer always knows what was and was not checked.

Part of a governed workflow

Validation is one of four controls Dualzo applies to AI-written code, after human approval of the plan and alongside an append-only audit trail. For how Dualzo handles repository access and your source code, see the security page. For a tool-agnostic setup, see our guide on how to validate AI-generated code before merging.

Ship AI-written code you can actually trust.

Team plan — $119/month, 5 seats included. AI model usage included.