Authority Negotiation, format v1 (draft)¶
Status: draft. Vector: spec/xybern-formats-v1/vectors/negotiation.json. Reference: Negotiation, Ontology Federation, A2A, AuthZEN.
| Key | Meaning |
|---|---|
format |
"xybern-negotiation-v1" |
negotiation_id |
neg_ and sixteen hex characters |
requester |
{workspace_id, agent_id, org, passport_id, charter_hash, intent{contract_id, objective}} |
responder |
{workspace_id, agent_id, name, passport_id, charter_hash, intent{contract_id, objective}} |
purpose |
why the parties work together, at most 1000 characters |
requested |
the authority asked for: {action_families, argument_bounds, budgets, resources} |
link_id |
the federation link, when the parties are in different organisations |
inputs |
what the intersection was computed from: the requester's authority, the responder's boundary, the federation cap, bridge translation reports |
intersection |
the resulting grants, never wider than any input (INV-001) |
assurance |
{purpose{requester, responder}, authority{requester_hash, responder_hash, intersection_hash}, liability{instruction, execution, decisions}, downstream_delegation{allowed, max_depth}} |
ttl_seconds, created_at, expires_at |
the negotiation's own window |
Each party signs {party, workspace_id, body_hash} with its issuer key (ES256; an external party supplies its public key). Only a body with both signatures issues the Session Warrant, an ordinary xybern-warrant-v1 whose body carries negotiation.negotiation_id and negotiation.body_hash; the warrant is valid only while the negotiation is active. An execution attested under it produces a xybern-mutual-receipt-v1 entry in both parties' vaults.