{
  "handle": "Discover",
  "mechanism": "A distributed coordination protocol where an agent broadcasts a query to locate external entities matching a {{criteria}}. Uses {{check}} to filter responses. Unlike {{search}}, which scans internal memory, Discover requires another party to answer.",
  "gloss": "Distributed query for external resources",
  "_meta": {
    "tier": 1,
    "ring": 2,
    "supersedes": [
      "sema:Discover#mh:SHA-256:afa14d67f5837d32ee70ae99c0b625d39864254bafd2b11b0ef690cc8fda5dbc",
      "sema:Discover#mh:SHA-256:8895070d390ce7493b0534f56d22d9dec6eb341d0865e4214f8f0141dc6f5104"
    ],
    "path": [
      "Society",
      "Protocols"
    ]
  },
  "sema_id": "sema:Discover#mh:SHA-256:f6e09de2a5b38c031651d22539fafaa46e32869b06dae8009bde18cb249da69b",
  "sema_ref": "Discover#f6e0",
  "sema_stub": "f6e0",
  "invariants": [
    "A Discover states when it stops waiting; responses arrive as asynchronous {{signal}}s with no completion of their own.",
    "Responses pass {{check}} against the {{criteria}} before counting as matches."
  ],
  "failure_modes": [
    "Silence read as absence: the window closed with no match, which licenses only that nothing answered.",
    "Response flood: a broad {{criteria}} returns more than the caller can filter; the stop condition bounds time, not volume."
  ],
  "dependencies": {
    "references": {
      "check": "sema:Check#mh:SHA-256:6890b221c38531710528cd84bbf3a957e29d9836dfc9c02669fc0a86709bcb00",
      "criteria": "sema:Criteria#mh:SHA-256:92ab804441f5ff5307c6e45905818372e6159c4bd64d264ac7fddd6705de8acb",
      "search": "sema:Search#mh:SHA-256:1da96800031333016d0be31b6721f15867df62aa9cd93d2a10102efb7d4841a7",
      "signal": "sema:Signal#mh:SHA-256:6eaff8a06e08e75279670bc09d88175d130815240fdfb3a21252c0364769c1fc"
    }
  },
  "sema_layer": "Society",
  "sema_category": "Protocols",
  "used_by": {
    "references": {
      "AgentDiscover": "sema:AgentDiscover#mh:SHA-256:b784015934d1ccca13707ea806a03a3c7951a8de87bdd7a5c7a1d8bd5d93ce5e",
      "ConsensusFinder": "sema:ConsensusFinder#mh:SHA-256:cbb7008c04a31f627c94eaeb135e9a14f7e57085fe84ae9941e49d3204ff5190",
      "Deep": "sema:Deep#mh:SHA-256:16b0cb8d6aa42a890215fb7a44e480c27360165de2249d205ee6c1b2d01896bb",
      "DeepResearch": "sema:DeepResearch#mh:SHA-256:2e2ba9173185caffc282ebbbaad3c5717a3720f8b6e3625dc1b13f166e481879",
      "DiscoveryProtocol": "sema:DiscoveryProtocol#mh:SHA-256:5c8e74ee9833090e8bc5e91f373e165f885cd7b23f79bb55c6127d783ba9d96b",
      "HypothesisEngine": "sema:HypothesisEngine#mh:SHA-256:f9e8f765ed6e5bca5355567747f7ea9acf4c9836a8f287df8831a9e18c179e3e",
      "IdentityHandshake": "sema:IdentityHandshake#mh:SHA-256:43973ed8054341201f5eec5ad6fbed43a31cb178f0180ceadb20c896505b2b32",
      "ToolDiscovery": "sema:ToolDiscovery#mh:SHA-256:b1659e870015d2d6e37842f31a0bc1cc2d2d2882aaf6d0bc3b6b1236885890d7"
    }
  }
}
