initial: discord URL harvester + atproto destination
Bot harvests URLs from messages in any Discord server it's invited to
and routes them to per-rule destinations on the user's PDS. Web app
handles Discord+atproto OAuth, Stripe subscriptions, and rule CRUD.
Pass-through by design: only account metadata and aggregate write
counts are stored; no message content or URL data persists.
Defenses against free-rider servers: in-memory pre-filter on the hot
path, plus auto-leave for guilds with no active rules after a grace
period (default 7 days).