Agent Legal Context
Specification

Dispute Resolution

The dispute lifecycle state machine, automated resolution, escalation, evidence anchoring, and agent participation.

Dispute resolution is a first-class protocol primitive, not an afterthought. Every on-chain record (IntegraRecord in the reference implementation) can have a dispute resolution resolver attached that defines the process, jurisdiction, and rules for resolving disagreements.


Dispute Lifecycle

FILED -> EVIDENCE_SUBMISSION -> REVIEW -> HEARING -> RULING -> ENFORCED
                 |                                      |
             WITHDRAWN                               APPEALED
                                                        |
                                              APPEAL_REVIEW -> FINAL_RULING -> ENFORCED

FILED -> REJECTED (if filing requirements not met)

State Encoding

Stateuint8Description
FILED1Dispute has been filed
EVIDENCE_SUBMISSION2Evidence submission period open
REVIEW3Initial review of evidence
HEARING4Hearing in progress
RULING5Ruling issued
ENFORCED6Ruling enforced (terminal)
APPEALED7Ruling appealed
APPEAL_REVIEW8Appeal under review
FINAL_RULING9Final ruling issued, non-appealable
WITHDRAWN10Dispute withdrawn by claimant (terminal)
REJECTED11Filing rejected (terminal)

Terminal states: ENFORCED, WITHDRAWN, REJECTED.


Automated Resolution

For transactions below a vendor-defined threshold, disputes MAY be resolved automatically using pre-defined rules encoded in the dispute resolution resolver.

Requirements for automated resolution:

  • MUST be disclosed in the terms
  • MUST be described in the dispute resolution process returned by the API
  • The threshold MUST be clearly stated (e.g., "Disputes under $1,000 are resolved automatically")

Automated resolution enables high-volume, low-value transactions to have dispute resolution without the cost of human mediation.


Escalation

For transactions above the threshold, or when automated resolution fails, disputes MUST be escalable to a human-mediated process. The dispute resolution resolver specifies:

  • The institution (e.g., American Arbitration Association)
  • The rules (e.g., Commercial Arbitration Rules)
  • The jurisdiction (e.g., New York, USA)
  • The filing endpoint

The API returns all escalation details via GET /v1/records/{recordId}/dispute.


Evidence Anchoring

All evidence submitted during a dispute MUST be content-addressed. Each piece of evidence is hashed (SHA-256) and the hash is anchored on-chain via the dispute resolver.

The evidence chain provides tamper-evident proof of:

  • What was submitted (the hash identifies the exact content)
  • When it was submitted (the block timestamp)
  • By whom (the submitter's address)

Initial evidence can be included at dispute filing time via evidenceHashes in the POST /v1/records/{recordId}/disputes request body. After filing, additional evidence is submitted via the on-chain resolver's submitEvidence(disputeId, evidenceHash) function.


Agent Participation

AI agents MAY participate in dispute resolution processes -- filing claims, submitting evidence, and responding to inquiries -- within the bounds of their authorization scope.

The dispute resolution resolver determines whether agent participation is permitted for each dispute category and stage. For example:

  • Filing: Agents MAY file disputes on behalf of their principals
  • Evidence: Agents MAY submit evidence (content-addressed documents)
  • Response: Agents MAY respond to inquiries within their authorization scope
  • Resolution: Some stages may require human participation (e.g., hearings)

The authorization scope (defined by the tokenizer and terms policy) constrains what the agent can do at each stage.