# 003 — Wire UCXI P2P Announce and Discover - Area: `pkg/ucxi/resolver.go`, `pkg/ucxi/server.go`, `pkg/dht/encrypted_storage.go`, `pkg/dht/*` - Priority: High ## Background UCXI resolver has hooks for P2P `Announce`/`Discover` but they’re not connected. DHT announcements currently store a single peer and `DiscoverContentPeers` returns at most one peer. ## Scope / Deliverables - Implement resolver hooks using DHT: - Announce: write provider records or announcement values for multiple peers. - Discover: query providers/announcements and return a list of `ResolvedContent` sources. - Store peer lists, not just a single peer, and deduplicate. - Cache discovered results with TTL in resolver. ## Acceptance Criteria / Tests - Announcing content from multiple nodes produces multiple discoverable sources. - UCXI `/discover` returns >1 result when multiple providers exist. - Unit/integration tests simulate 2–3 nodes (can mock DHT interfaces). ## Notes - Longer-term: switch from GetValue/PutValue to Kademlia provider records for scalability.