{
  "$schema": "https://aiia.ro/spec/ai-agent-json/v1",
  "spec": "ai-agent.json/1.0 (aiia.ro)",
  "agent": {
    "name": "Agents Talking to Agents (workshop deck)",
    "version": "1.0.0",
    "updated": "2026-05-18",
    "callable": false,
    "description": "A 42-slide live workshop on the A2A protocol delivered at ClawCamp Campfire 2026-05-18 at Frontier Tower (Floor 10) in San Francisco. Walks the May 2026 SOTA agent-to-agent stack (A2A discovery, agent cards, RFC 8628 device-code onboarding, MCP composition, x402/AP2 economic gating) with 5 runnable labs. Recursive proof of thesis: the deck itself is agent-discoverable via /.well-known/agent-card.json + /.well-known/ai-agent.json + /.well-known/mcp.json + /llms.txt.",
    "tagline": "A2A v1.0 — agent cards, JSON-RPC, MCP composition, in one hour."
  },
  "publisher": {
    "name": "Rayyan Zahid",
    "handle": "linkedin.com/in/rayyanzahid",
    "url": "https://linkedin.com/in/rayyanzahid",
    "venue": "Immersive Commons · Floor 10 · Frontier Tower SF"
  },
  "event": {
    "name": "ClawCamp Campfire",
    "date": "2026-05-18",
    "url": "https://clawcamp.us",
    "location": "Frontier Tower, Floor 10, San Francisco, CA",
    "format": "live-workshop"
  },
  "content": {
    "type": "presentation",
    "slides": 42,
    "license": "CC-BY-SA-4.0",
    "license_url": "https://creativecommons.org/licenses/by-sa/4.0/",
    "deep_link_pattern": "https://vibe-coding-a2a.vercel.app/#{slide_number}",
    "acts": [
      {"act": "I",   "name": "Cold Open",                        "slides": "1-3"},
      {"act": "II",  "name": "What A2A Is (Concept)",            "slides": "4-7"},
      {"act": "III", "name": "Discovery Demo (Live curl)",       "slides": "8-10"},
      {"act": "IV",  "name": "Verbs + Tasks + Streaming",        "slides": "11-13"},
      {"act": "V",   "name": "MCP Compose (Public Tool Call)",   "slides": "14-15"},
      {"act": "VI",  "name": "Build Your Own (Render a Card)",   "slides": "16-18"},
      {"act": "VII", "name": "Production Hardening (Auth/Sig)",  "slides": "19-20"},
      {"act": "VIII","name": "Frontier + Close (x402 / Go Forth)","slides": "21-22"}
    ],
    "slides_list": [
      {"n": 1,  "title": "Title — Agents Talking to Agents",                                "act": "I"},
      {"n": 2,  "title": "Why now — A2A v1.0.0 shipped 2026-03-12, 150+ orgs",              "act": "I"},
      {"n": 3,  "title": "The promise — agents discover, authenticate, transact",            "act": "I"},
      {"n": 4,  "title": "A2A in one chart — discovery + JSON-RPC + tasks + streaming",      "act": "II"},
      {"n": 5,  "title": "Agent Card — the well-known contract",                              "act": "II"},
      {"n": 6,  "title": "The four-protocol stack — MCP + A2A + ACP/AGNTCY + ANP",            "act": "II"},
      {"n": 7,  "title": "Who shipped — 150+ orgs, 23k+ stars, 43-agent live registry",       "act": "II"},
      {"n": 8,  "title": "LIVE — curl immersivecommons.com/.well-known/agent-card.json",     "act": "III"},
      {"n": 9,  "title": "What you get back — 14 capabilities, 19 scopes, recovery block",   "act": "III"},
      {"n": 10, "title": "Apex 307 trap (PITFALL P29) — POST to www, not apex",              "act": "III"},
      {"n": 11, "title": "Verbs — message/send, tasks/get, tasks/cancel, tasks/resubscribe", "act": "IV"},
      {"n": 12, "title": "Task lifecycle — submitted → working → input-required → completed", "act": "IV"},
      {"n": 13, "title": "Streaming — Server-Sent Events over Streamable HTTP (PITFALL P36)", "act": "IV"},
      {"n": 14, "title": "MCP compose — call ic_signal_get_latest with zero auth",            "act": "V"},
      {"n": 15, "title": "Parse JSON OR text/event-stream (the dual-accept trap)",            "act": "V"},
      {"n": 16, "title": "Build your own — copy template, fill 4 fields, audit",              "act": "VI"},
      {"n": 17, "title": "Audit your repo — agentify CHECKLIST (30 points)",                  "act": "VI"},
      {"n": 18, "title": "Ship — Vercel + .well-known + CORS in 5 minutes",                   "act": "VI"},
      {"n": 19, "title": "Auth — RFC 8628 device-code for human-in-the-loop signup",          "act": "VII"},
      {"n": 20, "title": "Signed requests — RFC 9421 Ed25519 (the bearer-to-signed upgrade)", "act": "VII"},
      {"n": 21, "title": "Frontier — x402 USDC, AP2 60+ orgs, ERC-8004 trustless identity",   "act": "VIII"},
      {"n": 22, "title": "GO FORTH — 6 QRs, your turn to publish a card",                     "act": "VIII"}
    ],
    "labs": [
      {"slug": "01-probe-ic",            "path": "/lab/a2a-handshake.html",   "title": "Discover a production A2A agent with one curl",  "difficulty": "trivial",     "demo_time_min": 3},
      {"slug": "02-call-public-mcp-tool","path": "/lab/agent-card-fetch.html","title": "Call a real MCP tool with zero auth",            "difficulty": "easy",        "demo_time_min": 5},
      {"slug": "03-render-agent-card",   "path": "/lab/serve-a2a.html",       "title": "Write your first agent card from a template",    "difficulty": "medium",      "demo_time_min": 7},
      {"slug": "04-fastapi-mcp-server",  "path": "/lab/conformance.html",     "title": "Stand up a real MCP server in 30 lines FastAPI", "difficulty": "medium-hard", "demo_time_min": "takeaway"},
      {"slug": "05-x402-paywall",        "path": "/lab/",                     "title": "Make an agent pay USDC to call your tool",       "difficulty": "hard",        "demo_time_min": "takeaway"}
    ]
  },
  "endpoints": {
    "site_map": "/llms.txt",
    "robots": "/robots.txt",
    "agent_card": "/.well-known/agent-card.json",
    "mcp_discovery": "/.well-known/mcp.json",
    "sitemap": "/sitemap.xml",
    "og_image": "/og.svg"
  },
  "sister_manifests": {
    "a2a_card": "https://vibe-coding-a2a.vercel.app/.well-known/agent-card.json",
    "mcp_discovery": "https://vibe-coding-a2a.vercel.app/.well-known/mcp.json",
    "llms_index": "https://vibe-coding-a2a.vercel.app/llms.txt",
    "sitemap": "https://vibe-coding-a2a.vercel.app/sitemap.xml"
  },
  "exhibits": {
    "immersive_commons": {
      "url": "https://www.immersivecommons.com",
      "manifest": "https://www.immersivecommons.com/.well-known/ai-agent.json",
      "agent_card": "https://www.immersivecommons.com/.well-known/agent-card.json",
      "mcp_discovery": "https://www.immersivecommons.com/.well-known/mcp.json",
      "mcp_endpoint": "https://www.immersivecommons.com/api/mcp",
      "a2a_endpoint": "https://www.immersivecommons.com/api/a2a",
      "device_code_signup": "https://www.immersivecommons.com/api/agent/signup/start",
      "comment": "Production A2A surface — 37 tools, 19 scopes, bearer + RFC 8628 + RFC 9421. The workshop's live demo target."
    },
    "skew":          {"url": "https://skew.site",           "comment": "Supply-side AI landing-page generator. Agent card published."},
    "lobsterhoney":  {"url": "https://lobsterhoney.com",    "comment": "AI-agent security audit + honeypot. Defender posture."},
    "agentify":      {"type": "claude-skill",                "verify": "https://isitagentready.com", "comment": "21+30-point agent-readiness audit. Run on YOUR repo after the workshop."},
    "predecessor":   {"url": "https://uncommon-internet-after-interfaces.vercel.app", "comment": "Sister deck — 45-slide keynote on the post.ui web (ClawCamp Human+Tech Week 2026-05-11)."},
    "a2a_registry":  {"url": "https://a2aregistry.org",     "comment": "Live public A2A agent registry (43 agents as of 2026-05-18, 30-min health checks)."},
    "a2a_spec":      {"url": "https://a2a-protocol.org/latest/", "comment": "Authoritative spec. v1.0 banner. 3-binding (JSON-RPC + gRPC + REST). Normative source: spec/a2a.proto."}
  },
  "primary_sources": [
    {"name": "A2A v1.0.0 release",                              "url": "https://github.com/a2aproject/A2A/releases/tag/v1.0.0", "date": "2026-03-12"},
    {"name": "Linux Foundation A2A 1-year retro (150+ orgs)",   "url": "https://www.linuxfoundation.org/press/a2a-protocol-surpasses-150-organizations-lands-in-major-cloud-platforms-and-sees-enterprise-production-use-in-first-year", "date": "2026-04-09"},
    {"name": "A2A spec — agent discovery",                       "url": "https://a2a-protocol.org/latest/topics/agent-discovery/", "date": "2026-05-18"},
    {"name": "A2A spec — specification",                         "url": "https://a2a-protocol.org/latest/specification/", "date": "2026-05-18"},
    {"name": "AWS Bedrock AgentCore Payments (Coinbase+Stripe)", "url": "https://aws.amazon.com/blogs/machine-learning/agents-that-transact-introducing-amazon-bedrock-agentcore-payments-built-with-coinbase-and-stripe/", "date": "2026-05-07"},
    {"name": "Anthropic — Claude Managed Agents",                 "url": "https://claude.com/blog/new-in-claude-managed-agents", "date": "2026-05-07"},
    {"name": "Business Insider — Anthropic tops OpenAI (Ramp)",   "url": "https://www.businessinsider.com/anthropic-tops-openai-business-ai-adoption-ramp-index-2026-5", "date": "2026-05-15"},
    {"name": "Cloudflare — Scaling MCP adoption",                 "url": "https://blog.cloudflare.com/enterprise-mcp/", "date": "2026-05-12"},
    {"name": "AWS MCP Server GA",                                 "url": "https://aws.amazon.com/blogs/aws/the-aws-mcp-server-is-now-generally-available/", "date": "2026-05-06"},
    {"name": "Claude Platform on AWS GA",                         "url": "https://aws.amazon.com/about-aws/whats-new/2026/05/claude-platform-aws/", "date": "2026-05-11"},
    {"name": "CNCF — Agent retrieval strategies on K8s",          "url": "https://www.cncf.io/blog/2026/05/08/benchmarking-ai-agent-retrieval-strategies-on-kubernetes-bug-fixes/", "date": "2026-05-08"},
    {"name": "Five Attacks on x402 (arXiv)",                      "url": "https://arxiv.org/abs/2605.11781", "date": "2026-05-13"},
    {"name": "Ehtesham et al. — Interoperability survey (MCP/ACP/A2A/ANP)", "url": "https://arxiv.org/abs/2505.02279", "date": "2025"},
    {"name": "Habler et al. — Secure A2A application (ACSAC)",    "url": "https://doi.org/10.1109/ACSACW69556.2025.00043", "date": "2025"},
    {"name": "BlockA2A — Verifiable A2A interop",                 "url": "https://arxiv.org/abs/2508.01332", "date": "2025"},
    {"name": "Vaziry et al. — A2A + x402 + ledger identities",    "url": "https://arxiv.org/abs/2507.19550", "date": "2025"},
    {"name": "Anbiaee et al. — Threat models for emerging protocols", "url": "https://arxiv.org/abs/2602.11327", "date": "2026"},
    {"name": "Liao et al. — AgentMaster (A2A+MCP integration)",   "url": "https://arxiv.org/abs/2507.21105", "date": "2025"}
  ],
  "recovery": {
    "if_endpoint_404": {
      "action": "refetch_manifest",
      "rationale": "This deck is a static artifact — paths shouldn't move. If a 404 appears, the manifest version may be stale. Re-read /.well-known/ai-agent.json and trust the latest version field; check the sister_manifests block for the current canonical URLs.",
      "report_to": null,
      "report_kind": "endpoint_404"
    },
    "if_schema_mismatch": {
      "action": "refetch_manifest_then_proceed",
      "rationale": "Body shape may have shifted. Re-read manifest; if version bumped, trust the new shape. This deck does not enforce schema versions strictly — it teaches them.",
      "report_to": null,
      "report_kind": "schema_mismatch"
    },
    "if_stale_doc": {
      "action": "proceed_with_attribution",
      "rationale": "Slide list or capability list may reference content that's been edited. The deck is read-only — if you cite, link to the slide URL plus the date of access. The deck's git history is the source of truth at vibe-coding-a2a.vercel.app.",
      "report_to": null,
      "report_kind": "stale_doc"
    },
    "if_rate_limited": {
      "action": "respect_retry_after_then_backoff",
      "rationale": "Static-HTML deck served by Vercel — rate limits unlikely. If they appear, respect Retry-After; without it, exponential backoff from 5s.",
      "max_retries": 3
    },
    "if_signed_request_required": {
      "action": "not_applicable",
      "rationale": "This deck requires no auth. If you see a 401 or 403, the request is misrouted — re-fetch from the canonical origin.",
      "guide": "https://vibe-coding-a2a.vercel.app/#19"
    },
    "out_of_band_contact": "rayyanzahidpk@gmail.com",
    "out_of_band_guide": "All in-protocol recovery paths exhausted? Email the publisher with the URL you fetched + the error body. This is a workshop artifact — the operator triages personally."
  },
  "policy": {
    "ai_training": "allow",
    "ai_citation": "encouraged-with-attribution",
    "license_for_quotes": "CC-BY-SA-4.0",
    "fabrication_policy": "All numbers and quotes in this deck come from primary_sources cited above. Agents quoting this deck should preserve attribution to 'Rayyan Zahid, Agents Talking to Agents, ClawCamp Campfire 2026-05-18'."
  },
  "auth": {
    "scheme": "none",
    "requires_human": false,
    "rate_limit": "none"
  },
  "discovery": {
    "mode": "public",
    "registered_at": ["https://aiia.ro", "https://a2aregistry.org"]
  }
}
