Skip to main content

Overview

When you want to edit symbols currently reserved by another agent, open a negotiation rather than blocking. Negotiations run a state machine with bounded turns and a deadline — if the counterparty doesn’t respond by the deadline, the negotiation auto-resolves in your favor. Hitting max_turns without a terminal action escalates to a human.

Parameters

ParameterTypeRequiredDescription
initiator_sessionstringYesYour agent_sessions.id
counterparty_sessionstringYesThe session currently holding the symbol
filestringYesFile path in question
workstream_idstringNoWorkstream id (if applicable)
symbol_idsstring[]NoSpecific symbol_graph_nodes.id values
symbol_namesstring[]NoSymbol names (when ids aren’t known)
rationalestringNoWhy you need the symbols
max_turnsnumberNoTurn cap before escalation
deadline_msnumberNoResponse deadline (default 5 minutes)

Example

{
  "tool": "negotiate_open",
  "arguments": {
    "initiator_session": "sess_me",
    "counterparty_session": "sess_them",
    "file": "src/billing/stripe.ts",
    "symbol_names": ["createSubscription"],
    "rationale": "Need to add proration branch before your refactor ships."
  }
}
The counterparty responds via negotiate_respond.