v13.5.5

parruda/swarmv13.5.5Jun 10, 2026by thedotmack

AI Summary

This release significantly enhances telemetry reliability by adding five new missing signals for monitoring search quality, compression trust, worker lifecycle, and hook failures. It also includes critical fixes for CI stability and Windows shutdown IPC handling.

Key Highlights

  • Added search retrieval quality metrics (result count, search strategy, fallback reasons).
  • Introduced compression trust signals including fabrication detection and invalid output events.
  • Enhanced worker lifecycle monitoring with crash detection and memory health metrics.
  • Added `hook_failed` event for reporting failures over CLI transport.
  • Fixed PostHog CI regression by mocking the client globally.

New Features

  • New `search_performed` telemetry event.
  • New `session_compressed` telemetry event.
  • New `worker_stopped` telemetry event.
  • New `hook_failed` telemetry event.

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.