discovery: route through bot, rename feed→activity, reframe copy
three changes per feedback:
1. /api/discovery on the bot — single source of truth
the frontend was calling hub.waow.tech/api/agents/discovery-pool
directly while bot/core/discovery_pool.py applied phi's per-author
interaction filter before injecting the prompt block. so the public
page showed a different list than what phi was reasoning over —
conceptual drift waiting to bite.
fix: extract get_filtered_pool() in core/discovery_pool.py (called
by both the prompt block and the new /api/discovery endpoint) so
the public view = phi's view by construction. frontend now calls
/api/discovery (relative); HUB_URL constant removed from web/api.ts.
2. /feed → /activity
the page is phi's public *output* (bsky posts + cosmik notes/cards),
not a feed. renamed the route folder, the nav label, and the home
page link. content unchanged. copy clarifies "what she's emitted
into the world."
3. /discovery copy reframed
header now leads with "what surfaces for attention" rather than
describing the data source first. notes that operator-likes is one
signal among possible others (future sources can feed the same
surface) without prescribing what those would be.
deliberately NOT done (pushback on reviewer's broader IA proposal):
- no /radar route — phi doesn't currently use saved feeds as a
discovery source, so a radar page would surface config that isn't
load-bearing. premature.
- kept plain "activity" / "discovery" labels rather than the more
performative "public cognition" / "attention pipeline."
102 python tests pass, frontend bun run check + build clean.
Co-Authored-By: Claude Opus 4 (1M context) <noreply@anthropic.com>