{
  "id": "tonywood.protocol.agent-communication-packet",
  "slug": "agent-communication-packet",
  "title": "Agent Communication Packet",
  "shortName": "Agent Packet",
  "version": "0.1.0",
  "status": "draft",
  "canonicalUrl": "https://www.tonywood.org/protocols/agent-communication-packet/",
  "summary": "A compact packet for claim, evidence, uncertainty, ownership, route, risk, next action, success condition, and action status.",
  "sourceResearch": [
    {
      "title": "Agentic Language: The Common Language Layer For Agentic Work",
      "url": "https://www.tonywood.org/white-papers/agentic-language-common-language-layer/"
    }
  ],
  "sourceAgentCanon": [
    {
      "title": "Agent Canon: Agentic Language Common Language Layer",
      "url": "https://www.tonywood.org/for-agents/agent-canon/agentic-language-common-language-layer/"
    }
  ],
  "authority": "Public educational protocol. It structures preparation and handoff. It does not grant operational authority or authorise the agent to decide or act.",
  "appliesWhen": [
    "An agent is handing work to a human or another agent.",
    "A claim needs evidence and uncertainty rather than a confident paragraph.",
    "A workflow needs reviewable ownership, risk, and next action."
  ],
  "doesNotApplyWhen": [
    "The packet would reveal private or unauthorised data.",
    "The agent lacks enough evidence to form even a bounded claim.",
    "The active workflow already defines a stricter packet or schema."
  ],
  "must": [
    "Separate claim, evidence, uncertainty, and recommendation.",
    "Name the owner or say owner is unknown.",
    "Name the route, risk, next action, success condition, and external action status for material work.",
    "Keep action status explicit when the work is proposal-only."
  ],
  "should": [
    "Keep packets short enough to be read during review.",
    "Use source references instead of unsupported confidence.",
    "Flag pattern candidates without promoting them automatically."
  ],
  "may": [
    "Use the packet in prose, JSON, a handoff note, or an MCP resource.",
    "Omit fields only when they are not relevant and the omission does not create ambiguity."
  ],
  "mustNot": [
    "Use a polished packet to disguise weak evidence.",
    "Treat a next action as approval to execute.",
    "Drop uncertainty because it makes the packet look cleaner."
  ],
  "packetFields": [
    {
      "name": "claim",
      "meaning": "What the agent believes, recommends, or thinks is happening."
    },
    {
      "name": "evidence",
      "meaning": "Sources, observations, tool outputs, tests, or prior decisions."
    },
    {
      "name": "uncertainty",
      "meaning": "What is missing, stale, ambiguous, assumed, or contested."
    },
    {
      "name": "owner",
      "meaning": "Who or which lane owns the next step."
    },
    {
      "name": "route",
      "meaning": "Where the work should go next."
    },
    {
      "name": "risk",
      "meaning": "What could go wrong or what threshold is being approached."
    },
    {
      "name": "next_action",
      "meaning": "The next safe step."
    },
    {
      "name": "success_condition",
      "meaning": "The observable condition that makes the step complete."
    },
    {
      "name": "external_action_status",
      "meaning": "Whether external action is unauthorised, proposal-only, approved, or already completed."
    },
    {
      "name": "pattern_candidate",
      "meaning": "Whether this looks repeatable enough for later review."
    }
  ],
  "examples": [
    {
      "name": "Research handoff",
      "input": "Summarise a research finding for another agent.",
      "expected": "Include claim, evidence, uncertainty, owner, next action, and success condition."
    },
    {
      "name": "External action",
      "input": "Prepare a customer reply.",
      "expected": "Keep external_action_status as proposal-only unless the active workflow grants send authority."
    }
  ],
  "evalChecks": [
    "Can the agent produce a packet that another agent can continue from?",
    "Can the agent preserve uncertainty without turning it into vague caveat text?",
    "Can the agent state whether external action is allowed?"
  ],
  "relatedProtocols": [
    "agent-moves-oal-1",
    "meaning-blocks-omb-1",
    "head-heart-gut-spine"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "date": "2026-06-16",
      "note": "Initial public protocol extracted from the Agentic Language research draft."
    }
  ],
  "type": "protocol",
  "contentType": "protocol",
  "canonicalPath": "/protocols/agent-communication-packet/",
  "jsonUrl": "https://www.tonywood.org/protocols/agent-communication-packet/protocol.json",
  "resourceUri": "tonywood://protocols/agent-communication-packet"
}
