Files
multica/server
Lambda 7ac3768691 fix(agents): scope the emoji-avatar cleanup to provable generator output
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>
2026-07-29 20:51:15 +08:00
..