AgentSkillsCN

Update Memory Snapshot

更新内存快照

SKILL.md

update-memory-snapshot

Purpose

Consolidates daily reports and agent outputs into long-term memory structures:

  • Episodic Memory - Short-term working memory with 30-day TTL
  • Decision Traces - Audit trail of successful patterns
  • Lane Profiles - Consolidated playbooks per vertical

What It Does

  1. Reads agent outputs from events_daily and artifacts_daily for the date
  2. Extracts facts, decisions, and patterns from CMA/PAR/SEOS outputs
  3. Transforms into structured memory records
  4. Writes to episodic_memory, decision_traces, lane_profiles
  5. Prunes expired memories (TTL-based cleanup)
  6. Updates lane profiles with new patterns
  7. Logs consolidation metrics to memory_consolidation_log

Memory Contract

Reads

  • daily_event (ops lane) - Agent execution events
  • artifact_daily (ops lane) - Agent outputs
  • daily_analysis (ops lane) - Executive report analysis

Writes

  • episodic_memory (ops lane) - 30-day TTL working memory
  • decision_trace (ops lane) - Permanent decision audit trail
  • lane_profile (ops lane) - Permanent playbook updates
  • memory_consolidation_log (ops lane) - Job tracking (365-day TTL)

Provenance

All writes include:

  • run_id - Consolidation job ID
  • trace_id - Langfuse trace ID
  • source_ref - Date identifier (e.g., "consolidation_2025-12-21")
  • actor - "update_memory_snapshot"
  • intent - "memory_consolidation"

Schedule

Cron: 0 2 * * * (02:00 PT daily)
Triggered after: executive-daily-report (02:05 PT)

Implementation

Script: app/services/mcp/jobs/memory/memory_consolidator.py

Memory Types Processed

TypeTTL DaysDescription
preference90User/agent preferences
constraint60Operational constraints
goal30Active goals and objectives
decision90Strategic decisions
blocker14Active blockers (short-lived)
fact30Contextual facts
context7Session context

Outputs

Episodic Memory

json
{
  "memory_id": "uuid",
  "session_id": "uuid",
  "lane": "ops",
  "fact_type": "decision",
  "fact_key": "deploy_strategy",
  "fact_value": "Use canary rollout for memory system",
  "confidence": 0.9,
  "ttl_days": 90,
  "expires_at": "2026-03-21 02:00:00",
  "source_agent": "update_memory_snapshot",
  "source_ref": "consolidation_2025-12-21"
}

Decision Trace

json
{
  "trace_id": "uuid",
  "lane": "ops",
  "agent_id": "update_memory_snapshot",
  "decision_type": "consolidate",
  "context_summary": "Daily report showed 12 actionable items",
  "decision": "Extract top 5 as episodic memories",
  "outcome": "Created 5 memories, 2 profiles updated",
  "outcome_score": 0.95,
  "exemplar": 1
}

Dependencies

  • ClickHouse (events_daily, artifacts_daily, orion_daily_analyses)
  • Memory tables (episodic_memory, decision_traces, lane_profiles)

Observability

  • ClickHouse events: memory_consolidation_log table
  • Metrics: created, updated, decayed, profiles_updated, duration_ms

Error Handling

  • Missing source data → Warning, continue with available data
  • ClickHouse unavailable → Fail fast, alert
  • Invalid memory format → Log error, skip that record
  • TTL calculation error → Use default (30 days)