> ## Documentation Index
> Fetch the complete documentation index at: https://docs.enagrams.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Negotiation

> Bounded-turn resolution when two agents contest the same symbol

## The Problem

Two agents want to edit `createSubscription`. One has it reserved; the other needs it. Without a protocol, the second agent either blocks indefinitely, edits in a fork, or escalates prematurely.

## The Protocol

Negotiations are a state machine with bounded turns and a deadline.

```
negotiate_open (initiator)
  ↓
negotiate_respond (counterparty): yield | hold | defer | counter | split
  ↓
resolved | escalated | expired
```

### Actions

| Action | Effect | Terminal? |
| - | - | - |
| `yield` | Counterparty releases the symbol. Initiator proceeds. | Yes |
| `hold` | Counterparty keeps the symbol. Initiator routes around or escalates. | Yes |
| `defer` | Counterparty asks for `defer_ms` more time. | No |
| `counter` | Free-form reply keeping the turn open. | No |
| `split` | Partition the contested symbols between the two parties. | Yes |

### Auto-resolution

If the counterparty doesn't respond before `deadline_ms` (default: 5 minutes), the negotiation auto-resolves in the initiator's favor — because a silent lockholder is no better than no lockholder.

### Escalation

Hitting `max_turns` without a terminal action marks the negotiation `escalated` and surfaces it in the web dashboard for a human to resolve.

## When to Open One

The file-reservation denial message includes the holder's session id and current task. If routing around is impractical (the symbol is the point), call [`negotiate_open`](/mcp/negotiate-open) with a clear `rationale`.

Don't negotiate for symbols you'll touch once and move on — route around. Negotiate when you genuinely need the symbol and the other agent should know.

## Discovery

Call [`negotiate_list`](/mcp/negotiate-list) at session start (or after a long break) to catch anything waiting on your response.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.