Skip to main content

Module memory

Module memory 

Source
Expand description

§Self Learning Memory

Main orchestrator for the episodic learning system.

Provides a complete learning cycle:

  1. Start Episode - Initialize task tracking
  2. Log Steps - Record execution steps
  3. Complete Episode - Analyze, score, reflect, and extract patterns
  4. Retrieve Context - Query relevant episodes and patterns

§Example

use do_memory_core::memory::SelfLearningMemory;
use do_memory_core::{TaskContext, TaskType, TaskOutcome, ExecutionStep};

#[tokio::main]
async fn main() {
    let memory = SelfLearningMemory::new();

    // Start an episode
    let context = TaskContext::default();
    let episode_id = memory.start_episode(
        "Implement user authentication".to_string(),
        context,
        TaskType::CodeGeneration,
    ).await;

    // Log execution steps
    let step = ExecutionStep::new(1, "read_file".to_string(), "Read config".to_string());
    memory.log_step(episode_id, step).await;

    // Complete the episode
    let outcome = TaskOutcome::Success {
        verdict: "Authentication implemented successfully".to_string(),
        artifacts: vec!["auth.rs".to_string()],
    };
    memory.complete_episode(episode_id, outcome).await.unwrap();

    // Retrieve relevant context for future tasks
    let relevant = memory.retrieve_relevant_context(
        "Add authorization logic".to_string(),
        TaskContext::default(),
        5,
    ).await;
}

Re-exports§

pub use types::SelfLearningMemory;

Modules§

api
Public API methods for SelfLearningMemory
attribution
Recommendation Attribution & Online Effectiveness
checkpoint
Episode Checkpoints & Handoff Packs (ADR-044 Feature 3)
filters
Advanced filtering for episodes
pattern_api
playbook
Actionable Recommendation Playbooks (ADR-044 Feature 1)
query_api
relationship_query
Query structures and graph visualization for episode relationships.
step_buffer
Step batching for efficient I/O
types
validation
Input validation for memory API boundaries

Structs§

PatternSearchResult
Result from semantic pattern search with scoring details
ScoreBreakdown
Detailed breakdown of relevance scoring
SearchConfig
Configuration for pattern search