1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
[]
= "semantic-memory"
= "0.5.2"
= "2021"
= "1.75"
= "Local-first hybrid semantic search (SQLite + FTS5 + usearch 2.25) with bitemporal truth and typed receipts"
= "Apache-2.0"
= ["Josh Stevenson <j.stevenson.cs@gmail.com>"]
= "README.md"
= "https://github.com/RecursiveIntell/semantic-memory"
= "https://github.com/RecursiveIntell/semantic-memory"
= "https://docs.rs/semantic-memory"
= ['search', 'semantic', 'sqlite', 'vector', 'usearch']
= ["database", "text-processing", "data-structures"]
[]
# Default backend: usearch 2.25 (high-performance single-file vector search,
# cxx-bridge to C++). Switched to default in 2026-06-02 after the
# hnsw_rs 0.3 vs usearch 2.25 benchmark in commit 1c2179f showed usearch
# winning by 2-78× on every metric that matters for a desktop RAG app
# (Gloss), and +4pp better recall@10 at D=768. See
# HNSW_RESEARCH_2026-06-02.md §10a and HNSW_BENCH_RESULTS_2026-06-02.md.
#
# Callers can still opt back into hnsw_rs by setting
# `default-features = false, features = ["hnsw"]` on the dependency.
# Both backends can technically be enabled simultaneously but the
# runtime will prefer the first matching feature gate (hnsw takes
# precedence if both are explicitly enabled — see the dispatch in
# vector_backend.rs).
= ["usearch-backend"]
# usearch 2.25 — high-performance single-file vector search, cxx-bridge
# to C++. The default backend. Adds cxx + cxx-build build deps. See
# HNSW_RESEARCH_2026-06-02.md.
= ["dep:usearch", "dep:cxx-build", "dep:cxx"]
# Legacy hnsw_rs 0.3 backend. Opt-in only now (was default until
# 2026-06-02). bincode 1.3.3 advisory (RUSTSEC-2025-0141) only applies
# when this feature is enabled.
= ["dep:hnsw_rs"]
# Pure-Rust brute-force backend (no ANN). Useful for small corpora and as
# a fallback when no compiled C++ toolchain is available.
= []
# Phase 2: semiring provenance — append-only provenance records backed by
# Boolean/Tropical/Probability/Confidence semirings. Opt-in only; the
# provenance table is created via migration V25 when this feature is enabled.
= []
# Phase 3: temporal field provenance — computed temporal_weight score per
# fact/chunk/message factoring age, supersession, support, and contradiction.
# Depends on provenance for support/contradiction counts. Opt-in only; the
# temporal_weight columns are added via migration V26.
= ["provenance"]
# Multiscale retrieval scheduling pipeline (staged search with budgets and
# confidence thresholds). Opt-in only; the existing search() surface works
# without it.
= []
# Admin-only operations: hard delete/update of truth-bearing rows.
# NOT enabled by default — use supersession instead.
= []
# Discord-structured second-order retrieval: surface graph neighbours of the
# top-K direct results that are not themselves direct results. Opt-in only.
= []
# Phase 6: decoder architecture — treats contradictions as syndromes and
# computes the smallest globally consistent correction. Opt-in only.
= []
# Phase 7: lawful subtraction engine — determines what to forget, compress,
# quarantine, or retire while preserving invariants. Opt-in only.
= []
# Phase 8: simplified compression governor — per-vector importance scoring
# that determines quantization level. No turbo-quant dependency. Opt-in only.
= []
# Phase 9: adaptive retrieval routing — query-aware stage selection.
= []
# Phase 9b: benchmark harness for routing — requires routing.
= ["routing"]
# Phase 10: cross-feature integration wiring — requires all constituent features.
= ["provenance", "temporal", "multiscale", "discord", "decoder", "subtraction", "compression-governor", "routing", "topology", "community", "subgraph-pruning", "matryoshka"]
# ColBERT-style late interaction multi-vector retrieval (3rd RRF signal).
= []
# Persistent homology and topological void detection for knowledge graphs.
= []
# Matryoshka Representation Learning: multi-resolution embedding truncation.
= []
# Leiden community detection with contradiction tracking.
= []
# MemRL-style RL routing over receipts.
= ["routing"]
# Reasoning subgraph pruning with lawful subtraction.
= ["subtraction"]
= []
= ["dep:turbo-quant", "dep:quant-governor", "dep:scr-runtime-compression"]
[]
= { = "1", = ["derive"] }
= { = true }
= { = true, = ["bundled", "blob"] }
= { = "0.12", = ["json", "rustls-tls"], = false }
= { = true, = ["derive"] }
= { = true }
= { = true, = ["rt", "macros", "sync"] }
= { = true }
= { = true }
= { = true, = ["v4"] }
= { = true, = ["serde"] }
= { = "0.1.1", = "../stack-ids" }
= { = "0.1.1", = "../forge-memory-bridge" }
= { = true }
= { = "0.1.0", = "../boundary-compiler" }
= { = "0.1.0", = "../bitemporal-runtime" }
# Vector search backends. Only one is active at a time (enforced by feature
# flag; trying to enable both `hnsw` and `usearch-backend` simultaneously is
# allowed but the runtime will pick the first that matches the feature gate).
= { = "0.3", = true }
= { = "2.25", = false, = true }
= { = "0.2.1", = "../turbo-quant", = true }
= { = "0.1.0", = "../quant-governor", = true }
= { = "0.1.0", = "../scr-runtime-compression", = true }
[]
# cxx-build is only needed when the usearch backend is enabled (it triggers
# the C++ bridge compilation). Declared unconditionally so the build script
# can switch behavior based on the active feature.
= { = "1.0", = true }
= { = "1.0", = true }
[]
= { = true, = ["rt-multi-thread", "macros"] }
= { = true }
= { = "0.1.1", = "../semantic-memory-forge" }
# LIB-005: inherit workspace lint policy
[]
= true