v2.12.0
An opt-in pipeline that mines a model's thinking from ~/.claude transcripts, distills it into reusable reasoning-pattern fibers, and injects the learned strategies into other models' sessions. Off by default; traces are redacted before they are stored.
Added
reasoning_tracesstaging store (SQLite/SurrealDB/in-memory/base) + schema migration v39 → v40 +delete_reasoning_traces_by_modelreasoning_miner— scans~/.claudethinking, redacts secrets viasafety/sensitivebefore insert (PROCESS_REASONING_TRACES)reasoning_distiller— segments → classifies → clusters into ReasoningBank pattern fibers, restricted tomining_models(LEARN_REASONING)reasoning_injection—SessionStart+UserPromptSubmithooks inject learned patterns for the active model- Dashboard reasoning page (
/ui),smem reasoningCLI,smem_reasoningMCP tool (58 tools) [reasoning_training]config —mining_enabled/injection_enabled(both default off),mining_models, backfill + privacy controls
Fixed
- Hook output contract — hooks now emit
{"hookSpecificOutput":{"hookEventName","additionalContext"}}; the old{"type":"context"}shape was silently ignored by Claude Code, soSessionStartmemory/reasoning injection never reached the model - Shared-storage brain race — mining runs on an isolated, non-cached storage instance (
create_isolated_storage) so a concurrent request'sset_braincannot misroute its graph writes
Notes
- Fully opt-in and privacy-preserving: thinking redacted before storage, no secrets reach evidence, mining + injection default off
Full changelog: https://github.com/acidkill/surreal-memory/blob/main/CHANGELOG.md#2120--reasoning-training-learn-how-models-think