About
Agents that do real work, and prove it
Most agent demos are convincing until you ask them to be trusted. Agent Forge starts from the opposite end: a worker is only useful if you can see what it will do, watch what it does, and know it will refuse rather than guess. The proof is not a screenshot — it is a test that has to pass.
Forge, Minions, and Runs
Forge turns a plain-English description into a specialist agent with a fixed tool set and its own acceptance tests. A Minion is what Forge makes: a scoped worker with an identity, explicit permissions, and a history. A Run is one durable execution you can inspect end to end.
The verification gate
A minion fixes an issue on a sandboxed clone, runs the suite, and opens a pull request only when a previously-failing test passes with no regressions. It can read the tests but physically cannot write them, so it cannot pass by editing the gate it is judged against. When there is no verifiable test to satisfy, it declines and says why.
Hand-labeled evaluation recorded by the engine (claude-opus-4-8). These are read from the engine's output, not typed into this page.
How it is built
The engine is a TypeScript system on the Claude API. Forge runs a build, run, judge, and refine loop: it designs the agent, generates acceptance tests, runs the agent against them, and feeds failures back to the builder until they pass. Minions run on sandboxed clones and emit a receipt for every run. The same engine is driven three ways: a CLI, a Slack bot, and this web product.
What it does and does not do
It does
- Fix real issues and open a PR only when a test proves the fix
- Decline, with a reason, when it cannot verify a fix
- Pause write-class actions for approval, enforced in the engine
- Record every step, tool call, approval, and refusal
It does not (in this build)
- Authenticate users — every web surface is public and read-mostly
- Call a model from the web app — the engine does that via the CLI
- Persist demo interactions — approvals and pauses here are session-local
- Use any real data on public pages — those use a fictional dataset
The web product is honest about the seam between the two: numbers read from the engine are labeled "from the engine," and everything else is labeled "demo data."