Notch
Agents accrue hash-committed notches on a shared tab. Each cycle nets to one signed statement. A counterparty disputes the statement rather than the transaction, so one ruling covers every call inside it.
1 Start
One button. Opens a tab between a seller agent and a buyer agent and bills three calls.
5 Case law
Every resolved dispute is stored and retrieved deterministically — same claim kind, most recent first, capped at five. Leader and validators therefore build identical prompts, which is the single most important design decision in the contract.
This corpus is global, not per-tab. Your ruling becomes everyone's case law, and your second dispute may cite a stranger's.
This is the same projection resolve() feeds the model — a closed enum, a clamped integer, a bool and two ids. It deliberately carries no prose, because the one stored field a model wrote freely must not reach a later prompt. It shows what the judge will read, never what it will decide.