gbrain
entity pages, chronicle, remember/recall/forget, hybrid search. https://github.com/garrytan/gbrain
- Core
- 73% · 40.4 / 55 (mean)
- Core (public2)
- 78% · 43.1 / 55 (mean)
- Private set
- lower by 5.8 core points than the set explains · δ 3 · shift −2.1 from 5 other memories · public2 3 builds, private 1 · holdout-v1 3cd42b9f
- Full
- 84% · 75.4 / 90 · 90 of 100 measured
- Runs
- 3 · core 40.4–40.4 · the details below are the median run
- Common with gbrain
- reference
- Chars per answer
- 1,321 · answer after 162
- Write → visible
- 2.3 s · p95 2.4 s
- Write-back
- 2 of 2 degraded answers came back
- Reached through
- CLI / MCP
- Model on write
- embeddings only
- Key needed
- none (local Ollama)
- Where it runs
- local
- License
- MIT
- Deterministic
- yes
Configuration
| Version | gbrain 0.50.0.0 |
| Mode | local, every operation through `gbrain call`, the local dispatch of its MCP tools |
| Door | search(query, limit=8, snippet_chars=0) plus recall(query, limit=8), plus get_page for the entity pages the question names |
| Results | limit 8 on search and recall (adapter's choice; gbrain's defaults not stated), no character cut; when every hit is a weak semantic match only two are kept |
| Model inside | none |
| Embeddings | ollama:nomic-embed-text, 768 dimensions, local Ollama |
| Storage | PGLite |
| Not default | embedding model ollama:nomic-embed-text (768) set at init (without an embedding provider gbrain has keyword search only) |
Notes: gbrain 0.50, PGLite, embeddings ollama:nomic-embed-text (768), door search, no character cut. Run 2026-09-30, door search,
fingerprint 5c9ffcacad. Report:
examples/gbrain_report/reference.md · All runs: examples/gbrain_report/repeats.json · public2: examples/gbrain_report/reference_public2.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 | 15.0 of 15 · 8 pass · 0 fail | |
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 2374 ms; STALE: the old value is still delivered (10 reads with both) FAIL restating the current value does not pile up a second copy — 2 copies delivered |
time | 10.0 of 10 · 5 pass · 0 fail | |
live state | 10.0 of 10 · 7 pass · 0 fail | |
abstention | 8.3 of 10 · 3 pass · 1 fail | FAIL What does the calendar plugin Girandola do? — produced an entity card; 8 keyword facts for something that does not exist |
file search | not measured | section not measured: no repo configured (--repo) |
graph | 10.0 of 10 · 4 pass · 0 fail |