AntFleet

Disagreement · 44bd7a66-anthropic-4

loadSession silently drops sessions on any parse error or version mismatch (data loss masquerading as 'no session')

solo Opus
repo 56f59a0d·PR #1·reviewed 4 days ago

Opus finding

loadSession silently drops sessions on any parse error or version mismatch (data loss masquerading as 'no session')

lowdata-losshigh
  • 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.

Other reviewer

The other reviewer flagged nothing in this file/line range.

Why this didn't post

This finding didn't meet AntFleet's unanimous agreement threshold. Both frontier models review every PR independently; only findings they both flag with the same severity and category are posted to the PR. This one fell through.

read the methodology →

From the same review

These findings passed the unanimous gate on the same PR review. The disagreement above was filtered out; the findings below were posted.

AntFleet · loadSession silently drops sessions on any parse error or version mismatch (data loss masquerading as 'no session')