v0.45.0 - Link & Recall Intelligence Suite
Open Second Brain v0.45.0 - Link & Recall Intelligence Suite
The graph self-organizes and recall quality becomes a number: wikilinks to frontmatter aliases materialize as real edges at index time, an orphan-first pass over the vec index proposes links between embedding-near notes that never name each other - as a reviewable artifact the operator accepts or dismisses, never a silent mutation - deterministic label propagation turns link-graph communities into derived cluster digests, a fixed-dataset recall benchmark (hit@k + MRR) fails CI on ranking regressions and doubles as the objective function for a bounded, replayable self-tuning fold that only activates under an explicit flag, and a bare query can expand into the structured lex/vec/hyde lanes with no model and no paid call, while every pass reports one run-level record into the Brain/metrics/ contract a future dashboard reads without importing internals.
What ships
| Capability | Surface |
|---|---|
| Vault-wide alias resolution (schema v7, shadowing-safe, exact path wins) | index materialization, IndexStats.aliasResolved |
| Bridge discovery with accept/dismiss lifecycle | o2b brain bridges, MCP brain_bridges, Brain/proposals/bridges.md |
| Graph-wide communities with derived digests | o2b brain clusters, MCP brain_clusters, Brain/clusters/ |
| Reproducible recall benchmark + CI gate | o2b brain benchmark, MCP brain_benchmark, fixture thresholds hit@5 >= 0.9 / MRR >= 0.85 |
| Deterministic lex/vec/hyde query expansion | o2b search --expand, search({expand: true}) |
| Opt-in self-tuning recall (bounded grid, benchmark-judged) | o2b brain tune, MCP brain_tune, Brain/search/tuning.json |
Dashboard-ready metrics layer (o2b.metrics.v1) |
Brain/metrics/<surface>.jsonl, contract in docs/metrics.md |
| Maintenance-lane passes | bridges + clusters tasks behind the existing window/busy/lease gates |
Process wins
- Latent structure surfaces without risk: proposals are artifacts, accepting one writes exactly one
related:wikilink under the schema pack's link constraints, dismissals persist across runs. - Ranking changes stop shipping blind: the committed fixture vault and dataset pin recall thresholds in CI, and the same runner scores any operator vault on demand.
- Self-tuning cannot drift: a fixed 24-point grid, every evaluated score persisted with the dataset hash, values re-validated against bounds on each read, defaults restored by deleting one file.
- The dashboard lands on a ready contract: five surfaces already emit schema-versioned run-level records, documented for consumers that never import Open Second Brain internals.
Notes
- MCP tool count grows 73 -> 77 (
brain_bridges,brain_clusters,brain_benchmark,brain_tune). - A vault that enables none of the new features behaves bit-identically; the new
search_pool_multiplierknob defaults to the historical value. - The bridge verb ships as
bridgesbecauseo2b brain linksremains the v0.38.0 wikilink-normalize contract. - Suite: 4174 tests / 0 failures; lint and typecheck clean; live CLI smoke of every new verb including the vec path end to end.
Full changelog: https://github.com/itechmeat/open-second-brain/blob/main/CHANGELOG.md
