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
//! What a working session remembers, and what it may recall.
//!
//! These types are shaped by what a memory backend actually offers —
//! a scope the memory is about, entries carrying provenance, evidence
//! backing them, and movement through time — but they name none of it
//! in any backend's terms. An engine that spoke a
//! particular backend's vocabulary would have to change when that
//! backend did, and would be unusable with anything else.
//!
//! Entries are the *what* and relations are the *why*. That split is
//! the whole design: an entry states something, and only an edge says
//! how one thing came from another, so a memory of entries alone can
//! be read but not followed.
pub use MemoryCapabilities;
pub use MemoryCapability;
pub use MemoryConfidence;
pub use MemoryEntry;
pub use MemoryEntryId;
pub use MemoryEntryKind;
pub use MemoryEvidence;
pub use MemoryMoment;
pub use MemoryProvenance;
pub use MemoryRelation;
pub use MemoryRelationKind;
pub use MemoryScope;
pub use MemoryWrite;
pub use RecalledEntry;
pub use RecollectionBudget;
pub use RecollectionCompleteness;
pub use SessionRecollection;