v13.5.5
thedotmack/claude-memv13.5.5Jun 10, 2026by thedotmack
AI Summary
This release adds five high-value reliability signals to claude-mem's telemetry system, addressing the gap where failure was invisible while success was instrumented. New signals cover search retrieval quality, compression trust, worker lifecycle, and hook failures, with everything closed-enum/count-only and whitelisted in the scrubber.
Key Highlights
- Search retrieval quality telemetry (`search_performed`) with result_count, search_strategy, chroma_available, and fallback_reason to detect Chroma degradation to FTS
- Compression trust signals including fabrication detection, respawn-gated invalid-output events, and abort flow convergence with detailed reasons
- Worker lifecycle events including worker_stopped, crash detection via clean-shutdown sentinel, and memory health metrics (RSS/heap)
- Hook failures telemetry (`hook_failed`) over direct CLI transport with threshold-gating and await-before-exit
- Fixed CI PostHog regression test and added global PostHog mocking to prevent production analytics contamination
New Features
- Search retrieval quality telemetry (search_performed) with result_count, search_strategy (chroma|fts|filter_only), chroma_available, and fallback_reason (none|chroma_connection|chroma_error|chroma_not_initialized)
- Compression trust telemetry (session_compressed) with fabrication_detected/fabricated_count for commit-hash fabrication detection
- Respawn-gated invalid-output events with invalid_output_class (xml|idle|prose|poisoned), consecutive_invalid_outputs, and respawn_triggered
- Abort flow convergence with outcome:aborted and abort_reason (idle|shutdown|overflow|restart_guard|quota|poisoned|none)
- Worker lifecycle: new worker_stopped event with uptime_seconds and shutdown_reason (stop|restart|signal)
- Crash detection via worker_started reporting previous_shutdown (crash|clean|unknown) and previous_uptime_seconds
- Memory health metrics: process_rss_mb and heap_used_mb on lifecycle events and heartbeat
- Hook failures: new hook_failed event over direct CLI transport, threshold-gated on fail-loud counter
- Windows-managed shutdown IPC now forwards restart reason for shutdown_reason fidelity
- PostHog global mocking in CI via bun test preload to prevent real client construction and fabricated event flushing
Full Release Notes
## Telemetry Reliability Signals (Plan 14) claude-mem instrumented success well — failure was invisible. This release adds the five highest-value missing reliability signals (#2874). Everything is closed-enum/count-only, whitelisted in the scrubber, and disclosed in both the [public docs](https://docs.claude-mem.ai/telemetry) and `claude-mem telemetry`. ### Search retrieval quality (`search_performed`) - `result_count`, `search_strategy` (`chroma|fts|filter_only`), `chroma_available`, `fallback_reason` (`none|chroma_connection|chroma_error|chroma_not_initialized`) - Zero-result rate is now computable, and Chroma's silent degradation to FTS is visible. ### Compression trust (`session_compressed`) - `fabrication_detected` / `fabricated_count` — commit-hash fabrication by the observer model, on every emit path - Respawn-gated invalid-output events: `invalid_output_class` (`xml|idle|prose|poisoned`), `consecutive_invalid_outputs`, `respawn_triggered` - `outcome: aborted` with `abort_reason` (`idle|shutdown|overflow|restart_guard|quota|poisoned|none`), emitted where all abort flows converge ### Worker lifecycle - New `worker_stopped` event: `uptime_seconds`, `shutdown_reason` (`stop|restart|signal`) - Crash detection via clean-shutdown sentinel: `worker_started` now reports `previous_shutdown` (`crash|clean|unknown`) and `previous_uptime_seconds` - Memory health: integer `process_rss_mb` / `heap_used_mb` on lifecycle events and the heartbeat ### Hook failures - New `hook_failed` event over the direct CLI transport (the worker being unreachable IS the failure being reported), threshold-gated on the fail-loud counter and awaited before process exit so events survive short-lived hook processes ### Fixes - **CI**: the PostHog `disableGeoip` regression test was order-dependent and failed full-suite runs (CI on main had been red since v13.5.4). `posthog-node` is now mocked globally via a bun test preload — which also guarantees test runs can never construct a real PostHog client and flush fabricated events into production analytics. - Windows-managed shutdown IPC now forwards the restart reason for `shutdown_reason` fidelity.