Files
msd-core/.changeset/3497-frontmatter-escape-amplification.md
Tom Boucher 507db38404 fix(#3497): unescape double-quoted scalars on parse so round-trips stop doubling backslashes (#3521)
* fix(#3497): unescape double-quoted scalars on parse so round-trips stop doubling backslashes

* chore(#3497): add changeset fragment for PR #3521

---------

Co-authored-by: sim <sim@local>
2026-08-14 23:00:10 -04:00

761 B
Raw Blame History

type, pr
type pr
Fixed 3521

Frontmatter round-trips no longer double backslashes on every state write — escapeDoubleQuoted escaped \, ", and control characters on each serialize while the parser only stripped the outer quote delimiters, so every read-modify-write cycle doubled existing escapes (2ⁿ−1 backslashes after n cycles). syncStateFrontmatter carries last_activity_desc through that seam on every state command, growing STATE.md unboundedly — the reported 134 MB file OOMed state.record-session after 26 writes. Double-quoted scalars are now un-escaped on parse via the exact inverse of the escaper, making serialize→parse a fixed point; unrecognized escapes are kept literally so hand-authored files parse unchanged. (#3497)