Opus finding
loadSession silently drops sessions on any parse error or version mismatch (data loss masquerading as 'no session')
- src/session.ts:56-75
loadSession returns null on JSON.parse failure, shape mismatch, or version skew — and the next saveSession will overwrite that file. A user who upgrades, finds their resume gone, then runs a new session loses all prior history with no warning, no backup, and no log. The comment 'silently ignore incompatible sessions' acknowledges this explicitly. For a 'power tool' that persists conversation state, silent data loss is a poor default.
Recommendation
On parse/version failure, rename latest.json to latest.broken-<ts>.json or latest.v<N>.json before returning null, and log a warning. This preserves recovery options.