Skip to content

Commit 33f3513

Browse files
tcconnallyclaude
andauthored
chore(release): 2.3.0 — extract, multimodal ingest, recall benchmark, hybrid RRF (#248)
Promote [Unreleased] to 2.3.0 and bump Cargo version. Also fixes CHANGELOG drift: adds entries for the recall-quality benchmark + relevance-aware deterministic hybrid recall (#247) and the threat-model/encryption docs (#246), which had merged to main without changelog coverage. Ships (all already on main): - mimir_extract — local rule-based knowledge extraction (#234) - mimir_ingest_file — local multimodal document ingestion (#236) - benchmark/recall/ — reproducible offline recall-quality benchmark (#247) - relevance-aware, deterministic hybrid RRF recall (#247) - threat model + encryption spec docs (#246) Full suite: 73 passing. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 7511d86 commit 33f3513

3 files changed

Lines changed: 30 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ All notable changes to Mimir are documented here. This project adheres to
55

66
## [Unreleased]
77

8+
## [2.3.0] - 2026-06-27
9+
10+
Local, offline knowledge tooling — structured extraction and multimodal document
11+
ingestion — plus a reproducible recall-quality benchmark and a relevance-aware,
12+
deterministic hybrid retrieval path.
13+
814
### Added
915
- **Local multimodal document ingestion (#236).** New `mimir_ingest_file` tool
1016
extracts a document's text **locally** (no cloud, no network) and stores it as a
@@ -20,6 +26,28 @@ All notable changes to Mimir are documented here. This project adheres to
2026
paths and the zero-dependency story are unchanged. An `Extractor` trait is the
2127
plugin point for future strategies (`strategy: "none"` is a no-op). Brings the
2228
MCP tool count to **41**.
29+
- **Reproducible offline recall-quality benchmark (#247).** New `benchmark/recall/`
30+
measures recall@k / MRR across `fts5` / `dense` / `hybrid` modes by driving the
31+
real binary over MCP stdio with the **bundled** ONNX model — no network, no API
32+
key, no LLM — and emits a signed, re-runnable `report.json`. On the
33+
paraphrase-heavy `mimir-recall-mini` set the offline dense model reaches **91.7%
34+
recall@1 / 100% recall@5**, making the local-first promise measurable.
35+
36+
### Changed
37+
- **Relevance-aware, deterministic hybrid recall (#247).** The hybrid (Reciprocal
38+
Rank Fusion) keyword arm now drops stopwords and ranks by **BM25 relevance**
39+
instead of popularity, is dropped entirely when it finds no content match, and
40+
is fused at a reduced dense-primary weight — so a paraphrase query no longer
41+
dilutes a confident dense ranking. RRF breaks score ties by entity id and the
42+
hybrid recall path is fully read-only, making all three modes **byte-stable
43+
run-to-run**. Hybrid recall@1 on `mimir-recall-mini`: **20.8% → 87.5%** (MRR
44+
0.44 → 0.92).
45+
46+
### Documentation
47+
- **Threat model + encryption spec (#246).** Added `docs/THREAT-MODEL.md` and
48+
`docs/ENCRYPTION.md` and corrected SECURITY.md overclaims. AES-256-GCM encrypts
49+
only `entities.body_json`; the FTS5 index and metadata are **plaintext** (pair
50+
with OS disk encryption).
2351

2452
## [2.2.1] - 2026-06-27
2553

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mimir"
3-
version = "2.2.1"
3+
version = "2.3.0"
44
edition = "2021"
55
description = "Persistent memory engine for AI agents — MCP JSON-RPC stdio server"
66
repository = "https://github.com/Perseus-Computing-LLC/mimir"

0 commit comments

Comments
 (0)