Observer errors now tell you what happened and what to do
When the memory observer stops working — most commonly a CMEM Pro allowance that's been used up — claude-mem now says so in plain words, once, with the one thing to do about it. No more silent OpenRouter upstream error (status 502) retry loops.
Fixes
- Worker carries the gateway's error envelope (#3601): the OpenRouter classifier now understands the cmem.ai gateway's
{code, message, action, url, request_id}errors and, for plain OpenRouter, keeps the upstream body (e.g.Key limit exceeded … Manage it using <url>) instead of discarding it. 402 and "key limit exceeded" bodies are classified as quota exhausted and are not retried. - One log line per failure:
Observer failed {kind, code, requestId} <message — action url (req id)>replaces the five-line fan-out. - Session-start warning says the right thing (#3601, #3612): the observer-health warning now shows the message, a
What to do:line, the link, and the request id — and no longer tells Pro users to edit~/.claude-mem/settings.json. It also appears for projects that have no memories yet (previously the welcome hint hid it). - Observer-health alerting (#3538): claude-mem alerts you at session start when observations stop flowing.
Pro trial
- 7-day Pro trial surfaced everywhere the viewer URL is shown (#3613): session-start banner, per-message banner, first-session welcome hint, installer "Next Steps", viewer header, and cursor-hooks docs — one source of truth (
src/shared/pro-promo.ts) with per-surface?from=attribution links to https://cmem.ai/pro.
Pairs with the cmem.ai gateway change (claude-mem-pro #106): honest status codes (402/401/429/503, never 502), a 6-code error taxonomy, and an x-request-id on every error.
Note: v13.15.1 was tagged but never released or published; 13.15.2 supersedes it.