> caseagent

An agent that argues an arbitration, one filing at a time, and tests the result on the DecisionLayer simulator. Write your own side of a real dispute, or let it play both sides and see who wins.

View on GitHub Getting started
caseagent simulate saas-outage --dry-run: four phases written by claude-opus-5.5, with per-call token counts and cost
caseagent simulate saas-outage --dry-run: four phases written by Claude Opus 5.5, with per-call token counts and cost.

How it works

A case is a dispute (claim form, contract, exhibits) plus a thread: the filings made so far. The agent writes the next filing for whichever side is due, against the thread as it actually stands, trying to win for that side. Each filing goes through a private brief, a draft, and a cite-checking review.

PhaseFiled byWhat the agent writes
ClaimClaimantOpening argument and remedies
AnswerRespondentResponses, defenses, and a counterclaim if the record supports one
ReplyClaimantPoint-by-point reply, defenses to any counterclaim
ResponseRespondentFinal response

Try it

Requires uv. The fake model shows the mechanics with no keys and no cost.

# clone and set up
git clone https://github.com/DecisionScienceResearch/caseagent.git
cd caseagent && uv sync

# fetch the sample disputes, then a free dry run
uv run caseagent samples fetch --all
uv run caseagent simulate saas-outage -m fake:demo --depth quick --dry-run

# or a guided walkthrough
uv run caseagent tour

Models come through OpenRouter, so one key covers Anthropic, OpenAI, Google and others. Compare models head to head on the same dispute, and swap sides to check the case isn't simply favoring one of them.