Observer 必須是旁路觀察者
v13.18.1 把兩條規則正式寫進 observer role:
- silent by design
- no contact
Observer 不得通知被觀察 session、聯絡其他 agent、spawn subagent 或影響工作進行。這不是文案偏好,而是避免 observer 介入後改變被觀察行為,污染記憶資料。
Worker recovery:liveness 不等於 readiness
v13.19.0 增加本機 restart 操作與 npx claude-mem restart。Restart 完成不是看「37777 有人回應」就算成功,而是要確認:
- successor PID 與 dying worker 不同
/api/readiness已經 ready
因為 graceful shutdown 期間,舊 worker 仍可能暫時回應 /health。
Quota breaker
v13.20.0 讓 quota breaker 持久化 cooldown,冷卻後只放行一個 probe;assistant prose 型 quota refusal 也能觸發 breaker。這避免每個 captured tool call 都再送一次明知會被拒絕的 observer request。
v13.23.1 進一步修正 SDK event shape,真正辨識 rate_limit_event,subscription quota guard 與 usage_limit_hit telemetry 才能按實際事件運作。
Cursor / Grok Bot 分拆
v13.24.0 把 host integration 分成:
claude-mem-cursorclaude-mem-grok-bot
兩者可以獨立安裝。Grok Bot 走 transcript watcher,不要求 Cursor hooks。
--provider host 則可透過 local OpenAI-compatible loopback 使用已登入 host agent 生成 observations,不需另一把 API key。
為什麼一定要避開 v13.24.0
v13.24.0 更新了 manifest version,卻沒有重建 committed plugin bundles。Marketplace 下載後實際跑的仍是 v13.23.1 bytes,worker version check 因此會反覆 kill / respawn。
v13.24.1 的目的就是重建 bundles,使 manifest 與 runtime bytes 一致。已在 v13.24.0 的 marketplace 使用者應直接升 v13.24.1。
學習重點
可靠的 plugin runtime 至少有四層狀態:
- package/manifest version
- 真正被執行的 bundle bytes
- process liveness
- service readiness
只檢查其中一層,很容易得到「看起來有跑、其實不能工作」的假健康。