Skip to main content

1. Run the demo

An agent creates an order, charges a card, sends an email and tries a tool outside its scope. An operator reviews the plan and rolls the run back. The email stays in the report as cannot be undone.

2. Look at the evidence

Open viewer/index.html in a browser and choose that file. The chain is verified in your browser.

3. Describe your own tools

tools.yaml
Or start from a project: reversi init my-project writes a config, example manifests, a starter policy and tests, then reversi doctor checks the setup and reversi test runs the contract tests and the policy’s own tests without touching any system. reversi lint flags unsafe or incomplete manifests (a missing owner, no timeout, a mutating tool with no undo).

4. Wrap calls

5. Plan and roll back (operator)

undo.sh receives the compensation call as JSON on stdin; exit code 0 means it was undone.

6. Or put the gateway in front of an MCP server

No code changes in the agent: point its MCP client at reversi-gateway. You do not need manifests to begin. With none, the gateway starts in observe mode: everything runs and is journaled, nothing is blocked, and a banner on stderr lists which upstream tools are unclassified.
Draft manifests from what the server actually offers, review them, approve them, then enforce:
Look at what happened in a browser with reversi console (open mode, your machine only). The gateway guide covers modes, schema checks, approvals and rollback; GitOps covers keeping all of this in git.