Hindsight
world facts, experiences and observations; LLM extraction on retain; per-bank MCP. https://github.com/vectorize-io/hindsight
- Core
- 66% · 36.3 / 55
- Core (public2)
- waits for a Docker host
- Private set
- after the public2 runs
- Full
- 66% · 36.2 / 55 · 55 of 100 measured
- Runs
- 1 · no range measured yet
- Common with gbrain
- 36.3 vs 40.4 on 55
- Chars per answer
- 3,225 · answer after 114
- Write → visible
- —
- Write-back
- 0 of 2 degraded answers came back
- Reached through
- MCP
- Model on write
- yes: an LLM extracts every write
- Key needed
- LLM provider
- Where it runs
- self-hosted
- License
- MIT
- Deterministic
- no: extraction is a model call
Configuration
| Version | Hindsight MCP server 0.10.1 |
| Mode | self-hosted server (Docker), per-bank MCP endpoint over Streamable HTTP, bank 'adebench' |
| Door | recall(query, budget="mid", max_tokens=2000) on the bank's MCP endpoint |
| Results | budget mid and no min_scores (deployment defaults); max_tokens 2000 (adapter default); no score floor (ADEBENCH_HINDSIGHT_MIN_SCORE 0), no cut |
| Model inside | gemini-3.5-flash-lite (Google): extracts facts, entities and relations on every retain |
| Embeddings | not stated |
| Storage | Docker volume (hindsight-data); engine not stated |
| Not default | HINDSIGHT_API_LLM_MODEL=gemini-3.5-flash-lite instead of gemini-3.5-flash, the model the docs name (it answered 503 all day of the run); prompt caching off (HINDSIGHT_API_LLM_PROMPT_CACHE_ENABLED=false, reason not stated) |
Notes: MCP server 0.10.1, extraction gemini-3.5-flash-lite, prompt caching off, recall defaults. Run 2026-09-28, door recall,
fingerprint 48e790e78d. Report:
examples/hindsight_report/reference.md
Sections
door | 18.8 of 25 · 6 pass · 2 fail | FAIL Which version of MailBridge is installed for the mailbox? — STALE value delivered next to the current one: 1.3.0 FAIL What is the owner's phone number? — missing +39 |
cards | not measured | section not measured: no entity cards in this memory |
updates | 3.3 of 10 · 1 pass · 2 fail | FAIL a new write with a changed value replaces the old one at the door (no id given) — new value served in 561 ms; STALE: the old value is still delivered (20 reads with both) FAIL restating the current value does not pile up a second copy — 3 copies delivered |
time | 7.5 of 10 · 3 pass · 1 fail | FAIL an imported memory reaches the door with its original date — imported memory not served within 30 s |
| live state | not run | |
abstention | 6.7 of 10 · 0 pass · 4 fail | FAIL What is the Zarpetta module? — 28 keyword facts for something that does not exist FAIL Who is Ottavio Brambillesco? — 28 keyword facts for something that does not exist FAIL Which port does the Fulmicotone service use? — 28 keyword facts for something that does not exist FAIL What does the calendar plugin Girandola do? — 28 keyword facts for something that does not exist |
file search | not measured | section not measured: no repo configured (--repo) |
graph | not measured | section not measured: no case with evidence (all SKIP or no cases) |