v12.4.8

thedotmack/claude-memv12.4.8Apr 28, 2026by thedotmack

AI Summary

A bug fix release that resolves anchor lookups via MCP and HTTP by properly handling stringified numeric anchors. Added a comprehensive 7-case regression test suite covering various anchor types and extracted a parseNumericAnchor helper for centralized anchor coercion.

Key Highlights

  • Fix timeline tool anchor coercion for stringified numbers
  • Added 7-case regression test suite covering JS-number, stringified-number, session-ID, ISO-timestamp anchors
  • Extracted parseNumericAnchor helper in SearchManager
  • Fixes ISO-timestamp parsing returning wrong-epoch windows

Full Release Notes

## Bug Fixes

- **timeline tool:** Coerce stringified numeric anchors (e.g. `"123"`) into the observation-ID dispatch path so they no longer fall through to ISO-timestamp parsing and return wrong-epoch windows. The HTTP layer always sends anchor as a string, so this fixes anchor lookups via MCP and HTTP across the board. (#2176)

## Tests

- Added a 7-case regression suite covering JS-number anchors, stringified-number anchors (incl. whitespace-padded), session-ID anchors (`S<n>`), ISO-timestamp anchors, garbage anchors, and explicit numeric-not-found behavior. The suite runs against a real in-memory SQLite `SessionStore` to exercise the full dispatch path.

## Refactors

- Extracted `parseNumericAnchor` helper in `SearchManager` to centralize anchor coercion across timeline handlers.