mirror of
https://github.com/multica-ai/multica.git
synced 2026-08-12 19:06:06 +02:00
Prefix-matching `emoji:%` assumed every such value came from the removed random-default generator. It does not: acceptAvatarURL deliberately passes foreign avatar values through untouched (see TestAcceptAvatarURL_PassesThroughForeignValues), so a client that PUT an explicit `avatar_url: "emoji:X"` had it stored verbatim — and the down migration cannot restore what the bulk UPDATE would destroy. Match on two independent provenance signals instead, clearing only when both hold: the value is one of the exact 24 glyphs the generator could emit, and the agent was created at or after the generator shipped (2026-07-22). Anything outside that intersection is provably a client's and is preserved. Co-authored-by: multica-agent <github@multica.ai>