fix(growth,memory,hands): 穷尽审计后 4 项修复 — 伪造时间戳+测试覆盖+注释纠正
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

CRITICAL:
- user_profile_store: find_active_pains_since 改为 find_active_pains,
  移除无意义 .filter(|_| true),不再伪造 created_at=since

HIGH:
- daily_report: 移除虚假的 "Emits Tauri event" 注释(事件发射是调用方职责)
- daily_report: chrono::Local → chrono::Utc 一致性修复
- 新增 8 个单元测试: PainPoint 系列测试 + find_since + get_events_since

验证: zclaw-memory 54 PASS, zclaw-growth 151 PASS, zclaw-hands 5 PASS
This commit is contained in:
iven
2026-04-21 18:45:10 +08:00
parent 13507682f7
commit b726d0cd5e
4 changed files with 121 additions and 12 deletions

View File

@@ -5,9 +5,12 @@
//! 1. Yesterday's conversation summary
//! 2. Unresolved pain points follow-up
//! 3. Recent experience highlights
//! 4. Industry news placeholder
//! 4. Industry-specific daily reminder
//!
//! Emits `daily-report:ready` Tauri event and persists to VikingStorage.
//! The caller (SchedulerService or Tauri command) is responsible for:
//! - Assembling input data (trajectory summary, pain points, experiences)
//! - Emitting `daily-report:ready` Tauri event after execution
//! - Persisting the report to VikingStorage
use async_trait::async_trait;
use serde_json::Value;
@@ -119,7 +122,7 @@ impl DailyReportHand {
_ => "综合",
};
let date = chrono::Local::now().format("%Y年%m月%d日").to_string();
let date = chrono::Utc::now().format("%Y年%m月%d日").to_string();
let mut sections = vec![
format!("# {} 管家日报 — {}", industry_label, date),