Bug Description
split_continuous_references in src/memos/mem_os/utils/reference_utils.py converts any single [...] block containing commas into split tags, even when the content is not a reference list:
>>> split_continuous_references("The set is [apple, banana] here")
'The set is [apple][banana] here' # plain prose corrupted
The id part of a reference tag is a hex-looking memory id, so the shape guard should require int:<id> items (as [1:aa, 2:bb] has), not just "has a comma".
Expected Behavior
Blocks whose items are not int:<id> pairs should be returned unchanged.
Environment
MemOS main, python 3.14.
Additional Context
Fix + red/green-verified test ready; PR to follow referencing this issue.
Bug Description
split_continuous_referencesinsrc/memos/mem_os/utils/reference_utils.pyconverts any single[...]block containing commas into split tags, even when the content is not a reference list:The id part of a reference tag is a hex-looking memory id, so the shape guard should require
int:<id>items (as[1:aa, 2:bb]has), not just "has a comma".Expected Behavior
Blocks whose items are not
int:<id>pairs should be returned unchanged.Environment
MemOS main, python 3.14.
Additional Context
Fix + red/green-verified test ready; PR to follow referencing this issue.