Skip to content

v2.3.1 — Fix silent data loss in SyncPoller

Choose a tag to compare

@pitimon pitimon released this 02 Apr 23:20
· 31 commits to main since this release
aa94a3c

CRITICAL FIX: Silent data loss prevented

2,580 observations were permanently lost on a production client due to a JavaScript 0 || N falsy bug that reported zero syncs as full-batch success, advancing the watermark past unsynced data.

Fixes

  1. 0 || N falsy bug (CRITICAL) — syncBatch() now treats zero-sync on non-empty batch as failure
  2. Unbounded batch queries (HIGH) — Added LIMIT 100 + batch loop to prevent OOM and timeout
  3. All-or-nothing watermark (HIGH) — Watermark now advances only past successfully synced items

Update

claude plugin update memforge-client@pitimon-c-memforge

After update — verify sync works

# Reset watermark to re-sync
rm -f ~/.memforge/.sync-watermark.json

# Restart Claude Code — should see batched sync in logs:
# [SyncPoller] Fresh install — backfilling N existing observations

Closes #51