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

Functions§

default_db_path
Get the default database path in the OS-appropriate data directory.