store: Semantic search enabled by default for memory recall

This commit is contained in:
Cal Corum 2026-02-19 16:03:22 -06:00
parent 2943a0e59b
commit 9e3be98af9

View File

@ -0,0 +1,22 @@
---
id: e94ae963-9bf9-4adc-b0d7-ec18d9e70999
type: decision
title: "Semantic search enabled by default for memory recall"
tags: [cognitive-memory, decision, semantic-search, configuration]
importance: 0.7
confidence: 0.8
created: "2026-02-19T22:03:22.589620+00:00"
updated: "2026-02-19T22:03:22.589620+00:00"
---
Changed `recall()` default from `semantic=False` to `semantic=True`. All recall calls now use semantic+keyword merge when embeddings exist.
**Rationale:** With mtime-based embeddings caching, warm semantic recall takes ~200ms — imperceptible within Claude Code sessions where API roundtrips are measured in seconds. The quality improvement from conceptual matching justifies the small overhead.
**Changes made:**
- `client.py`: `recall()` parameter default `semantic=True`
- `client.py`: CLI flag changed from `--semantic` (opt-in) to `--no-semantic` (opt-out)
- `mcp_server.py`: `arguments.get("semantic", True)`, updated tool description
- `SKILL.md`: Updated all examples and documentation
**Merge weights:** 60% semantic, 40% keyword. Use `semantic=false` / `--no-semantic` when speed matters more than depth (~3ms vs ~200ms).