d497588c87
The MV SELECTed COALESCE(user_id, zero-uuid) but GROUPed BY raw user_id, so a global enrichment claim (user_id NULL) and a default-user behavior claim (user_id = zero-uuid) for the same edge produced two rows that collide on idx_claim_fusion_pk, breaking REFRESH ... CONCURRENTLY. Exposed by the #219 listener_behavior same_scene_as/alias_of writes. New migration rebuilds the MV grouping by the COALESCE'd user_id so the two fuse into one row. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>