fix(growth): 穷尽审计修复 — tracker timeline 断链 + 文档更新
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
P1-1: tracker.rs record_learning 改为通过 MemoryEntry 存储
(之前用 store_metadata 存但 get_timeline 用 find_by_prefix 读,
两条路径不交叉,timeline 永远返回空)
P2-4: extractor.rs 移除未使用的 _llm_driver 绑定,改为 is_none() 检查
P2-5: lib.rs 模块文档更新,反映实际 17 个模块而非原始 4 个
profile_updater.rs: 添加注释说明只收集 update_field 支持的字段
测试: zclaw-growth 137 tests, zclaw-runtime 87 tests, 0 failures
This commit is contained in:
@@ -66,21 +66,30 @@ impl GrowthTracker {
|
||||
timestamp: Utc::now(),
|
||||
};
|
||||
|
||||
// Store learning event
|
||||
self.viking
|
||||
.store_metadata(
|
||||
&format!("agent://{}/events/{}", agent_id, session_id),
|
||||
&event,
|
||||
)
|
||||
.await?;
|
||||
// Store learning event as MemoryEntry so get_timeline can find it via find_by_prefix
|
||||
let event_uri = format!("agent://{}/events/{}", agent_id, session_id);
|
||||
let content = serde_json::to_string(&event)?;
|
||||
let entry = crate::types::MemoryEntry {
|
||||
uri: event_uri,
|
||||
memory_type: MemoryType::Session,
|
||||
content,
|
||||
keywords: vec![agent_id.to_string(), session_id.to_string()],
|
||||
importance: 5,
|
||||
access_count: 0,
|
||||
created_at: event.timestamp,
|
||||
last_accessed: event.timestamp,
|
||||
overview: None,
|
||||
abstract_summary: None,
|
||||
};
|
||||
self.viking.store(&entry).await?;
|
||||
|
||||
// Update last learning time
|
||||
// Update last learning time via metadata
|
||||
self.viking
|
||||
.store_metadata(
|
||||
&format!("agent://{}", agent_id),
|
||||
&AgentMetadata {
|
||||
last_learning_time: Some(Utc::now()),
|
||||
total_learning_events: None, // Will be computed
|
||||
total_learning_events: None,
|
||||
},
|
||||
)
|
||||
.await?;
|
||||
|
||||
Reference in New Issue
Block a user