- Remove GroupBounty/PersonalBounty subclasses, use Bounty with optional created_by_user_id - Combine UserData/GroupData into RoomData with room_id and is_group fields - Add group_id field to TrackingData (supports negative Telegram group IDs) - Add test_bounty_comparison_not_equal for verifying different bounties are not equal - Update core/__init__.py exports