Code Tribunal — The court for AI-generated code
Did the code build what the ticket asked for?
Linters check style. Tests check behavior. The Tribunal checks intent — seven agents cross-examine every diff against the ticket and stamp a verdict.
CLI · MCP · Web — free-tier LLMs, bring your own keys
AI writes the code. Nothing checks the ticket.
Linters check style
Semicolons, imports, naming. The surface of the code — never what it was supposed to do.
Tests check behavior
They prove the code does what the code says. Not what the ticket asked for.
Nobody checks intent
The ticket said rate-limit login. The diff added logging. Both pass CI.
The Tribunal reads the ticket, cross-examines the diff, and rules.
Seven agents. One verdict.
Ticket in. Cross-examination. Verdict out.
- CLERK
Files the case, summons the court.
Orchestrator - ADVOCATE
Turns the ticket into hard requirements.
Intent Witness - SURVEYOR
Maps what the diff actually shipped.
Implementation Witness - GHOST
Finds what was asked but never written.
Omission Auditor - DRIFT
Flags changes nobody authorized.
Scope Auditor - WARDEN ?
Recruited when auth or payments appear.
conditionalConstraint Witness - ARBITER
Weighs every witness. Issues the ruling.
Judge
Deterministic scoring — 100 minus earned deductions. Same inputs, same verdict.
Exhibit — mock trial
Watch a verdict land
A real docket, scripted — no API calls.
Add rate limiting to the login endpoint
- ·
Throttle failed attempts per IP (5 / 15 min)
under examination…
- ·
Return HTTP 429 with Retry-After header
under examination…
- ·
Window configurable via settings flag
under examination…
- ·
Persist lockout counter across restarts
under examination…
The court travels. Install it where your agent works.
The CLI and MCP server run today, free, with your own keys — install them from the repo below. The PyPI release and the hosted court land together — join the waitlist to hear the day they ship.
uvx --from "git+https://github.com/arun3676/code-tribunal.git#subdirectory=apps/api" tribunal-mcp
One command, works today — straight from the repo, no clone. Runs in Claude Code, Cursor, Codex, OpenClaw, Hermes; bring your own free Groq/Cerebras/Gemini keys. The short uvx --from code-tribunal form lands with the PyPI release.
The same intent-conformance court that runs in this browser ships as a CLI and an MCP server. Both OpenClaw and Hermes are MCP clients — so an agent can ask “does this diff match the ticket?” and loop on BLOCK before a human ever sees it.
tribunal init <agent>CLI
Shell · CIGate any PR from your terminal or pipeline. Exit 0 = clear to merge, 1 = blocked — drop it straight into CI. Bring any of Groq / Cerebras / Gemini — free tiers.
tribunal verify --ticket ticket.md --git --quiet || exit 1
Check your keys first: tribunal doctor
MCP server
Any MCP clientOne server, every MCP-native agent. Registers verify / ghost / drift as tools your agent calls mid-task. Groq is just the default key — tribunal init accepts --cerebras-key / --gemini-key too.
{
"mcpServers": {
"tribunal": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/arun3676/code-tribunal.git#subdirectory=apps/api",
"tribunal-mcp"
],
"env": { "GROQ_API_KEY": "<your-key>" }
}
}
}Shortens to --from code-tribunal once the PyPI release lands
OpenClaw
Self-hosted gatewayAdd the gate to your OpenClaw agent and post verdicts straight back into the Discord / Slack thread the ticket came from.
openclaw mcp add tribunal \ --command uvx \ --arg --from \ --arg "git+https://github.com/arun3676/code-tribunal.git#subdirectory=apps/api" \ --arg tribunal-mcp
Hermes
Autonomous agentMCP plus an Open Skill that teaches the write → verify → fix loop, so the gate becomes a habit across sessions.
tribunal init hermes
Bundled Open Skill: integrations/hermes/skill
The hosted court is next. Get on the docket.
The CLI and MCP server ship today, free, with your own keys. The hosted court — team dashboards, a PR bot, verdict history — opens invite-first. Register and your invitation lands the day it does.
We're not a model lab. We're the layer between the ticket and the diff — and because the court reasons with whatever key you bring, it gets sharper with every model upgrade. Your keys, your models, our courtroom.