d7d376118d
20-assertion shell E2E covering the full abilities contract: - talk_to_user_enabled=true (default) → POST /notify succeeds - PATCH /abilities to disable → /notify returns 403 with error code and delegate_task hint; re-enabling restores delivery - broadcast_enabled=false (default) → POST /broadcast returns 403 - PATCH /abilities to enable → fan-out succeeds, delivered count >= 1 - Receiver activity log has broadcast_receive row (activity_type) with correct summary and source_id pointing at sender workspace - Sender activity log has broadcast_sent row; sender has no self-receive - Empty broadcast message returns 400 - Partial PATCH leaves unmentioned flags unchanged Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>