# 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.

