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
//! Pre-storage reasoning for episodic memory quality enhancement.
//!
//! This module implements the `PREMem` (Pre-Storage Reasoning for Episodic Memory)
//! approach from EMNLP 2025. It provides quality assessment and filtering before
//! storing episodes to improve memory quality and reduce noise.
//!
//! # Components
//!
//! - [`QualityAssessor`]: Assess episode quality before storage
//! - [`SalientExtractor`]: Extract key information from episodes
//!
//! # Examples
//!
//! ```no_run
//! use do_memory_core::pre_storage::{QualityAssessor, QualityConfig, SalientExtractor};
//! use do_memory_core::{Episode, TaskContext, TaskType};
//!
//! let config = QualityConfig::default();
//! let assessor = QualityAssessor::new(config);
//! let extractor = SalientExtractor::new();
//!
//! let episode = Episode::new(
//! "Implement authentication".to_string(),
//! TaskContext::default(),
//! TaskType::CodeGeneration,
//! );
//!
//! let quality_score = assessor.assess_episode(&episode);
//! if quality_score >= 0.7 {
//! let features = extractor.extract(&episode);
//! println!("High-quality episode with {} salient features, storing...", features.count());
//! } else {
//! println!("Low-quality episode, rejecting...");
//! }
//! ```
pub use ;
pub use ;