soul: /api/neuron/memory mangles non-ASCII on store (em dash → literal 'u2014', backslash swallowed) — data corruption on the primary save route #87

Open
opened 2026-07-18 19:54:57 +00:00 by tim.lingo · 0 comments
Member

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.

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.
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: neuron-technologies/neuron#87