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
//! LLM-free `GraphRAG` primitives over mnem's [`AdjacencyIndex`].
//!
//! This crate fuses two experiments onto one substrate:
//!
//! - **E1 (Leiden)** - [`community`] provides modularity-optimising
//! community detection producing a deterministic, content-addressable
//! [`CommunityAssignment`] from any `AdjacencyIndex` (authored, KNN,
//! or hybrid).
//! - **E4 (Summarize)** - [`summarize`] provides an extractive
//! Centroid+MMR summarizer over community members, reusing
//! [`mnem_embed_providers::Embedder`].
//! - **Gap 16 (Calibration)** - [`calibration`] emits scale-free
//! per-query score quantiles and a categorical distribution-shape
//! label so agents can interpret dense-retrieval scores without a
//! trained cross-embedder scaler.
//!
//! # Non-goals
//!
//! - No LLM: summarization is *extractive*, returning existing sentences.
//! - No BM25 .
//! - No network, no heavy deps beyond mnem-core / mnem-embed-providers.
//!
//! # Determinism
//!
//! Every public entry point in this crate is seeded. Given the same
//! input and seed, two independent runs produce byte-identical output.
//!
//! [`AdjacencyIndex`]: mnem_core::index::AdjacencyIndex
pub use ;
pub use ;
pub use ;
pub use ;