feat(userblocks): add user-to-user blocking with feed/comment filtering master
Implement one-directional user blocking following the atProto write-forward pattern. Blocks are written to the blocker's PDS repo and indexed via the Jetstream firehose consumer into a new user_blocks table. Changes: - Add social.coves.actor.block lexicon and DB migration (029) - Add userblocks domain package (service, repository, interfaces, errors) - Add XRPC endpoints: blockUser, unblockUser, getBlockedUsers - Extend Jetstream consumer to index block create/delete events - Filter blocked users' posts from timeline, discover, and community feeds - Filter blocked users' comments from comment threads - Hydrate viewer.blocking on profile responses for authenticated viewers - Refactor test helpers: DRY PDS client factories, atomic counters Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>