v2.9.6 — Lenient Frontmatter Recovery + One-Time Repair
Fixes the "Failed to parse frontmatter" warning flood on vaults containing legacy memory files (written by pre-v1.9.3 cortex/memem).
Fixed
- A memory file whose YAML frontmatter the strict parser rejects (unquoted colons, values spilled onto bare continuation lines, a never-closed
---block) used to log a warning every session, forever, and was served with its metadata dumped into the body. The reader now recovers such files with a line-tolerant fallback parser (eachkey: value/- itemline parsed independently, so one corrupt line loses only itself), then rewrites the file once through the current sanitized writer — the next read passes the strict parser and the log stays silent. - Unrecoverable files (no
id/titlesalvageable) fall through to the existingMEMEM_FRONTMATTER_STRICTdispatch (quarantine by default). Read-only vaults still serve the recovered memory and skip the rewrite.
7 new tests (recovery shapes, quarantine, skip-mode, read-only vault, one-time idempotency).