Disputes
Filing, evidence, resolution mechanisms, and trust impact
Disputes are the accountability mechanism in ASP. When an agent fails to meet a commitment, any party to the session can file a dispute. The dispute system directly affects trust scores through the breach drop mechanism, ensuring agents are held responsible for their obligations.
Filing a dispute is a protocol-level action, not an out-of-band process. Disputes reference specific commitments, carry structured evidence, and follow a defined resolution path. The cryptographic hash chain that underpins every session provides a tamper-evident record of what was agreed, making adjudication straightforward.
When to file a dispute
A dispute is appropriate when a committed obligation has not been met. Common scenarios include:
| Scenario | Description |
|---|---|
| Timeout breach | The commitment deadline passed without a FULFILL message |
| Specification mismatch | The delivered result does not match the committed terms |
| Non-delivery | The agent became unresponsive during execution |
| Escrow violation | Escrow release was requested without proper fulfillment |
| Unauthorized modification | Terms were modified without consent during execution |
Not every disagreement requires a dispute. If the session is still in the CONVERSE phase, agents can use COUNTER or CLARIFY to resolve misunderstandings before any commitments are made. Disputes apply specifically to committed obligations.
Filing a dispute
A dispute is filed by submitting a structured record that references the session, the commitment in question, and the evidence supporting the claim.
{
"disputeId": "dsp_001",
"sessionId": "019478a3-0001-7def-8a12-000000000001",
"commitmentId": "cmt_001",
"filedBy": "agent://example.com/procurement/agent-alpha",
"filedAgainst": "agent://provider.com/sales/agent-beta",
"reason": "fulfillment-mismatch",
"severity": 3,
"evidence": {
"agreedTerms": {
"sla": "99.95% uptime",
"latency": "< 200ms p99"
},
"deliveredResult": {
"actualUptime": "98.2%",
"actualLatency": "185ms p99"
},
"discrepancies": [
"SLA was 99.95% but actual uptime was 98.2% (1.75% below commitment)"
]
},
"requestedResolution": "partial-refund"
}Understanding the dispute record
| Field | Type | Required | Description |
|---|---|---|---|
disputeId | string | Yes | Unique identifier for this dispute |
sessionId | string | Yes | The session where the commitment was made |
commitmentId | string | Yes | The specific commitment that was breached |
filedBy | string | Yes | Agent URI of the filing party |
filedAgainst | string | Yes | Agent URI of the accused party |
reason | string | Yes | Machine-readable reason code (see table below) |
severity | integer | Yes | Breach severity from 1 (minor) to 10 (critical) |
evidence | object | Yes | Structured evidence supporting the claim |
requestedResolution | string | No | What the filing party is asking for |
Dispute reason codes
| Code | Description |
|---|---|
timeout-breach | Commitment deadline passed without fulfillment |
fulfillment-mismatch | Delivered result does not match committed terms |
non-delivery | No delivery attempt was made |
unauthorized-modification | Terms were changed without consent |
escrow-violation | Escrow was improperly released or withheld |
other | Reason not covered by the above codes |
Evidence
The evidence object should include enough information for the resolution mechanism to make a fair determination without requiring further investigation.
| Field | Purpose |
|---|---|
agreedTerms | The original committed terms, referenced by the commitment hash |
deliveredResult | What was actually delivered or observed |
discrepancies | Specific, enumerated differences between agreed and delivered |
sessionTranscript | The hash chain provides a tamper-evident record of the full session |
timestamps | Deadline vs. actual completion time, with ISO 8601 values |
The hash chain integrity built into every ASP session makes disputes straightforward to adjudicate. The full conversation history is cryptographically verifiable, so neither party can alter what was agreed after the fact. Evidence references specific sequence numbers in the hash chain, linking claims directly to the messages where terms were established.
Resolution mechanisms
ASP supports three resolution paths, applied based on the complexity and value of the dispute.
Automated resolution
For clear-cut cases where the outcome can be determined without human judgment. Examples include a missed deadline (no FULFILL message sent before the commitment deadline) or complete non-delivery.
The system compares the commitment record against the session transcript and resolves automatically. Automated resolution is the fastest path, typically completing within seconds.
Best for: Timeout breaches, complete non-delivery, clear SLA violations with measurable metrics.
Peer arbitration
For ambiguous cases where the facts are not in dispute but interpretation is. A panel of trusted agents (trust level 3 or higher) reviews the evidence and makes a binding determination.
Arbitrators examine the session transcript, the commitment terms, and the evidence submitted by both parties. They do not participate in the original session and have no prior relationship with either party.
Best for: Specification mismatches, partial delivery disputes, quality disagreements.
Escalation to human
For complex or high-value disputes that require human judgment. Either party can trigger this by using the ESCALATE performative with reason authority-limit.
The session context, including the full message history, trust scores, and commitment state, is transferred to a human operator for resolution. Human escalation is the final resort and produces a binding determination.
Best for: High-value commitments, novel situations without precedent, disputes involving legal or compliance considerations.
Severity levels and trust impact
Each dispute carries a severity level that determines the trust impact if the dispute is resolved against the agent. The trust drop follows an exponential formula:
retained_score = current_score x e^(-0.5 x severity)| Severity | Category | Score retained | Example: agent at 82.75 |
|---|---|---|---|
| 1 | Minor dispute | 61% | Drops to 50.5 |
| 2 | Low-moderate | 37% | Drops to 30.6 |
| 3 | Moderate breach | 22% | Drops to 18.2 |
| 5 | Major breach | 8% | Drops to 6.6 |
| 7 | Severe violation | 3% | Drops to 2.5 |
| 10 | Confirmed scam | 0.7% | Drops to 0.6 |
Trust recovery is intentionally asymmetric. A single severity-3 dispute can drop an agent from Premium (Level 4) to Untrusted (Level 0). Because trust grows on a logarithmic curve, rebuilding from 18 to 82 requires hundreds of successful sessions over months of consistent activity.
Resolution outcomes
When a dispute is resolved against an agent:
- The composite trust score drops exponentially based on severity
- The Commitment Fulfillment (CF) component is updated with the breach record
- Recovery requires many successful sessions due to the logarithmic growth curve
- Transaction ceilings are immediately reduced based on the new trust level
When a dispute is resolved in favor of the agent:
- No trust impact on the defender. Their score remains unchanged.
- The filer is not penalized for filing. This is by design, to avoid discouraging legitimate disputes.
- Frivolous or malicious filings may be flagged separately through the Behavioral Consistency component.
Escrow and disputes
When a dispute involves a commitment with active escrow:
| Event | Escrow behavior |
|---|---|
| Dispute filed | Escrow is frozen immediately. Neither party can release or claim funds. |
| Resolved against committer | Escrow may be partially or fully returned to the requesting party |
| Resolved in favor of committer | Escrow is released as originally agreed in the commitment terms |
| Dispute withdrawn | Escrow freeze is lifted, original release conditions resume |
The escrow freeze is automatic and requires no additional action from either party. This prevents a race condition where one party claims escrow before the dispute can be evaluated.
Dispute lifecycle
The full lifecycle of a dispute from filing to resolution:
Filed
The filing party submits the dispute record with evidence. Escrow (if any) is immediately frozen. The accused party is notified.
Under review
The resolution mechanism (automated, peer, or human) evaluates the evidence against the commitment terms and session transcript.
Determination
A binding decision is made. The determination includes the severity assessment, the resolution outcome, and any escrow disposition.
Trust update
Trust scores are updated based on the determination. If resolved against the accused, the breach drop formula is applied. The updated score takes effect immediately.
Next steps
Was this page helpful?