fix weave cache key collision between merge and relationship tasks
ByTagsHash now includes task_key in the cache key so identify_tag_merges
and discover_tag_relationships don't share cached results.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>