← Back to list

context-retrieval
by d-o-hub
A modular Rust-based self-learning episodic memory system for AI agents, featuring hybrid storage with Turso (SQL) and redb (KV), async execution tracking, reward scoring, reflection, and pattern-based skill evolution. Designed for real-world applicability, maintainability, and scalable agent workflows.
⭐ 3🍴 0📅 Jan 23, 2026
SKILL.md
name: context-retrieval description: Retrieve relevant episodic context from memory for informed decision-making. Use when you need past episodes, patterns, or solutions to similar tasks.
Context Retrieval
Retrieve relevant episodic context from memory for informed decision-making.
Retrieval Methods
Semantic Search (Preferred)
When embeddings available:
let context = memory
.retrieve_relevant_context(
"implement async batch updates",
task_context,
limit: 5
)
.await?;
Advantages: Finds semantically similar tasks, captures intent
Keyword Search (Fallback)
// SQL index-based search
SELECT * FROM episodes
WHERE task_type = ? AND tags LIKE ?
ORDER BY timestamp DESC
LIMIT ?;
Advantages: Fast, no embedding computation, deterministic
Retrieval Strategy
- Parse query (key terms, domain, task type)
- Check embedding availability
- Query cache (redb) first, fall back to Turso
- Rank by relevance or recency
- Filter and limit results
- Format context structure
Context Filtering
// By domain
TaskContext { domain: "storage".to_string(), .. }
// By task type
task_type_filter: Some("implementation")
// By recency (last 30 days)
since: Some(now - Duration::days(30))
// By success only
verdict: Some(Verdict::Success)
Response Format
pub struct RetrievedContext {
pub episodes: Vec<EpisodeSummary>,
pub patterns: Vec<Pattern>,
pub heuristics: Vec<Heuristic>,
pub relevance_scores: Vec<f32>,
}
pub struct EpisodeSummary {
pub id: String,
pub task_description: String,
pub verdict: Verdict,
pub key_steps: Vec<String>,
pub reflection: String,
pub relevance: f32,
}
Usage Examples
// Find similar implementation tasks
let retrieved = memory
.retrieve_relevant_context(query, context, 10)
.await?;
// Find common tool sequences
let patterns = memory
.get_patterns_by_type("ToolSequence")
.filter(|p| p.success_rate > 0.8)
.await?;
// Find error resolutions
let solutions = memory
.retrieve_error_resolutions("borrow checker error", 5)
.await?;
Troubleshooting
| Issue | Solution |
|---|---|
| Low recall | Check embeddings, expand tags, increase limit |
| Slow retrieval | Check cache, verify indexes, reduce result set |
| Poor relevance | Use semantic search, improve query, filter by domain |
Score
Total Score
75/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
✓説明文
100文字以上の説明がある
+10
○人気
GitHub Stars 100以上
0/15
✓最近の活動
1ヶ月以内に更新
+10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
✓タグ
1つ以上のタグが設定されている
+5
Reviews
💬
Reviews coming soon



