v0.9.0 — optional drift detection (syncPairs, mtime mode)
Phase 1 of drift detection. A marker may pair a source doc (a ledger/changelog that grows) with a snapshot doc meant to stay reconciled to it, via syncPairs. When the snapshot falls behind, the gate turns silent drift into a signal:
- on compact — appends an advisory drift note to the reminder;
- on edit — if you edited a configured source, the nudge retargets to "update the paired snapshot."
Ships mode: "mtime" only — a pure fs.stat comparison: no file read, no regex → no ReDoS surface, no per-edit I/O. hash / declared / version reserved.
A dedicated safety suite validates each pair's shape, rejects unsafe paths (absolute / drive-qualified / UNC / parent-escaping), and statically flags ReDoS-prone regexes. With no syncPairs configured, the reminder is byte-identical to 0.8.0.
Full notes: CHANGELOG.md.