soul: /api/neuron/memory mangles non-ASCII on store (em dash → literal 'u2014', backslash swallowed) — data corruption on the primary save route #87
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found 2026-07-18 during the split-brain repair, verified on the installed app-soul (:7770, local mode).
Repro: POST /api/neuron/memory with content containing an em dash (—). Stored node content comes back with the character replaced by the literal text 'u2014' (the escape's backslash is swallowed somewhere between json_escape and store). Diff of a 1,027-char save vs its source shows first divergence exactly at the em dash; all non-ASCII appears affected.
Impact: silent content corruption on the designed save path (MCP remember → /memory). Also breaks exact-content dedupe for sync tooling (we switched to src-tag dedupe as a workaround). Likely same family as the recall-output id/label mojibake in #72.
Machine: Tim's Mac, /Applications/Neuron.app soul, engram ~/.neuron/engram/snapshot.json.