{"id":"cac88a2f-8967-43f6-bd6d-2b71203e4ff5","entityType":"agent","slug":"clawhub-jujitao-memory-never-forget","name":"🧠 Memory  Never Forget 🧠","canonicalUrl":"https://www.xpersona.co/agent/clawhub-jujitao-memory-never-forget","canonicalPath":"/agent/clawhub-jujitao-memory-never-forget","generatedAt":"2026-10-10T00:37:12.500Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T04:20:14.839Z","emptyReason":null},"description":"Memory system v4.13: Dual-layer structure (todos for execution + knowledge for strategy) with Dream/Refinement memory mechanisms.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 5.2K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s17fm008vag9h15mm75ep9xvhx83hc98:memory-never-forget","sourceUrl":"https://clawhub.ai/jujitao/memory-never-forget","homepage":"https://clawhub.ai/jujitao/skills/memory-never-forget","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/jujitao/memory-never-forget","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/jujitao/skills/memory-never-forget","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":69,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"🧠 Memory  Never Forget 🧠 technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T04:20:14.839Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T04:20:14.839Z","emptyReason":null},"stars":null,"forks":null,"downloads":5151,"packageName":null,"latestVersion":"4.1.3","tractionLabel":"5.2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T04:20:14.839Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T04:20:14.839Z","lastCrawledAt":"2026-10-09T04:20:14.839Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T04:20:14.839Z","lastVerifiedAt":null,"highlights":[{"version":"4.1.3","createdAt":"2026-04-18T15:21:15.140Z","changelog":"v4.13 introduces a clear dual-layer structure and significant source-verified clarifications. - Adds explicit separation: todos.md (execution), knowledge/ (strategy), memory/ (classified memory). - Clarifies architecture: three mechanisms—Active Memory (real-time), Dream (12:30 cron, memory-core), and Refinement (user-defined verification). - Provides detailed, source-verified phases and outputs of Dream and disables misleading deep/light/rem memory files. - Outlines new config parameters, constraints, and memory handling for each layer. - Refines guidance on what gets saved, the memory file schema, and explicit project memory vs. knowledge distinctions. - Emphasizes manual promotion for verified/supplementary memories; no more auto-writes outside Dream’s deep phase.","fileCount":6,"zipByteSize":12201},{"version":"4.1.2","createdAt":"2026-04-15T07:42:24.955Z","changelog":"**v4.12 introduces dual-layer verification and a new \"Memory Palace\" global memory view.** - Added Active Memory: automatic, real-time retrieval and injection of relevant memories before conversations, supporting message/recent/full modes. - Introduced Memory Palace: structured, multi-dimensional memory views (timeline, project, technology, custom) for global navigation and organization. - Implemented dual-layer Dream verification: “Official Dream” promotes memories daily; a second, independent “Refined Verification” layer cross-checks, audits, and reports memory conflicts or AI hallucinations, ensuring reliability. - Enhanced memory file structure and automated updating—memories are now aggregated and validated across dimensions. - Improved documentation with updated workflow, new configuration examples, and expanded best practices for memory management. - Added SKILL.md.bak as a backup file.","fileCount":5,"zipByteSize":9927},{"version":"3.2.1","createdAt":"2026-04-07T09:03:46.240Z","changelog":"**Memory-never-forget v3.2.1 Changelog** - Adds the Memory Sublimation System, enabling mature memories to be merged and evolved into long-term knowledge artifacts. - Description updated to reflect this enhancement. - No other functional or structural changes.","fileCount":5,"zipByteSize":10119},{"version":"3.2.0","createdAt":"2026-04-07T08:56:13.807Z","changelog":"## Memory system upgraded to v3.2 with memory sublimation system. - ✅ Added complete Memory → Knowledge Sublimation mechanism - ✅ Enhanced Dream system with 5-phase consolidation - ✅ Automatic detection of memory maturation patterns - ✅ Knowledge document generation from accumulated memories - ✅ Improved memory classification accuracy and retrieval precision","fileCount":5,"zipByteSize":10119},{"version":"3.1.1","createdAt":"2026-04-03T08:32:40.175Z","changelog":"memory-never-forget v3.1.1 - Added a concise summary and flow diagram illustrating the end-to-end memory pipeline, from sensory input through Dream consolidation to long-term storage. - Clarified the two-dimensional memory system by explicitly describing the filter-then-classify process. - Improved structure and readability with more visual formatting (diagram and table organization). - No functional or technical changes to underlying behavior or architecture. Documentation clarity and presentation improved only.","fileCount":5,"zipByteSize":9383},{"version":"3.1.0","createdAt":"2026-04-03T08:21:20.863Z","changelog":"**Summary:** v3.1 is a major upgrade, introducing Atkinson-Shiffrin temporal layering alongside the previous 4-type classification for a unified, robust long-term memory system. - Adds a 2D memory structure: temporal (sensory, short-term, working, long-term) + content (user, feedback, project, reference). - Working memory (daily logs, 7-day TTL) sits between current context and long-term classified files; periodic \"Dream\" consolidation reviews, promotes, or prunes entries. - Retrieval flows now leverage both classified long-term memories and recent working memory (daily logs), with direct mapping for \"what, when, where\" style questions. - Tightened what/what-not-to-save guidelines; raw conversations are short-term only, with only distilled signals promoted. - Index (MEMORY.md) is exclusively for classified memory pointers; detailed content lives in structured files. - Enforces memory drift handling, absolute dates, and periodic pruning to avoid staleness.","fileCount":5,"zipByteSize":8904},{"version":"3.0.0","createdAt":"2026-04-03T08:12:20.217Z","changelog":"**Major upgrade: Memory system moves from cognitive psychology model to a Claude Code-inspired, 4-type taxonomy with streamlined indexing and automated extraction.** - New 4-type memory categories: User, Feedback, Project, Reference, each with dedicated subfolders and frontmatter format. - MEMORY.md becomes a pure index (no content), listing only memory file titles, paths, and one-line summaries. - Clear guidelines on what to save (important info, user feedback, decisions) and what NOT to save (code details, git logs, dialog transcripts). - Automated memory extraction at conversation end with deduplication, classification, and immediate summary to user. - Memory drift handling rules: always verify, trust current data, and update or delete outdated memories. - Regular background consolidation (\"Dream\") merges, deduplicates, and prunes memory files for relevance and brevity. - Retrieval process splits memory (indexed recall) and knowledge (deep lookup), streamlining memory management and futureproofing. ## v2.2 → v3.0 (2026-04-03) **Inspired by deep analysis of Claude Code's memory system source code** (`memoryTypes.ts`, `extractMemories.ts`, `autoDream.ts`, `consolidationPrompt.ts`). Key upgrades: ### Classification - Added 4-type taxonomy: **User / Feedback / Project / Reference** (mirrors Claude Code's eval-validated memory types) - MEMORY.md refactored into a **pure index** file with content separated into subdirectories (`memory/user/`, `memory/feedback/`, etc.) - Mandatory frontmatter format: `name`, `description`, `type`, `created` ### Extraction - Daily Dream-style consolidation via cron (4-stage: Orient → Gather → Consolidate → Prune) - \"What NOT to Save\" rules to prevent memory bloat (code patterns, git history, ephemeral tasks) - Memory Drift Caveat: verify file/function claims before recommending from memory ### Quality - Feedback captures both corrections AND confirmations (not just failures) - Relative dates converted to absolute dates for future interpretability - Project memories include \"Why\" field to help judge if they're still load-bearing --- *Source: Claude Code v1.0.0-research reverse-engineered analysis*","fileCount":5,"zipByteSize":8693},{"version":"2.2.2","createdAt":"2026-03-31T03:09:07.379Z","changelog":"No functional or code changes; documentation updated: - SKILL.md fully rewritten in English with streamlined explanations. - All key upgrade details, workflow, architecture, and memory principles retained. - Documentation now emphasizes international usability and clarity for wider audiences. - No file or behavior changes in this version.","fileCount":5,"zipByteSize":8900}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17fm008vag9h15mm75ep9xvhx83hc98:memory-never-forget","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17fm008vag9h15mm75ep9xvhx83hc98:memory-never-forget` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/jujitao/memory-never-forget before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jujitao-memory-never-forget/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jujitao-memory-never-forget/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jujitao-memory-never-forget/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-jujitao-memory-never-forget/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-jujitao-memory-never-forget/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-jujitao-memory-never-forget/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T00:37:12.496Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jujitao-memory-never-forget/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jujitao-memory-never-forget/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jujitao-memory-never-forget/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jujitao-memory-never-forget/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T04:20:14.839Z","emptyReason":null},"readme":"Skill: 🧠 Memory  Never Forget 🧠\n\nOwner: jujitao\n\nSummary: Memory system v4.13: Dual-layer structure (todos for execution + knowledge for strategy) with Dream/Refinement memory mechanisms.\n\nTags: ai:4.1.3, assistant:1.0.0, atkinson-shiffrin:4.1.3, brain:1.0.0, claude code:4.1.3, context:2.2.2, latest:4.1.3, memory:4.1.3, openclaw:1.0.0, productivity:4.1.3, three-stage-memory:4.1.3\n\nVersion history:\n\nv4.1.3 | 2026-04-18T15:21:15.140Z | user\n\nv4.13 introduces a clear dual-layer structure and significant source-verified clarifications.\n\n- Adds explicit separation: todos.md (execution), knowledge/ (strategy), memory/ (classified memory).\n- Clarifies architecture: three mechanisms—Active Memory (real-time), Dream (12:30 cron, memory-core), and Refinement (user-defined verification).\n- Provides detailed, source-verified phases and outputs of Dream and disables misleading deep/light/rem memory files.\n- Outlines new config parameters, constraints, and memory handling for each layer.\n- Refines guidance on what gets saved, the memory file schema, and explicit project memory vs. knowledge distinctions.\n- Emphasizes manual promotion for verified/supplementary memories; no more auto-writes outside Dream’s deep phase.\n\nv4.1.2 | 2026-04-15T07:42:24.955Z | user\n\n**v4.12 introduces dual-layer verification and a new \"Memory Palace\" global memory view.**\n\n- Added Active Memory: automatic, real-time retrieval and injection of relevant memories before conversations, supporting message/recent/full modes.\n- Introduced Memory Palace: structured, multi-dimensional memory views (timeline, project, technology, custom) for global navigation and organization.\n- Implemented dual-layer Dream verification: “Official Dream” promotes memories daily; a second, independent “Refined Verification” layer cross-checks, audits, and reports memory conflicts or AI hallucinations, ensuring reliability.\n- Enhanced memory file structure and automated updating—memories are now aggregated and validated across dimensions.\n- Improved documentation with updated workflow, new configuration examples, and expanded best practices for memory management.\n- Added SKILL.md.bak as a backup file.\n\nv3.2.1 | 2026-04-07T09:03:46.240Z | user\n\n**Memory-never-forget v3.2.1 Changelog**\n\n- Adds the Memory Sublimation System, enabling mature memories to be merged and evolved into long-term knowledge artifacts.\n- Description updated to reflect this enhancement.\n- No other functional or structural changes.\n\nv3.2.0 | 2026-04-07T08:56:13.807Z | user\n\n## Memory system upgraded to v3.2 with memory sublimation system.\n\n- ✅ Added complete Memory → Knowledge Sublimation mechanism\n- ✅ Enhanced Dream system with 5-phase consolidation \n- ✅ Automatic detection of memory maturation patterns\n- ✅ Knowledge document generation from accumulated memories\n- ✅ Improved memory classification accuracy and retrieval precision\n\nv3.1.1 | 2026-04-03T08:32:40.175Z | user\n\nmemory-never-forget v3.1.1\n\n- Added a concise summary and flow diagram illustrating the end-to-end memory pipeline, from sensory input through Dream consolidation to long-term storage.\n- Clarified the two-dimensional memory system by explicitly describing the filter-then-classify process.\n- Improved structure and readability with more visual formatting (diagram and table organization).\n- No functional or technical changes to underlying behavior or architecture. Documentation clarity and presentation improved only.\n\nv3.1.0 | 2026-04-03T08:21:20.863Z | user\n\n**Summary:**  \nv3.1 is a major upgrade, introducing Atkinson-Shiffrin temporal layering alongside the previous 4-type classification for a unified, robust long-term memory system.\n\n- Adds a 2D memory structure: temporal (sensory, short-term, working, long-term) + content (user, feedback, project, reference).\n- Working memory (daily logs, 7-day TTL) sits between current context and long-term classified files; periodic \"Dream\" consolidation reviews, promotes, or prunes entries.\n- Retrieval flows now leverage both classified long-term memories and recent working memory (daily logs), with direct mapping for \"what, when, where\" style questions.\n- Tightened what/what-not-to-save guidelines; raw conversations are short-term only, with only distilled signals promoted.\n- Index (MEMORY.md) is exclusively for classified memory pointers; detailed content lives in structured files.\n- Enforces memory drift handling, absolute dates, and periodic pruning to avoid staleness.\n\nv3.0.0 | 2026-04-03T08:12:20.217Z | user\n\n**Major upgrade: Memory system moves from cognitive psychology model to a Claude Code-inspired, 4-type taxonomy with streamlined indexing and automated extraction.**\n\n- New 4-type memory categories: User, Feedback, Project, Reference, each with dedicated subfolders and frontmatter format.\n- MEMORY.md becomes a pure index (no content), listing only memory file titles, paths, and one-line summaries.\n- Clear guidelines on what to save (important info, user feedback, decisions) and what NOT to save (code details, git logs, dialog transcripts).\n- Automated memory extraction at conversation end with deduplication, classification, and immediate summary to user.\n- Memory drift handling rules: always verify, trust current data, and update or delete outdated memories.\n- Regular background consolidation (\"Dream\") merges, deduplicates, and prunes memory files for relevance and brevity.\n- Retrieval process splits memory (indexed recall) and knowledge (deep lookup), streamlining memory management and futureproofing.\n\n## v2.2 → v3.0 (2026-04-03)\n\n**Inspired by deep analysis of Claude Code's memory system source code** (`memoryTypes.ts`, `extractMemories.ts`, `autoDream.ts`, `consolidationPrompt.ts`). Key upgrades:\n\n### Classification\n- Added 4-type taxonomy: **User / Feedback / Project / Reference** (mirrors Claude Code's eval-validated memory types)\n- MEMORY.md refactored into a **pure index** file with content separated into subdirectories (`memory/user/`, `memory/feedback/`, etc.)\n- Mandatory frontmatter format: `name`, `description`, `type`, `created`\n\n### Extraction\n- Daily Dream-style consolidation via cron (4-stage: Orient → Gather → Consolidate → Prune)\n- \"What NOT to Save\" rules to prevent memory bloat (code patterns, git history, ephemeral tasks)\n- Memory Drift Caveat: verify file/function claims before recommending from memory\n\n### Quality\n- Feedback captures both corrections AND confirmations (not just failures)\n- Relative dates converted to absolute dates for future interpretability\n- Project memories include \"Why\" field to help judge if they're still load-bearing\n\n---\n\n*Source: Claude Code v1.0.0-research reverse-engineered analysis*\n\nv2.2.2 | 2026-03-31T03:09:07.379Z | user\n\nNo functional or code changes; documentation updated:\n\n- SKILL.md fully rewritten in English with streamlined explanations.\n- All key upgrade details, workflow, architecture, and memory principles retained.\n- Documentation now emphasizes international usability and clarity for wider audiences.\n- No file or behavior changes in this version.\n\nv2.2.1 | 2026-03-31T02:53:29.457Z | user\n\nNo functional change in this version.\n\n- No file changes or content modifications detected.\n- All core features and documentation remain the same as the previous version.\n\nv2.2.0 | 2026-03-31T02:41:34.998Z | user\n\nMemory skill upgraded to \"memory-never-forget\" v2.2 with major architecture enhancements:\n\n- Introduced a two-layer framework: memory layer (索引) and knowledge layer (内容), clearly separating memory organization from knowledge storage.\n- Added proactive consolidation mechanisms (间隔重复), including daily logs, periodic reviews, and index updates, to strengthen long-term memory through spaced repetition.\n- Implemented metacognitive training (元认知训练) for self-monitoring: plan, monitor, and evaluate memory coverage in each session.\n- Enhanced retrieval efficiency with results sorting, associative expansion, and clear distinction between memory and knowledge queries.\n- Expanded scientific memory workflow with deep encoding, active consolidation, and efficient extraction—a full closed feedback loop.\n- Updated workflows and checklists to ensure robust recall, knowledge utilization, and minimized forgetting.\n\nv2.2.0: 基于《科学记忆技能体系化指南》重大升级。新增编码→巩固→提取闭环、主动巩固（间隔重复）、元认知训练（计划/监控/评估）、睡前复习机制；增强高效提取（排序+扩展+费曼原则）\n\nv2.0.0 | 2026-03-19T00:53:58.647Z | user\n\nv2.0.0 - 当前版本，优化了缓存、7天周期、智能检索\nv1.0.0 - 初始版本\n\nv1.0.0 | 2026-03-04T09:53:53.287Z | user\n\n🧠 Never Forget — AI Memory That Actually Works\n\nTired of starting every conversation from scratch? This skill gives your AI persistent memory using the same three-stage memory architecture humans use.\n\n🔬 Science-backed: Based on Atkinson-Shiffrin's cognitive model\n📚 Three memory layers: Sensory → Short-term → Long-term  \n🎯 Auto-recall: Remembers your name, preferences, past discussions\n💾 Smart consolidation: Important stuff gets saved permanently\n⚡ Zero setup: Just install and it works\n\nPerfect for: Personal assistants, customer service bots, knowledge workers who need continuity.\n\nArchive index:\n\nArchive v4.1.3: 6 files, 12201 bytes\n\nFiles: _meta.json (138b), .clawhub/origin.json (151b), references/memory-v2.md (6119b), references/templates.md (3136b), skill-card.md (2422b), SKILL.md (14442b)\n\nFile v4.1.3:SKILL.md\n\n---\nname: memory-never-forget\ndescription: \"Memory system v4.13: Dual-layer structure (todos for execution + knowledge for strategy) with Dream/Refinement memory mechanisms.\"\nmetadata: { \"openclaw\": { \"emoji\": \"🧠\" } }\n---\n\n# 🧠 Memory Never Forget v4.13\n\nA full-featured memory system for OpenClaw, integrating Active Memory retrieval, Memory Palace structured views, and a Dual-Layer Dream Verification mechanism — delivering \"proactive memory + global view + verifiable consolidation.\"\n\n**Core Logic: Active Memory = Memory Butler, Memory Palace = Knowledge Palace, Dual-Layer Dream = Verification & Consolidation Expert**\n\n**Three-Layer Separation: todos.md = Execution Layer | knowledge/ = Strategy Layer | memory/ = Classified Memory Layer**\n\nLicense: MIT-0 | Updated: 2026-04-18 | v4.13: Added dual-layer structure\n\n---\n\n## Overview\n\nThis skill manages memory across **two orthogonal dimensions**:\n\n1. **Temporal** (Atkinson-Shiffrin 3-stage model) — what to keep vs. what to prune\n2. **Content** (4-type taxonomy) — where to store for fast retrieval\n\n**Three independent mechanisms work together:**\n\n| Mechanism | Trigger | Write to disk? | Purpose |\n|---|---|---|---|\n| **Active Memory** | Every reply (before_prompt_build) | ❌ Read-only | Real-time recall, inject relevant memories into current conversation |\n| **Dream (memory-core)** | Daily 12:30 cron | ✅ MEMORY.md (Deep phase) | Decide which memories promote or decay |\n| **Refinement (13:00)** | Daily 13:00 cron (user-defined) | ✅ Writeable | Verify Dream results, fill gaps |\n\n> ⚠️ **v4.12b source-verified correction** (2026-04-17): Clarified actual division of three mechanisms\n\n---\n\n## Core Components\n\n### 1. Active Memory — Proactive Recall (Source-Verified)\n\n**Trigger mechanism**:\n- Hooked to `before_prompt_build`, **auto-triggers before every reply**\n- Spawns a read-only sub-agent with only `memory_search` + `memory_get` permissions\n- Builds query from current user message, searches recall index (`memory/.dreams/short-term-recall.json`)\n- Searched summaries are prepended to prompt before model generates reply\n- Results cached 15 seconds (`cacheTtlMs`) to avoid repeated recall in same turn\n\n**Key constraints**:\n- ❌ Read-only, produces no files\n- ❌ Cannot call other tools\n- Only affects current conversation context, not persisted\n\n**Configuration** (`openclaw.json` → `plugins.entries.active-memory.config`):\n```json\n{\n  \"enabled\": true,\n  \"queryMode\": \"recent\",      // message | recent | full\n  \"promptStyle\": \"balanced\",  // balanced | strict | contextual | recall-heavy | precision-heavy | preference-only\n  \"maxSummaryChars\": 220,\n  \"recentUserTurns\": 2,\n  \"recentAssistantTurns\": 1,\n  \"timeoutMs\": 15000\n}\n```\n\n### 2. Memory Palace — Structured Views\n\nProvides multi-dimensional views of your agent's long-term memory:\n- **Timeline** — chronological view of work progress\n- **Projects** — aggregated by project\n- **Technology** — organized by tech domain\n- **Custom** — user-defined dimensions\n\n### 3. Dream (memory-core) — Temporal Layering (Source-Verified)\n\n**Trigger**: `30 12 * * *` (cron), sessionTarget=\"main\", payload=\"systemEvent: `__openclaw_memory_core_short_term_promotion_dream__`\"\n\n**Three phases (Light → REM → Deep):**\n\n> Source quote (`formatPhaseGuide`):  \n> *\"deep is the only stage that writes durable entries to MEMORY.md. DREAMS.md is for human-readable dreaming summaries and diary entries.\"*\n\n| Phase | Output | Writes files? | Description |\n|---|---|---|---|\n| **Light** | Dream Diary prose entries | → DREAMS.md | Organize session-corpus, 4 parallel sessions |\n| **REM** | Theme reflections | → DREAMS.md | Extract recurring themes |\n| **Deep** | 6-dimensional weighted scoring signals | ✅ → MEMORY.md | **Only phase that writes to MEMORY.md** |\n\n**Deep phase promotion parameters** (adjust in cron job description):\n- `minScore`: 0.500 (tune based on your promotion rate)\n- `minRecallCount`: 3\n- `minUniqueQueries`: 3\n- `recencyHalfLifeDays`: 14\n- `maxAgeDays`: 30\n- `limit`: 10\n\n**⚠️ The following files are NEVER generated (source-verified):**\n- ❌ `memory/dreaming/deep/YYYY-MM-DD.md`\n- ❌ `memory/dreaming/light/YYYY-MM-DD.md`\n- ❌ `memory/dreaming/rem/YYYY-MM-DD.md`\n\n### 4. Refinement (User-Defined Cron) — Content Classification\n\n**Trigger**: `0 13 * * *` (user-defined cron), sessionTarget=\"isolated\"\n\n**Nature**: User-written AI agent prompt, not an OpenClaw native mechanism\n\n**Responsibilities**:\n- Read Dream outputs (DREAMS.md, session-corpus)\n- Verify conflicts, hallucinations, outdated entries\n- **Classify new memories into 4 categories** (user/feedback/project/reference)\n- Write verification report to `memory/dreaming/verify/YYYY-MM-DD.md`\n\n**⚠️ Note**: Verification reports' \"supplementary promotion suggestions\" are text only and won't automatically write to MEMORY.md. Manual promotion required.\n\n---\n\n## Two Orthogonal Dimensions\n\n|Dimension|Framework|Mechanism|Purpose|\n|---|---|---|---|\n|Temporal (how long)|Atkinson-Shiffrin 3-stage model|Dream (memory-core) Deep phase|Decay — what to keep vs. prune|\n|Content (where)|4-type taxonomy|Refinement 13:00 + agent proactive writes|Storage — where to put for retrieval|\n\n### Dimension 1: Temporal Layering\n\n|Stage|Human Equivalent|Implementation|TTL|Action|\n|---|---|---|---|---|\n|Sensory|~0.25 sec perception|Current input context|Instant|Filter immediately|\n|Short-term|Recent|Model context window 10 turns|10 turns|Pass through working filters|\n|Working|Recent ~7 days|memory/YYYY-MM-DD.md + Active Memory|7 days|Extract signal → promote or decay|\n|Long-term|Permanent|MEMORY.md (index) + classified files|Permanent|Periodic review, prune when stale|\n\n### Dimension 2: Content Classification (4 Types)\n\n**Written by: agent proactively during conversation (not automatic)**\n\n|Type|Directory|Content Example|When to Write|\n|---|---|---|---|\n|user|memory/user/|User profile (role, preferences, knowledge, goals)|When learning user preferences/profile|\n|feedback|memory/feedback/|Lessons (corrections, confirmations, style)|When user corrects or confirms|\n|project|memory/project/|Project decisions/reasoning (raw material)|When project has new progress/decision|\n|reference|memory/reference/|External resources (links, tools, locations)|When discovering new tools/resources|\n\n> **Important**: Project **execution state tracking** (blockers, needs, progress) → write directly to `knowledge/project-tracker.md` (strategy layer); only project experience, decision reasoning, retrospective summaries → sublimate to `memory/project/` (classified memory layer)\n\n---\n\n## What to Save / What NOT to Save\n\n### ✅ Save\n- User's role, preferences, responsibilities, knowledge\n- User corrections (\"not like that\", \"should be this way\")\n- User confirmations (\"yes exactly\", \"perfect, keep that\")\n- Project decisions and **the reasoning** (not just what, but why)\n- New tools, links, resources\n- External system locations and their purpose\n\n### ❌ Don't Save\n- ❌ Code patterns, architecture, file paths (derivable from codebase)\n- ❌ Git history (`git log` is the authoritative source)\n- ❌ Debugging solutions (the fix is in the code)\n- ❌ Anything already documented elsewhere\n- ❌ Ephemeral task state (write to `todos.md` instead)\n- ❌ Raw conversation content\n\n---\n\n## MEMORY.md = Long-Term Index Only\n\nMEMORY.md is the **index of long-term memories only**, never content. Format:\n```\n- [Title](path) — one-line description (<150 chars)\n```\n\n## Memory File Format\n\nEvery classified memory file must have frontmatter:\n\n```yaml\n---\nname: Memory name\ndescription: One-line description (used to judge relevance)\ntype: user|feedback|project|reference\ncreated: YYYY-MM-DD\n---\n\n## Rule / Fact\n(the content)\n\n## Why\n(reason / motivation)\n\n## How to apply\n(when and how to use this memory)\n```\n\n---\n\n## Memory Drift Caveat\n\nMemories can become stale. Rules:\n\n1. **Verify first**: When referencing a file, function, or path — check it still exists\n2. **Trust current state**: If memory conflicts with current observation, trust what you see now\n3. **Update or delete**: When a memory is outdated, fix or remove it immediately\n4. **Absolute dates**: Convert relative dates (\"yesterday\", \"last week\") to absolute dates\n\n---\n\n## Memory → Knowledge Sublimation\n\nNot all mature memories should decay. Some **evolve into knowledge**.\n\n### When to Sublimate\n\n| Trigger | Detection Signal | Result |\n|---------|-----------------|--------|\n| **Project complete** | All tasks marked done, 3+ related project memories | Merge into `knowledge/project-postmortem.md` |\n| **Project state tracking** | New progress/blockers/resource needs | Update `knowledge/project-tracker.md` directly (skip sublimation) |\n| **Feedback patterns** | 3+ related feedback entries (e.g., all about reply style) | Merge into `knowledge/user-work-style-guide.md` |\n| **User depth** | User memory accumulates role, preferences, habits over time | Expand to `knowledge/user-playbook.md` |\n| **Periodic review** | Dream detects high density of related memories in one category | Suggest: \"Found 5 related feedback entries → merge into knowledge?\" |\n\n---\n\n## Session Lifecycle\n\n### Session Start\n```\n1. Sensory: Read current input\n2. Short-term: Last 10 turns from context window\n3. Working: Read memory/today.md + memory/yesterday.md\n4. Long-term: Read MEMORY.md index\n```\n> Note: Active Memory runs before the above (in before_prompt_build hook)\n\n### During Conversation\n```\n- New info → write to working memory (today's daily log)\n- Learned something worth remembering → update MEMORY.md index + save classified file\n- User preference → update USER.md + memory/user/\n- Task/priority change → update todos.md\n- Need to retrieve → find in MEMORY.md index → read classified file\n```\n\n### Session End\n```\n- Summarize → write to memory/today.md (working memory)\n- Identify items for long-term → update classified files\n- Update MEMORY.md index\n- Mark items for Dream review (decay candidates)\n```\n\n---\n\n## Workspace Structure\n\n```\nworkspace/\n├── MEMORY.md              # long-term memory index (written by Dream Deep phase)\n├── USER.md                # user info\n├── SOUL.md                # AI identity\n├── todos.md               # ★ Execution layer: today's tasks + long-term tracking (user-facing)\n├── HEARTBEAT.md           # daily reminders\n├── memory/\n│   ├── memory-types.md    # this file (or link to SKILL.md)\n│   ├── user/              # long-term user memories (written by agent)\n│   ├── feedback/          # long-term feedback (written by agent)\n│   ├── project/           # long-term project memories (written by agent, post-sublimate)\n│   ├── reference/         # long-term references (written by agent)\n│   ├── palace/            # Memory Palace views\n│   │   ├── timeline.md\n│   │   ├── projects.md\n│   │   ├── technology.md\n│   │   └── custom.md\n│   ├── dreaming/\n│   │   └── verify/        # Verification reports (written by Refinement 13:00)\n│   ├── .dreams/           # Internal machine data (NOT human-readable)\n│   │   ├── phase-signals.json    # Deep phase scoring signals\n│   │   ├── events.jsonl          # memory_search event log\n│   │   ├── session-ingestion.json # session-corpus metadata\n│   │   └── short-term-recall.json # Active Memory recall index\n│   └── YYYY-MM-DD.md     # working memory (daily logs)\n└── knowledge/             # ★ Strategy layer (project blockers/progress/resources/suggestions)\n    └── project-tracker.md # Project panorama, user-facing\n```\n\n### Three-Layer Principle\n- **todos.md** = Execution layer: what to do today, tracking each node (user-maintained)\n- **knowledge/** = Strategy layer: where projects are stuck, what resources needed, suggestions\n- **memory/** = Classified memory layer: experience distillation, decision retrospectives, pattern discovery\n\nEach layer has its own purpose, no duplication.\n\n---\n\n## Example Interactions\n\n**User provides important info:**\n> User: \"I'm a data analyst, mostly working with Python\"\n→ Working: log in today's daily log\n→ Long-term: save to `memory/user/user-profile.md`, update MEMORY.md index\n\n**User corrects you:**\n> User: \"Don't use Markdown tables, use lists\"\n→ Working: log in today's daily log\n→ Long-term: save to `memory/feedback/no-tables.md`, update MEMORY.md index\n\n**Project decision:**\n> Decision: approach A over B because lower cost\n→ Working: log decision context\n→ Long-term: save to `memory/project/decision.md` with reasoning\n\n**Looking up a past date:**\n> User: \"What did we do last Tuesday?\"\n→ Active Memory auto-recalls → read `memory/YYYY-MM-DD.md` for that date\n\n---\n\n## OpenClaw Commands\n\n```bash\n# Check Active Memory status\nopenclaw plugins list | grep active-memory\n\n# Check Dream status\nopenclaw dreaming status\n\n# Toggle Dream on/off\nopenclaw dreaming on\nopenclaw dreaming off\n\n# Manually trigger Dream Consolidation\nopenclaw memory dream\n```\n\n---\n\n## Changelog\n\n| Version | Changes |\n|---|---|\n| v4.13 | **Dual-layer structure established** (2026-04-18): Added three-layer principle (todos execution + knowledge strategy + memory classified); removed ongoing-projects.md, replaced with knowledge/project-tracker.md for strategic view; updated Workspace Structure and Sublimation description |\n| v4.12b | **Source-verified major correction** (2026-04-17): Clarified three-mechanism division (Active Memory trigger/read-only, Dream Deep唯一写MEMORY.md, Refinement as user-defined cron); corrected Deep/Light/REM phase descriptions; removed non-existent file references; updated Active Memory source-level description |\n| v4.12 | Dual-Layer Dream Verification: Official Dream (12:30) + Refined Verify (13:00) cross-checking. Verification reports in memory/dreaming/verify/. Hallucination and drift prevention. |\n| v4.11 | Full integration with OpenClaw 4.11 ecosystem, Active Memory + Memory Palace + Dream Consolidation |\n| v3.2 | Memory sublimation system, 5-phase consolidation |\n| v2.2 | Memory-Knowledge layering + Atkinson-Shiffrin integration |\n| v1.0 | Initial release — Atkinson-Shiffrin three-stage model |\n\n---\n\n*Version: v4.13 | Updated: 2026-04-18 | Three layers: todos execution + knowledge strategy + memory classified*\n\nFile v4.1.3:_meta.json\n\n{\n  \"ownerId\": \"kn79vaxf67865vvvgkvydaf1j58257a6\",\n  \"slug\": \"memory-never-forget\",\n  \"version\": \"4.1.3\",\n  \"publishedAt\": 1776525675140\n}\n\nFile v4.1.3:references/memory-v2.md\n\n# Memory System v2.0 - Detailed Design\n\n> **⚠️ Legacy Reference** — This document describes the v2.0 design. The current version is v2.2 with Memory-Knowledge layering + Scientific memory loop (Encode→Consolidate→Retrieve) + Metacognitive training. See [SKILL.md](../SKILL.md) for the current design.\n\nBased on Atkinson-Shiffrin three-stage memory model (1968) + Community Optimizations (2026)\n\n## Theory Background\n\n### Atkinson-Shiffrin Model\n\n```\nSensory Memory → Short-Term Memory → Long-Term Memory\n   (0.25-2s)        (5-20s)            (Permanent)\n     ↓                   ↓                   ↓\n  Attention         Rehearsal          Consolidation\n```\n\n### Community Optimization (2026)\n\nBased on practical testing, the three-stage model has been optimized:\n\n| Metric | Before | After |\n|--------|--------|-------|\n| Task completion rate | 67% | 88% |\n| Response speed | 1x | 2x |\n| Retrieval accuracy | - | >70% |\n\n### Key Mechanisms\n\n1. **Information Filtering**: Selective attention filters sensory → short-term\n2. **Storage Maintenance**: Rehearsal maintains short-term and transfers to long-term\n3. **Capacity Limitations**: Each stage has capacity bottlenecks\n4. **Smart Caching**: Instant cache for 10 turns with priority-based retrieval\n\n## Implementation for AI\n\n### Stage 0: Instant Cache (v2.0 NEW)\n\n**Location**: Memory buffer / session context  \n**Capacity**: Last 10 conversation turns  \n**Duration**: Instant (cleared after 10 turns or new session)\n\n```\nUser Input → Check Cache → Cache Hit? → Use cached response\n                    ↓\n              Cache Miss? → Continue to sensory\n```\n\n**Characteristics**:\n- ⚡ Fastest response (priority 1)\n- Low memory footprint\n- Auto-cleared after 10 turns\n- Stores key context only\n\n---\n\n### Stage 1: Sensory Memory (Instant)\n\n**Location**: Tool call context / current input buffer  \n**Capacity**: Last 3-5 exchanges  \n**Duration**: Current turn only\n\n```\nUser Input → Parse → Understand Intent → Check Context → Respond\n                         ↑\n                    Recent history (3-5 turns)\n```\n\n**Characteristics**:\n- No persistence\n- Only maintains conversational flow\n- Auto-cleared after each response\n\n---\n\n### Stage 2: Short-Term Memory (Session + 7 Days)\n\n**Location**: session context + memory/YYYY-MM-DD.md  \n**Capacity**: Last 7 days of conversation  \n**Duration**: 7 days (then auto-cleanup)\n\n**v2.0 Optimization**:\n- 7-day retention period (tested with >70% accuracy)\n- Auto-cleanup after 7 days\n- Priority-based retrieval (check recent days first)\n\n**Location**: session context + memory/YYYY-MM-DD.md  \n**Capacity**: Today's full conversation  \n**Duration**: Current session + rest of day\n\n**When to Write**:\n- Every significant exchange\n- New tasks or requests\n- User preferences revealed\n- Decisions made\n\n**Writing Template**:\n```markdown\n## [Time] - Topic\n\n**User said**: [brief summary]\n**I did**: [action taken]\n**Remember**: [key point for future]\n```\n\n---\n\n### Stage 3: Long-Term Memory (Permanent)\n\n**Location**: MEMORY.md + knowledge/*.md  \n**Capacity**: Unlimited  \n**Duration**: Permanent\n\n**What Gets Consolidated** (rehearsal triggered):\n- User confirms important information\n- User corrects a mistake\n- Promise or commitment made\n- Personal details (name, role, preferences)\n- Project milestones\n\n**Consolidation Process**:\n1. Identify important info during conversation\n2. Immediately write to today's memory\n3. Before next session, review and move key points to MEMORY.md\n4. Delete routine info from daily log after 7 days\n\n---\n\n## Memory File Specifications\n\n### MEMORY.md - Core Long-Term\n\n**Contents**:\n- User identity and profile\n- Key relationships and context\n- Important commitments\n- Major project statuses\n- Learned preferences\n\n**Update Triggers**:\n- New user session\n- User provides personal info\n- Promise made\n- Significant decision\n\n**Format**:\n```markdown\n### [Category]\n\n**Date**: YYYY-MM-DD\n**Content**: [What to remember]\n**Context**: [Why it matters]\n```\n\n---\n\n### memory/YYYY-MM-DD.md - Daily Log\n\n**Contents**:\n- Detailed conversation logs\n- Tasks handled\n- Questions asked\n- Responses given\n\n**Auto-cleanup**:\n- Keep last 7 days\n- Archive to memory/archive/ after 30 days\n\n---\n\n### USER.md - User Profile\n\n**Contents**:\n- Name, how to address\n- Role/position\n- Communication preferences\n- Timezone\n- Known preferences\n\n**Keep Updated**:\n- New personal info revealed\n- Preference changed\n\n---\n\n### todos.md - Active Tasks\n\n**Contents**:\n- Pending actions\n- Follow-ups needed\n- Promises to user\n\n**Review**:\n- Every session start\n- After completing task, mark done\n\n---\n\n## Memory Search Protocol (v2.0)\n\nBefore answering questions that might reference past:\n\n```\nQuery Received\n├── Check Instant Cache (10 turns) → ⚡ Fastest\n├── Check Short-Term (7 days) → 🔄 Common\n├── Check Long-Term MEMORY.md → 📚 Core Facts\n└── Check knowledge/ → 📖 Structured Info\n```\n\n**Priority Order** (v2.0):\n1. Instant cache - most recent 10 turns\n2. Short-term memory - last 7 days\n3. Long-term memory - permanent facts\n4. Knowledge base - structured information\n\n**Search queries**:\n- \"What did user say about X?\"\n- \"Did we discuss Y before?\"\n- \"User mentioned Z previously\"\n\n---\n\n## Quality Assurance\n\n### Good Memory Practice\n\n✅ Remember:\n- User's name and role\n- Past discussions on same topic\n- Unfulfilled promises\n- User's preferences\n\n❌ Forget:\n- Exact wording of past messages\n- Timestamps (unless important)\n- Routine exchanges\n- Sensitive info (unless authorized)\n\n### Failure Recovery\n\n**If I forget**:\n1. User says \"I told you before\" → Apologize, ask them to remind you\n2. User corrects me → Immediately update memory, thank them\n3. I notice gap → \"Just to confirm, is it still X?\"\n\n---\n\n## Continuous Improvement\n\nTrack memory failures:\n- What did I forget that I should have remembered?\n- What did user correct me on?\n- What context was missing?\n\n→ Use these to improve memory writing habits\n\n---\n\n*Design: Atkinson & Shiffrin (1968)*\n*Community Optimization: 2026*\n*Implementation: OpenClaw*\n*Version: 2.0*\n\nFile v4.1.3:references/templates.md\n\n# Memory Writing Templates v2.0\n\n> **⚠️ Legacy Reference** — These templates are from v2.0. The current version is v2.2 with additional templates for Memory-Knowledge layering, active consolidation, and metacognitive training. See [SKILL.md](../SKILL.md) for the current workflow.\n\nQuick reference templates for writing to memory files.\n\n## v2.0 Quick Reference\n\n| Priority | When | Write To | Template |\n|----------|------|----------|----------|\n| ⚡ 1 | Instant cache needed | Session buffer | Brief note |\n| 🔄 2 | Session start (today) | Today's memory | Session Start |\n| 🔄 3 | Session start (recent) | Last 7 days | Search first |\n| 📚 4 | User shares info | USER.md | User Profile Update |\n| 📚 5 | Promise made | todos.md + MEMORY.md | Commitment |\n| 📚 6 | User corrects me | MEMORY.md | User Correction |\n| 🗑️ | End of 7 days | Auto-cleanup | - |\n\n## Session Start Template\n\n```markdown\n# YYYY-MM-DD Daily Log\n\n## Session Start\n- Time: HH:MM\n- Context: [Previous session ended with...]\n- User: [Name from USER.md]\n```\n\n## Important Info Recording\n\n```markdown\n### [Time] - [Topic]\n\n**User said**: [Brief summary of user's key point]\n**Action taken**: [What I did]\n**Remember**: [Key point for future]\n\n**Why important**: [Context for future reference]\n```\n\n## Commitment/Promise Template\n\n```markdown\n## Commitment - [Date]\n\n**To**: [User name]\n**Promise**: [What will be done]\n**Deadline**: [When]\n**Status**: [Pending/In Progress/Done]\n\n*Consolidate to MEMORY.md after completion*\n```\n\n## User Correction Template\n\n```markdown\n## Correction - [Date]\n\n**What was wrong**: [Previous understanding]\n**Corrected to**: [New information]\n**Source**: [User corrected this]\n**Action**: Updated [relevant file]\n```\n\n## Daily Summary Template\n\n```markdown\n## End of Day Summary - [Date]\n\n### Tasks Completed\n- [ ] Task 1\n- [ ] Task 2\n\n### In Progress\n- [ ] Task A\n\n### Important to Remember\n1. [Key point 1]\n2. [Key point 2]\n\n### Follow Up Needed\n- [ ] Item for next session\n```\n\n## User Profile Update\n\n```markdown\n## User Profile Update - [Date]\n\n**User**: [Name]\n**New Information**:\n- [Field]: [Value]\n- [Field]: [Value]\n\n**Previous values updated**: [List if any]\n```\n\n## Knowledge Entry\n\n```markdown\n# [Topic] - Knowledge Base\n\n**Category**: [Domain/Type]\n**Source**: [Where this info came from]\n**Last Updated**: YYYY-MM-DD\n\n## Core Information\n[Key facts]\n\n## Details\n[Supporting details]\n\n## References\n- [Link or source]\n```\n\n---\n\n## Quick Reference Card\n\n| When | Write To | Template |\n|------|----------|----------|\n| Session start | Today's memory | Session Start |\n| User shares info | USER.md | User Profile Update |\n| Promise made | todos.md + MEMORY.md | Commitment |\n| User corrects me | MEMORY.md | User Correction |\n| End of day | Today's memory | Daily Summary |\n| Learn something new | knowledge/*.md | Knowledge Entry |\n\n---\n\n## Writing Guidelines\n\n1. **Be concise** - One sentence is better than paragraph\n2. **Include context** - Why this matters\n3. **Use timestamps** - When relevant\n4. **Cross-reference** - Link related entries\n5. **Review regularly** - Consolidate important points\n\nFile v4.1.3:skill-card.md\n\n## Description:\n\nMemory system v4.13: Dual-layer structure (todos for execution + knowledge for strategy) with Dream/Refinement memory mechanisms.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[jujitao](https://clawhub.ai/user/jujitao)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to give an OpenClaw agent durable, structured memory for user preferences, corrections, project decisions, references, and periodic memory review.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Durable memory may retain personal preferences, role details, corrections, and project decisions more broadly than expected.\n\nMitigation: Review the memory files before and after installation, and keep separate controls for deletion, review, and disabling recall.\n\nRisk: Stored context may be inappropriate for secrets, regulated data, confidential client material, or settings where cross-conversation recall is not acceptable.\n\nMitigation: Do not use the skill with sensitive or regulated content unless independent controls prevent storage and recall of that material.\n\nRisk: Recalled memories can become stale and conflict with the current workspace or user intent.\n\nMitigation: Verify referenced files, facts, and dates against current evidence before acting on memory-derived guidance.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/jujitao/skills/memory-never-forget)\n- [Memory System v2.0 - Detailed Design](artifact/references/memory-v2.md)\n- [Memory Writing Templates v2.0](artifact/references/templates.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown guidance with JSON configuration examples and shell command examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Produces durable memory entries and recall guidance; users should review stored memory content before relying on it across conversations.]\n\n## Skill Version(s):\n\n4.1.3 (source: server release evidence; artifact text references v4.13 and artifact _meta.json lists 4.12)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v4.1.3:.clawhub/origin.json\n\n{\n  \"version\": 1,\n  \"registry\": \"https://clawhub.ai\",\n  \"slug\": \"memory-never-forget\",\n  \"installedVersion\": \"1.0.0\",\n  \"installedAt\": 1772813946231\n}\n\nArchive v4.1.2: 5 files, 9927 bytes\n\nFiles: _meta.json (138b), .clawhub/origin.json (151b), references/memory-v2.md (6119b), references/templates.md (3136b), SKILL.md (12284b)\n\nFile v4.1.2:SKILL.md\n\n---\nname: memory-never-forget\ndescription: \"Memory system v4.12: Active Memory + Memory Palace + Dual-Layer Dream Verification. The strongest memory system for OpenClaw agents.\"\nmetadata: { \"openclaw\": { \"emoji\": \"🧠\" } }\n---\n\n# 🧠 Memory Never Forget v4.12\n\nA full-featured memory system for OpenClaw, integrating Active Memory retrieval, Memory Palace structured views, and a Dual-Layer Dream Verification mechanism — delivering \"proactive memory + global view + verifiable consolidation.\"\n\n**Core Logic: Active Memory = Memory Butler, Memory Palace = Knowledge Palace, Dual-Layer Dream = Verification & Consolidation Expert**\n\nLicense: MIT-0 | Updated: 2026-04-15 | v4.12 adds Dual-Layer Verification\n\n---\n\n## Overview (v4.12)\n\nThis skill turns your OpenClaw agent into a truly \"knowing\" assistant by managing memory across **two orthogonal dimensions**:\n\n1. **Temporal** (Atkinson-Shiffrin 3-stage model) — what to keep vs. what to prune\n2. **Content** (4-type taxonomy from Claude Code) — where to store for fast retrieval\n\nA **Dual-Layer Dream Verification** architecture ensures your agent's memories are reliable, hallucination-free, and continuously validated.\n\n---\n\n## Core Components\n\n### 1. Active Memory — Proactive Retrieval\n\nBefore each response, Active Memory automatically retrieves and injects relevant memories into context.\n\n**Retrieval Modes:**\n- `message` — current message only\n- `recent` — recent conversation\n- `full` — full history (recommended)\n\n**Capabilities:**\n- Automatic preference learning\n- Context inheritance (project background, historical conclusions)\n- Real-time memory injection\n\n### 2. Memory Palace — Structured Views\n\nProvides multi-dimensional views of your agent's long-term memory:\n- **Timeline** — chronological view of work progress\n- **Projects** — aggregated by project\n- **Technology** — organized by tech domain\n- **Custom** — user-defined dimensions\n\n### 3. Dual-Layer Dream Verification (Core v4.12 Innovation)\n\n**Two independent but cross-verifying layers:**\n\n> **Official Dream (12:30)** — Promotes short-term signals to long-term memory (MEMORY.md)\n> ↓ outputs: DREAMS.md, memory/dreaming/deep/, etc.\n> ↓\n> **Refined Verify (13:00)** — Reads official outputs and cross-checks with independent judgment\n> → Detects conflicts, hallucinations, stale entries → writes verify/ report\n> → Supplements missed promotions\n\n**Why verification matters:**\n- AI memory systems suffer from **hallucination** (inventing facts) and **drift** (memory diverging from reality)\n- Two independent systems checking each other = **verifiable, auditable, reliable**\n\n---\n\n## Two Orthogonal Dimensions\n\n|Dimension|Framework|Purpose|\n|---|---|---|\n|Temporal (how long)|Atkinson-Shiffrin 3-stage model|Decay management — what to keep vs. prune|\n|Content (what kind)|4-type taxonomy (Claude Code)|Classification — where to store for retrieval|\n\n### Dimension 1: Temporal Layering\n\n|Stage|Human Equivalent|Implementation|TTL|Action|\n|---|---|---|---|---|\n|Sensory|~0.25 sec perception|Current input context|Instant|Filter immediately — what deserves attention?|\n|Short-term|Recent|Model context window 10 turns|10 turns|Pass through working filters|\n|Working|Recent ~7 days|memory/YYYY-MM-DD.md + Active Memory|7 days|Extract signal → promote to long-term or let decay|\n|Long-term|Permanent|MEMORY.md (index) + classified files|Permanent|Periodic review, prune when stale|\n\n### Dimension 2: Content Classification (4 Types)\n\n|Type|Directory|Content Example|\n|---|---|---|\n|user|memory/user/|User profile (role, preferences, knowledge, goals)|\n|feedback|memory/feedback/|Lessons (corrections, confirmations, style)|\n|project|memory/project/|Project state (work, decisions, reasoning)|\n|reference|memory/reference/|External resources (links, tools, locations)|\n\n---\n\n## What to Save / What NOT to Save\n\n### ✅ Save\n- User's role, preferences, responsibilities, knowledge\n- User corrections (\"not like that\", \"should be this way\")\n- User confirmations (\"yes exactly\", \"perfect, keep that\")\n- Project decisions and **the reasoning** (not just what, but why)\n- New tools, links, resources\n- External system locations and their purpose\n\n### ❌ Don't Save\n- ❌ Code patterns, architecture, file paths (derivable from codebase)\n- ❌ Git history (`git log` is the authoritative source)\n- ❌ Debugging solutions (the fix is in the code)\n- ❌ Anything already documented elsewhere\n- ❌ Ephemeral task state (write to `todos.md` instead)\n- ❌ Raw conversation content\n\n---\n\n## MEMORY.md = Long-Term Index Only\n\nMEMORY.md is the **index of long-term memories only**, never content. Format:\n```\n- [Title](path) — one-line description (<150 chars)\n```\n\n## Memory File Format\n\nEvery classified memory file must have frontmatter:\n\n```yaml\n---\nname: Memory name\ndescription: One-line description (used to judge relevance)\ntype: user|feedback|project|reference\ncreated: YYYY-MM-DD\n---\n\n## Rule / Fact\n(the content)\n\n## Why\n(reason / motivation)\n\n## How to apply\n(when and how to use this memory)\n```\n\n---\n\n## Memory Drift Caveat\n\nMemories can become stale. Rules:\n\n1. **Verify first**: When referencing a file, function, or path — check it still exists\n2. **Trust current state**: If memory conflicts with current observation, trust what you see now\n3. **Update or delete**: When a memory is outdated, fix or remove it immediately\n4. **Absolute dates**: Convert relative dates (\"yesterday\", \"last week\") to absolute dates\n\n---\n\n## Memory → Knowledge Sublimation\n\nNot all mature memories should decay. Some **evolve into knowledge**.\n\n### When to Sublimate\n\n| Trigger | Detection Signal | Result |\n|---------|-----------------|--------|\n| **Project complete** | All tasks marked done, 3+ related project memories | Merge into `knowledge/project-postmortem.md` |\n| **Feedback patterns** | 3+ related feedback entries (e.g., all about reply style) | Merge into `knowledge/user-work-style-guide.md` |\n| **User depth** | User memory accumulates role, preferences, habits over time | Expand to `knowledge/user-playbook.md` |\n| **Periodic review** | Dream detects high density of related memories in one category | Suggest: \"Found 5 related feedback entries → merge into knowledge?\" |\n\n---\n\n## Dual-Layer Dream Architecture\n\n### Layer 1: Official Dream (12:30)\n\nTriggered via cron `30 12 * * *` (your timezone). Produces:\n\n| File/Directory | Contents | Read by Refined Verify? |\n|---|---|---|\n| `MEMORY.md` | Promoted long-term entries | ✅ |\n| `DREAMS.md` | Human-readable Dream diary | ✅ |\n| `memory/dreaming/deep/YYYY-MM-DD.md` | Deep phase report | ✅ |\n| `memory/dreaming/light/YYYY-MM-DD.md` | Light phase output | ✅ |\n| `memory/dreaming/rem/YYYY-MM-DD.md` | REM reflections | ✅ |\n| `memory/.dreams/` | Internal machine data (program use only) | ❌ |\n\n**Phases:**\n1. **Light** — Sort and stage recent short-term material, dedupe\n2. **Deep** — Score and promote durable candidates (6 weighted signals) to MEMORY.md\n3. **REM** — Extract themes and reflection summaries\n\n### Layer 2: Refined Verify (13:00)\n\nTriggered via cron `0 13 * * *` (your timezone). Acts as the **verification layer**:\n\n**Verification Dimensions:**\n| Check | Content | On Conflict |\n|---|---|---|\n| Project status | Official Dream says \"Project X done\" but diary shows still in progress | ⚠️ Flag conflict |\n| Decision conclusions | Recorded decision has since changed in reality | ⚠️ Flag stale |\n| User preferences | Does Dream's user profile match USER.md? | ⚠️ Flag for review |\n| Dates | Were relative dates converted to absolute? | ✅/❌ |\n| Decay decisions | Is Dream's decision to let an entry decay reasonable? | ⚠️ Flag suspicious |\n\n**Verification Report** (written to `memory/dreaming/verify/YYYY-MM-DD.md`):\n```markdown\n# Verification Report - YYYY-MM-DD\n\n## Official Dream Status\n- Entries promoted: X\n- Top entry: X (score X)\n- Disputed entries: X\n\n## Conflict Log (⚠️)\n| Entry | Official Dream | Refined Verify | Difference |\n|---|---|---|---|\n| ... | ... | ... | ... |\n\n## Supplement Suggestions\n- Additional promotions: X (missed by Official Dream)\n- Needs user confirmation: X\n\n## Verification Conclusion\n- Consistency score: X/10\n- Memory reliability: ✅ Reliable / ⚠️ Uncertain\n```\n\n---\n\n## Session Lifecycle\n\n### Session Start\n```\n1. Sensory: Read current input\n2. Short-term: Last 10 turns from context window\n3. Working: Read memory/today.md + memory/yesterday.md\n4. Long-term: Read MEMORY.md index\n```\n\n### During Conversation\n```\n- New info → write to working memory (today's daily log)\n- Learned something worth remembering → update MEMORY.md index + save classified file\n- User preference → update USER.md + memory/user/\n- Need to retrieve → find in MEMORY.md index → read classified file\n```\n\n### Session End\n```\n- Summarize → write to memory/today.md (working memory)\n- Identify items for long-term → update classified files\n- Update MEMORY.md index\n- Mark items for Dream review (decay candidates)\n```\n\n---\n\n## Workspace Structure\n\n```\nworkspace/\n├── MEMORY.md              # long-term memory index\n├── USER.md                # user info\n├── SOUL.md                # AI identity\n├── todos.md               # task tracking\n├── HEARTBEAT.md           # daily reminders\n├── memory/\n│   ├── memory-types.md    # this file (or link to SKILL.md)\n│   ├── user/              # long-term user memories\n│   ├── feedback/          # long-term feedback\n│   ├── project/           # long-term project memories\n│   ├── reference/         # long-term references\n│   ├── palace/            # Memory Palace views\n│   │   ├── timeline.md\n│   │   ├── projects.md\n│   │   ├── technology.md\n│   │   └── custom.md\n│   ├── dreaming/\n│   │   ├── deep/          # Deep phase reports\n│   │   ├── light/          # Light phase output\n│   │   ├── rem/           # REM reflections\n│   │   └── verify/        # Verification reports (v4.12)\n│   └── YYYY-MM-DD.md     # working memory (daily logs)\n└── knowledge/             # knowledge layer (detailed content)\n```\n\n---\n\n## Example Interactions\n\n**User provides important info:**\n> User: \"I'm a data analyst, mostly working with Python\"\n→ Working: log in today's daily log\n→ Long-term: save to `memory/user/user-profile.md`, update MEMORY.md index\n\n**User corrects you:**\n> User: \"Don't use Markdown tables, use lists\"\n→ Working: log in today's daily log\n→ Long-term: save to `memory/feedback/no-tables.md`, update MEMORY.md index\n\n**Project decision:**\n> Decision: approach A over B because lower cost\n→ Working: log decision context\n→ Long-term: save to `memory/project/decision.md` with reasoning\n\n**Looking up a past date:**\n> User: \"What did we do last Tuesday?\"\n→ Working memory: read `memory/YYYY-MM-DD.md` for that date\n\n---\n\n## References\n\n- **Atkinson-Shiffrin model** (1968): Sensory → Short-term → Long-term memory stages\n- Claude Code `memoryTypes.ts` — 4-type taxonomy\n- Claude Code `extractMemories.ts` — auto-extraction system\n- Claude Code `autoDream.ts` — background consolidation system\n- OpenClaw `dreaming.md` — Dreaming experimental documentation\n\n---\n\n## OpenClaw Commands\n\n```bash\n# Check Active Memory status\nopenclaw plugins list | grep active-memory\n\n# Check Memory Palace status\nopenclaw memory palace status\n\n# Test Active Memory\nopenclaw memory test active\n\n# Manually trigger Dream Consolidation\nopenclaw memory dream\n```\n\n---\n\n## Changelog\n\n| Version | Changes |\n|---|---|\n| v4.12 | Dual-Layer Dream Verification: Official Dream (12:30) + Refined Verify (13:00) cross-checking. Verification reports in memory/dreaming/verify/. Hallucination and drift prevention. |\n| v4.11 | Full integration with OpenClaw 4.11 ecosystem, Active Memory + Memory Palace + Dream Consolidation |\n| v3.2 | Memory sublimation system, 5-phase consolidation |\n| v2.2 | Memory-Knowledge layering + Atkinson-Shiffrin integration |\n| v1.0 | Initial release — Atkinson-Shiffrin three-stage model |\n\n---\n\n*Version: v4.12 | Updated: 2026-04-15 | Dual-Layer Dream Verification prevents hallucination and memory drift*\n\nFile v4.1.2:_meta.json\n\n{\n  \"ownerId\": \"kn79vaxf67865vvvgkvydaf1j58257a6\",\n  \"slug\": \"memory-never-forget\",\n  \"version\": \"4.1.2\",\n  \"publishedAt\": 1776238944955\n}\n\nFile v4.1.2:references/memory-v2.md\n\n# Memory System v2.0 - Detailed Design\n\n> **⚠️ Legacy Reference** — This document describes the v2.0 design. The current version is v2.2 with Memory-Knowledge layering + Scientific memory loop (Encode→Consolidate→Retrieve) + Metacognitive training. See [SKILL.md](../SKILL.md) for the current design.\n\nBased on Atkinson-Shiffrin three-stage memory model (1968) + Community Optimizations (2026)\n\n## Theory Background\n\n### Atkinson-Shiffrin Model\n\n```\nSensory Memory → Short-Term Memory → Long-Term Memory\n   (0.25-2s)        (5-20s)            (Permanent)\n     ↓                   ↓                   ↓\n  Attention         Rehearsal          Consolidation\n```\n\n### Community Optimization (2026)\n\nBased on practical testing, the three-stage model has been optimized:\n\n| Metric | Before | After |\n|--------|--------|-------|\n| Task completion rate | 67% | 88% |\n| Response speed | 1x | 2x |\n| Retrieval accuracy | - | >70% |\n\n### Key Mechanisms\n\n1. **Information Filtering**: Selective attention filters sensory → short-term\n2. **Storage Maintenance**: Rehearsal maintains short-term and transfers to long-term\n3. **Capacity Limitations**: Each stage has capacity bottlenecks\n4. **Smart Caching**: Instant cache for 10 turns with priority-based retrieval\n\n## Implementation for AI\n\n### Stage 0: Instant Cache (v2.0 NEW)\n\n**Location**: Memory buffer / session context  \n**Capacity**: Last 10 conversation turns  \n**Duration**: Instant (cleared after 10 turns or new session)\n\n```\nUser Input → Check Cache → Cache Hit? → Use cached response\n                    ↓\n              Cache Miss? → Continue to sensory\n```\n\n**Characteristics**:\n- ⚡ Fastest response (priority 1)\n- Low memory footprint\n- Auto-cleared after 10 turns\n- Stores key context only\n\n---\n\n### Stage 1: Sensory Memory (Instant)\n\n**Location**: Tool call context / current input buffer  \n**Capacity**: Last 3-5 exchanges  \n**Duration**: Current turn only\n\n```\nUser Input → Parse → Understand Intent → Check Context → Respond\n                         ↑\n                    Recent history (3-5 turns)\n```\n\n**Characteristics**:\n- No persistence\n- Only maintains conversational flow\n- Auto-cleared after each response\n\n---\n\n### Stage 2: Short-Term Memory (Session + 7 Days)\n\n**Location**: session context + memory/YYYY-MM-DD.md  \n**Capacity**: Last 7 days of conversation  \n**Duration**: 7 days (then auto-cleanup)\n\n**v2.0 Optimization**:\n- 7-day retention period (tested with >70% accuracy)\n- Auto-cleanup after 7 days\n- Priority-based retrieval (check recent days first)\n\n**Location**: session context + memory/YYYY-MM-DD.md  \n**Capacity**: Today's full conversation  \n**Duration**: Current session + rest of day\n\n**When to Write**:\n- Every significant exchange\n- New tasks or requests\n- User preferences revealed\n- Decisions made\n\n**Writing Template**:\n```markdown\n## [Time] - Topic\n\n**User said**: [brief summary]\n**I did**: [action taken]\n**Remember**: [key point for future]\n```\n\n---\n\n### Stage 3: Long-Term Memory (Permanent)\n\n**Location**: MEMORY.md + knowledge/*.md  \n**Capacity**: Unlimited  \n**Duration**: Permanent\n\n**What Gets Consolidated** (rehearsal triggered):\n- User confirms important information\n- User corrects a mistake\n- Promise or commitment made\n- Personal details (name, role, preferences)\n- Project milestones\n\n**Consolidation Process**:\n1. Identify important info during conversation\n2. Immediately write to today's memory\n3. Before next session, review and move key points to MEMORY.md\n4. Delete routine info from daily log after 7 days\n\n---\n\n## Memory File Specifications\n\n### MEMORY.md - Core Long-Term\n\n**Contents**:\n- User identity and profile\n- Key relationships and context\n- Important commitments\n- Major project statuses\n- Learned preferences\n\n**Update Triggers**:\n- New user session\n- User provides personal info\n- Promise made\n- Significant decision\n\n**Format**:\n```markdown\n### [Category]\n\n**Date**: YYYY-MM-DD\n**Content**: [What to remember]\n**Context**: [Why it matters]\n```\n\n---\n\n### memory/YYYY-MM-DD.md - Daily Log\n\n**Contents**:\n- Detailed conversation logs\n- Tasks handled\n- Questions asked\n- Responses given\n\n**Auto-cleanup**:\n- Keep last 7 days\n- Archive to memory/archive/ after 30 days\n\n---\n\n### USER.md - User Profile\n\n**Contents**:\n- Name, how to address\n- Role/position\n- Communication preferences\n- Timezone\n- Known preferences\n\n**Keep Updated**:\n- New personal info revealed\n- Preference changed\n\n---\n\n### todos.md - Active Tasks\n\n**Contents**:\n- Pending actions\n- Follow-ups needed\n- Promises to user\n\n**Review**:\n- Every session start\n- After completing task, mark done\n\n---\n\n## Memory Search Protocol (v2.0)\n\nBefore answering questions that might reference past:\n\n```\nQuery Received\n├── Check Instant Cache (10 turns) → ⚡ Fastest\n├── Check Short-Term (7 days) → 🔄 Common\n├── Check Long-Term MEMORY.md → 📚 Core Facts\n└── Check knowledge/ → 📖 Structured Info\n```\n\n**Priority Order** (v2.0):\n1. Instant cache - most recent 10 turns\n2. Short-term memory - last 7 days\n3. Long-term memory - permanent facts\n4. Knowledge base - structured information\n\n**Search queries**:\n- \"What did user say about X?\"\n- \"Did we discuss Y before?\"\n- \"User mentioned Z previously\"\n\n---\n\n## Quality Assurance\n\n### Good Memory Practice\n\n✅ Remember:\n- User's name and role\n- Past discussions on same topic\n- Unfulfilled promises\n- User's preferences\n\n❌ Forget:\n- Exact wording of past messages\n- Timestamps (unless important)\n- Routine exchanges\n- Sensitive info (unless authorized)\n\n### Failure Recovery\n\n**If I forget**:\n1. User says \"I told you before\" → Apologize, ask them to remind you\n2. User corrects me → Immediately update memory, thank them\n3. I notice gap → \"Just to confirm, is it still X?\"\n\n---\n\n## Continuous Improvement\n\nTrack memory failures:\n- What did I forget that I should have remembered?\n- What did user correct me on?\n- What context was missing?\n\n→ Use these to improve memory writing habits\n\n---\n\n*Design: Atkinson & Shiffrin (1968)*\n*Community Optimization: 2026*\n*Implementation: OpenClaw*\n*Version: 2.0*\n\nFile v4.1.2:references/templates.md\n\n# Memory Writing Templates v2.0\n\n> **⚠️ Legacy Reference** — These templates are from v2.0. The current version is v2.2 with additional templates for Memory-Knowledge layering, active consolidation, and metacognitive training. See [SKILL.md](../SKILL.md) for the current workflow.\n\nQuick reference templates for writing to memory files.\n\n## v2.0 Quick Reference\n\n| Priority | When | Write To | Template |\n|----------|------|----------|----------|\n| ⚡ 1 | Instant cache needed | Session buffer | Brief note |\n| 🔄 2 | Session start (today) | Today's memory | Session Start |\n| 🔄 3 | Session start (recent) | Last 7 days | Search first |\n| 📚 4 | User shares info | USER.md | User Profile Update |\n| 📚 5 | Promise made | todos.md + MEMORY.md | Commitment |\n| 📚 6 | User corrects me | MEMORY.md | User Correction |\n| 🗑️ | End of 7 days | Auto-cleanup | - |\n\n## Session Start Template\n\n```markdown\n# YYYY-MM-DD Daily Log\n\n## Session Start\n- Time: HH:MM\n- Context: [Previous session ended with...]\n- User: [Name from USER.md]\n```\n\n## Important Info Recording\n\n```markdown\n### [Time] - [Topic]\n\n**User said**: [Brief summary of user's key point]\n**Action taken**: [What I did]\n**Remember**: [Key point for future]\n\n**Why important**: [Context for future reference]\n```\n\n## Commitment/Promise Template\n\n```markdown\n## Commitment - [Date]\n\n**To**: [User name]\n**Promise**: [What will be done]\n**Deadline**: [When]\n**Status**: [Pending/In Progress/Done]\n\n*Consolidate to MEMORY.md after completion*\n```\n\n## User Correction Template\n\n```markdown\n## Correction - [Date]\n\n**What was wrong**: [Previous understanding]\n**Corrected to**: [New information]\n**Source**: [User corrected this]\n**Action**: Updated [relevant file]\n```\n\n## Daily Summary Template\n\n```markdown\n## End of Day Summary - [Date]\n\n### Tasks Completed\n- [ ] Task 1\n- [ ] Task 2\n\n### In Progress\n- [ ] Task A\n\n### Important to Remember\n1. [Key point 1]\n2. [Key point 2]\n\n### Follow Up Needed\n- [ ] Item for next session\n```\n\n## User Profile Update\n\n```markdown\n## User Profile Update - [Date]\n\n**User**: [Name]\n**New Information**:\n- [Field]: [Value]\n- [Field]: [Value]\n\n**Previous values updated**: [List if any]\n```\n\n## Knowledge Entry\n\n```markdown\n# [Topic] - Knowledge Base\n\n**Category**: [Domain/Type]\n**Source**: [Where this info came from]\n**Last Updated**: YYYY-MM-DD\n\n## Core Information\n[Key facts]\n\n## Details\n[Supporting details]\n\n## References\n- [Link or source]\n```\n\n---\n\n## Quick Reference Card\n\n| When | Write To | Template |\n|------|----------|----------|\n| Session start | Today's memory | Session Start |\n| User shares info | USER.md | User Profile Update |\n| Promise made | todos.md + MEMORY.md | Commitment |\n| User corrects me | MEMORY.md | User Correction |\n| End of day | Today's memory | Daily Summary |\n| Learn something new | knowledge/*.md | Knowledge Entry |\n\n---\n\n## Writing Guidelines\n\n1. **Be concise** - One sentence is better than paragraph\n2. **Include context** - Why this matters\n3. **Use timestamps** - When relevant\n4. **Cross-reference** - Link related entries\n5. **Review regularly** - Consolidate important points\n\nFile v4.1.2:.clawhub/origin.json\n\n{\n  \"version\": 1,\n  \"registry\": \"https://clawhub.ai\",\n  \"slug\": \"memory-never-forget\",\n  \"installedVersion\": \"1.0.0\",\n  \"installedAt\": 1772813946231\n}\n\nArchive v3.2.1: 5 files, 10119 bytes\n\nFiles: _meta.json (138b), .clawhub/origin.json (151b), references/memory-v2.md (6119b), references/templates.md (3136b), SKILL.md (13724b)\n\nFile v3.2.1:SKILL.md\n\n---\nname: memory-never-forget\ndescription: \"Memory system v3.2: Atkinson-Shiffrin temporal layering + 4-type taxonomy (User/Feedback/Project/Reference) + auto-extract + Dream consolidation + memory drift handling + Memory Sublimation System. Merges cognitive psychology with Claude Code's memory architecture.\"\nmetadata: { \"openclaw\": { \"emoji\": \"🧠\" } }\n---\n\n# 🧠 Memory Never Forget v3.2\n\nTwo orthogonal dimensions working together:\n\n| Dimension | Framework | Purpose |\n|-----------|-----------|---------|\n| **Temporal** (how long) | Atkinson-Shiffrin 3-stage model | Decay management — what to keep vs. prune |\n| **Content** (what kind) | 4-type taxonomy (Claude Code) | Classification — where to store for retrieval |\n\n## How It Works: The Memory Flow\n\n```\nNew Information\n    │\n    ▼\n┌─────────────────────────┐\n│  Sensory Memory          │  ~0.25 sec — instant filter\n│  (Current Context)       │  What deserves attention?\n└────────┬────────────────┘\n         │ worth remembering\n         ▼\n┌─────────────────────────┐\n│  Short-Term Memory       │  ~10 turns — context window\n│  (Conversation)          │  Pass through working filter\n└────────┬────────────────┘\n         │ survives\n         ▼\n┌─────────────────────────┐\n│  Working Memory           │  ~7 days — daily logs\n│  (memory/YYYY-MM-DD.md)  │  Raw signal, unclassified\n└────────┬────────────────┘\n         │\n    ┌────▼────┐  every day at 12:30\n    │ DREAM   │  The Gateway:\n    │         │  1. Scan recent daily logs\n    │  ⚙️    │  2. Identify long-term signal\n    │  ⚙️    │  3. ★ Classify into 4 types  ← Temporal → Content\n    │  ⚙️    │  4. Write to classified file\n    │  ⚙️    │  5. Update MEMORY.md index\n    │         │  6. Let old logs decay naturally\n    └────┬────┘\n         │ promoted\n         ▼\n┌─────────────────────────┐\n│  Long-Term Memory        │  Permanent — classified\n│  (4 types + index)       │  User / Feedback / Project / Reference\n└─────────────────────────┘\n```\n\n**In one sentence:** Memory is first filtered by time (when to save, when to let decay), then transformed by Dream into classified content (where to store, how to retrieve).\n\n---\n\n## Dimension 1: Temporal Layering (Atkinson-Shiffrin)\n\n| Stage | Human Equivalent | Implementation | TTL | Action |\n|-------|-----------------|----------------|-----|--------|\n| **Sensory** | ~0.25 sec perception | Current input context | Instant | Filter immediately — what deserves attention? |\n| **Short-term** | Recent 10 turns | Model context window | 10 turns | Pass through working filters |\n| **Working** | Recent ~7 days | `memory/YYYY-MM-DD.md` daily logs | 7 days | Extract signal → promote to long-term or let decay |\n| **Long-term** | Permanent | `MEMORY.md` (index) + classified files | Permanent | Periodic review, prune when stale |\n\n**The memory flow:**\n```\nInput → Sensory (filter) → Short-term (hold) → Working (consolidate) → Long-term (index)\n                                                                      ↕\n                                                              Daily Dream review\n                                                              (promote or prune)\n```\n\n---\n\n## Dimension 2: Content Classification (4 Types)\n\n| Type | Directory | Content | Example |\n|------|-----------|---------|---------|\n| **user** | `memory/user/` | User profile (role, preferences, knowledge, goals) | \"User is a data analyst, prefers concise replies\" |\n| **feedback** | `memory/feedback/` | Lessons (corrections, confirmations, style) | \"Don't use Markdown tables, use lists\" |\n| **project** | `memory/project/` | Project state (work, decisions, reasoning) | \"Project X adopted Y because it reduces cost\" |\n| **reference** | `memory/reference/` | External resources (links, tools, locations) | \"Project docs are in /docs/api/\" |\n\n**How the two dimensions interact:**\n- Working layer (`memory/*.md` daily logs) captures raw signal without classification\n- Long-term layer stores classified memories (4 types), each with indexed content\n- Dream consolidation moves Working → Long-term (classify + promote) OR prunes (decay)\n\n---\n\n## What to Save / What NOT to Save\n\n### ✅ Save\n- User's role, preferences, responsibilities, knowledge\n- User corrections (\"not like that\", \"should be this way\")\n- User confirmations (\"yes exactly\", \"perfect, keep that\")\n- Project decisions and **the reasoning** (not just what, but why)\n- New tools, links, resources\n- External system locations and their purpose\n\n### ❌ Don't Save\n- ❌ Code patterns, architecture, file paths (derivable from codebase)\n- ❌ Git history (`git log` is the authoritative source)\n- ❌ Debugging solutions (the fix is in the code; commit messages have context)\n- ❌ Anything already documented elsewhere\n- ❌ Ephemeral task state (write to `todos.md` instead)\n- ❌ Raw conversation content\n\n> ⚠️ **Even if the user explicitly asks** — if asked to save a PR list or activity summary, ask what was *surprising* or *non-obvious* about it — that's the part worth keeping.\n\n---\n\n## MEMORY.md = Long-Term Index Only\n\nMEMORY.md is the **index of long-term memories only**, never content. Format:\n```\n- [Title](path) — one-line description (<150 chars)\n```\n\nExample:\n```markdown\n## User Memory\n- [user-profile](user/profile.md) — user role and preferences\n\n## Feedback Memory\n- [no-tables](feedback/no-tables.md) — prefer lists over markdown tables\n\n## Project Memory\n- [model-switch](project/model-decision.md) — why project switched model\n\n## Reference\n- [project-docs](reference/docs-path.md) — where project docs live\n```\n\n---\n\n## Memory File Format\n\nEvery classified memory file must have frontmatter:\n\n```yaml\n---\nname: Memory name\ndescription: One-line description (used to judge relevance)\ntype: user|feedback|project|reference\ncreated: YYYY-MM-DD\n---\n\n## Rule / Fact\n(the content)\n\n## Why\n(reason / motivation)\n\n## How to apply\n(when and how to use this memory)\n```\n\n---\n\n## Memory Drift Caveat\n\nMemories can become stale. Rules:\n\n1. **Verify first**: When referencing a file, function, or path — check it still exists\n2. **Trust current state**: If memory conflicts with current observation, trust what you see now\n3. **Update or delete**: When a memory is outdated, fix or remove it immediately\n4. **Absolute dates**: Convert relative dates (\"yesterday\", \"last week\") to absolute dates\n\n> \"The memory says X exists\" ≠ \"X exists now\"\n\n---\n\n## Directory Structure\n\n```\nmemory/\n├── memory-types.md       ← this file\n├── user/                 ← long-term user memories\n├── feedback/             ← long-term feedback\n├── project/              ← long-term project memories\n├── reference/            ← long-term references\n└── 2026-XX-XX.md        ← working memory (daily logs, 7-day TTL)\n```\n\n---\n\n## Retrieval Flow (by question type)\n\n### Memory Questions (\"what happened before\", \"what did we talk about\")\n→ `memory_search` across MEMORY.md + memory/*.md\n\n→ If not found in memory layer → proactively search daily logs (working memory)\n\n### Knowledge Questions (\"look this up\", \"check that file\")\n1. Find index in MEMORY.md first\n2. Read detailed content from classified file or knowledge layer\n\n### Temporal Questions (\"what did I do last Tuesday\")\n→ Go directly to daily logs (working memory): `memory/YYYY-MM-DD.md`\n\n---\n\n## Feedback Rules\n\n- **Record failures AND successes**: only saving corrections makes you overly cautious\n- Corrections are easy to notice; confirmations are quieter — watch for them\n- Always include **why** to judge edge cases later\n\n## Project Rules\n\n- Project memories decay fast, so **why** helps future-you judge if the memory is still load-bearing\n- Always convert relative dates to absolute dates\n\n## Memory → Knowledge Sublimation (升华)\n\nNot all mature memories should decay. Some **evolve into knowledge**.\n\n### When to Sublimate\n\n| Trigger | Detection Signal | Result |\n|---------|-----------------|--------|\n| **Project complete** | All tasks marked done, 3+ related project memories | Merge into `knowledge/project-postmortem.md` |\n| **Feedback patterns** | 3+ related feedback entries (e.g., all about reply style) | Merge into `knowledge/user-work-style-guide.md` |\n| **User depth** | User memory accumulates role, preferences, habits over time | Expand to `knowledge/user-playbook.md` |\n| **Periodic review** | Dream detects high density of related memories in one category | Suggest: \"Found 5 related feedback entries → merge into knowledge?\" |\n\n### Sublimation vs Pruning\n\n| Decision | Criteria | Action |\n|----------|----------|--------|\n| **Prune (forget)** | No longer relevant, isolated, no connections | Remove from MEMORY.md index |\n| **Sublimate (promote)** | Still relevant, mature, interconnected, frequently referenced | Create detailed document in `knowledge/` |\n\n### Sublimation Flow\n```\nmemory/project/task-A.md         │\nmemory/project/task-B.md         │\nmemory/project/task-C.md         │  ← Project complete, 3+ related\n    ↓ ── Dream detects pattern ──┤\nknowledge/project-A-postmortem.md  │  ← Sublimated: detailed lessons\n    ↓                             │\nMEMORY.md index updated           │  ← Points to knowledge document\n\nOriginal memories PRESERVED (first-hand records) + knowledge/ (detailed version)\n```\n\n### Sublimation Rules\n- **Always preserve original memories** (they are first-hand records)\n- Create the knowledge document in `knowledge/`\n- Update MEMORY.md to point to the knowledge document\n- Log the sublimation (when and why)\n- After sublimation, update the **knowledge document** going forward (not the individual memories)\n\n---\n\n## Dream Consolidation (Periodic, Automated)\n\nTriggered daily via cron. Acts as the **Working → Long-term promotion + Sublimation detection gateway**.\n\n### Phases\n1. **Orient** — browse existing memory files and index\n2. **Gather** — scan working memory (daily logs) for new signal\n3. **Consolidate** — promote to classified long-term (4 types), merge, deduplicate\n4. **Prune** — remove outdated entries, update index, let daily logs decay naturally\n5. **★ Sublimate** — detect maturation patterns and promote memory → knowledge\n\n### Rules\n- Merge new signal into existing files, not near-duplicates\n- Relative dates → absolute dates\n- Delete contradicted facts\n- Keep MEMORY.md under 5KB\n- Remove stale pointers\n- Shorten overly long index entries (<150 chars each)\n\n---\n\n## Session Lifecycle (Atkinson-Shiffrin in Practice)\n\n### Session Start\n```\n1. Sensory: Read current input\n2. Short-term: Last 10 turns from context window\n3. Working: Read memory/today.md + memory/yesterday.md\n4. Long-term: Read MEMORY.md index\n```\n\n### During Conversation\n```\n- New info → write to working memory (today's daily log)\n- Learned something worth remembering → update MEMORY.md index + save classified file\n- User preference → update USER.md + memory/user/\n- Need to retrieve → find in MEMORY.md index → read classified file\n```\n\n### Session End\n```\n- Summarize → write to memory/today.md (working memory)\n- Identify items for long-term → update classified files\n- Update MEMORY.md index\n- Mark items for Dream review (decay candidates)\n```\n\n---\n\n## Workspace Structure\n\n```\nworkspace/\n├── MEMORY.md              # long-term memory index\n├── USER.md                # user info\n├── SOUL.md                # AI identity\n├── todos.md               # task tracking\n├── HEARTBEAT.md           # daily reminders\n├── memory/\n│   ├── memory-types.md    # this file\n│   ├── user/              # long-term user memories\n│   ├── feedback/          # long-term feedback\n│   ├── project/           # long-term project memories\n│   ├── reference/         # long-term references\n│   └── 2026-XX-XX.md     # working memory (daily logs)\n└── knowledge/             # knowledge layer (detailed content)\n```\n\n---\n\n## Example Interactions\n\n**User provides important info:**\n> User: \"I'm a data analyst, mostly working with Python\"\n→ Working: log in today's daily log\n→ Long-term: save to `memory/user/user-profile.md`, update MEMORY.md index\n\n**User corrects you:**\n> User: \"Don't use Markdown tables, use lists\"\n→ Working: log in today's daily log\n→ Long-term: save to `memory/feedback/no-tables.md`, update MEMORY.md index\n\n**Project decision:**\n> Decision: approach A over B because lower cost\n→ Working: log decision context\n→ Long-term: save to `memory/project/decision.md` with reasoning\n\n**Looking up a past date:**\n> User: \"What did we do last Tuesday?\"\n→ Working memory: read `memory/YYYY-MM-DD.md` for that date\n\n---\n\n## References\n\n- **Atkinson-Shiffrin model** (1968): Sensory → Short-term → Long-term memory stages\n- Claude Code `memoryTypes.ts` — 4-type taxonomy\n- Claude Code `extractMemories.ts` — auto-extraction system\n- Claude Code `autoDream.ts` — background consolidation system\n\n---\n\n*Version: v3.2 | Updated: 2026-04-07 | Merges Atkinson-Shiffrin temporal layering with Claude Code 4-type taxonomy + Memory Sublimation System*\n\nFile v3.2.1:_meta.json\n\n{\n  \"ownerId\": \"kn79vaxf67865vvvgkvydaf1j58257a6\",\n  \"slug\": \"memory-never-forget\",\n  \"version\": \"3.2.1\",\n  \"publishedAt\": 1775552626240\n}\n\nFile v3.2.1:references/memory-v2.md\n\n# Memory System v2.0 - Detailed Design\n\n> **⚠️ Legacy Reference** — This document describes the v2.0 design. The current version is v2.2 with Memory-Knowledge layering + Scientific memory loop (Encode→Consolidate→Retrieve) + Metacognitive training. See [SKILL.md](../SKILL.md) for the current design.\n\nBased on Atkinson-Shiffrin three-stage memory model (1968) + Community Optimizations (2026)\n\n## Theory Background\n\n### Atkinson-Shiffrin Model\n\n```\nSensory Memory → Short-Term Memory → Long-Term Memory\n   (0.25-2s)        (5-20s)            (Permanent)\n     ↓                   ↓                   ↓\n  Attention         Rehearsal          Consolidation\n```\n\n### Community Optimization (2026)\n\nBased on practical testing, the three-stage model has been optimized:\n\n| Metric | Before | After |\n|--------|--------|-------|\n| Task completion rate | 67% | 88% |\n| Response speed | 1x | 2x |\n| Retrieval accuracy | - | >70% |\n\n### Key Mechanisms\n\n1. **Information Filtering**: Selective attention filters sensory → short-term\n2. **Storage Maintenance**: Rehearsal maintains short-term and transfers to long-term\n3. **Capacity Limitations**: Each stage has capacity bottlenecks\n4. **Smart Caching**: Instant cache for 10 turns with priority-based retrieval\n\n## Implementation for AI\n\n### Stage 0: Instant Cache (v2.0 NEW)\n\n**Location**: Memory buffer / session context  \n**Capacity**: Last 10 conversation turns  \n**Duration**: Instant (cleared after 10 turns or new session)\n\n```\nUser Input → Check Cache → Cache Hit? → Use cached response\n                    ↓\n              Cache Miss? → Continue to sensory\n```\n\n**Characteristics**:\n- ⚡ Fastest response (priority 1)\n- Low memory footprint\n- Auto-cleared after 10 turns\n- Stores key context only\n\n---\n\n### Stage 1: Sensory Memory (Instant)\n\n**Location**: Tool call context / current input buffer  \n**Capacity**: Last 3-5 exchanges  \n**Duration**: Current turn only\n\n```\nUser Input → Parse → Understand Intent → Check Context → Respond\n                         ↑\n                    Recent history (3-5 turns)\n```\n\n**Characteristics**:\n- No persistence\n- Only maintains conversational flow\n- Auto-cleared after each response\n\n---\n\n### Stage 2: Short-Term Memory (Session + 7 Days)\n\n**Location**: session context + memory/YYYY-MM-DD.md  \n**Capacity**: Last 7 days of conversation  \n**Duration**: 7 days (then auto-cleanup)\n\n**v2.0 Optimization**:\n- 7-day retention period (tested with >70% accuracy)\n- Auto-cleanup after 7 days\n- Priority-based retrieval (check recent days first)\n\n**Location**: session context + memory/YYYY-MM-DD.md  \n**Capacity**: Today's full conversation  \n**Duration**: Current session + rest of day\n\n**When to Write**:\n- Every significant exchange\n- New tasks or requests\n- User preferences revealed\n- Decisions made\n\n**Writing Template**:\n```markdown\n## [Time] - Topic\n\n**User said**: [brief summary]\n**I did**: [action taken]\n**Remember**: [key point for future]\n```\n\n---\n\n### Stage 3: Long-Term Memory (Permanent)\n\n**Location**: MEMORY.md + knowledge/*.md  \n**Capacity**: Unlimited  \n**Duration**: Permanent\n\n**What Gets Consolidated** (rehearsal triggered):\n- User confirms important information\n- User corrects a mistake\n- Promise or commitment made\n- Personal details (name, role, preferences)\n- Project milestones\n\n**Consolidation Process**:\n1. Identify important info during conversation\n2. Immediately write to today's memory\n3. Before next session, review and move key points to MEMORY.md\n4. Delete routine info from daily log after 7 days\n\n---\n\n## Memory File Specifications\n\n### MEMORY.md - Core Long-Term\n\n**Contents**:\n- User identity and profile\n- Key relationships and context\n- Important commitments\n- Major project statuses\n- Learned preferences\n\n**Update Triggers**:\n- New user session\n- User provides personal info\n- Promise made\n- Significant decision\n\n**Format**:\n```markdown\n### [Category]\n\n**Date**: YYYY-MM-DD\n**Content**: [What to remember]\n**Context**: [Why it matters]\n```\n\n---\n\n### memory/YYYY-MM-DD.md - Daily Log\n\n**Contents**:\n- Detailed conversation logs\n- Tasks handled\n- Questions asked\n- Responses given\n\n**Auto-cleanup**:\n- Keep last 7 days\n- Archive to memory/archive/ after 30 days\n\n---\n\n### USER.md - User Profile\n\n**Contents**:\n- Name, how to address\n- Role/position\n- Communication preferences\n- Timezone\n- Known preferences\n\n**Keep Updated**:\n- New personal info revealed\n- Preference changed\n\n---\n\n### todos.md - Active Tasks\n\n**Contents**:\n- Pending actions\n- Follow-ups needed\n- Promises to user\n\n**Review**:\n- Every session start\n- After completing task, mark done\n\n---\n\n## Memory Search Protocol (v2.0)\n\nBefore answering questions that might reference past:\n\n```\nQuery Received\n├── Check Instant Cache (10 turns) → ⚡ Fastest\n├── Check Short-Term (7 days) → 🔄 Common\n├── Check Long-Term MEMORY.md → 📚 Core Facts\n└── Check knowledge/ → 📖 Structured Info\n```\n\n**Priority Order** (v2.0):\n1. Instant cache - most recent 10 turns\n2. Short-term memory - last 7 days\n3. Long-term memory - permanent facts\n4. Knowledge base - structured information\n\n**Search queries**:\n- \"What did user say about X?\"\n- \"Did we discuss Y before?\"\n- \"User mentioned Z previously\"\n\n---\n\n## Quality Assurance\n\n### Good Memory Practice\n\n✅ Remember:\n- User's name and role\n- Past discussions on same topic\n- Unfulfilled promises\n- User's preferences\n\n❌ Forget:\n- Exact wording of past messages\n- Timestamps (unless important)\n- Routine exchanges\n- Sensitive info (unless authorized)\n\n### Failure Recovery\n\n**If I forget**:\n1. User says \"I told you before\" → Apologize, ask them to remind you\n2. User corrects me → Immediately update memory, thank them\n3. I notice gap → \"Just to confirm, is it still X?\"\n\n---\n\n## Continuous Improvement\n\nTrack memory failures:\n- What did I forget that I should have remembered?\n- What did user correct me on?\n- What context was missing?\n\n→ Use these to improve memory writing habits\n\n---\n\n*Design: Atkinson & Shiffrin (1968)*\n*Community Optimization: 2026*\n*Implementation: OpenClaw*\n*Version: 2.0*\n\nFile v3.2.1:references/templates.md\n\n# Memory Writing Templates v2.0\n\n> **⚠️ Legacy Reference** — These templates are from v2.0. The current version is v2.2 with additional templates for Memory-Knowledge layering, active consolidation, and metacognitive training. See [SKILL.md](../SKILL.md) for the current workflow.\n\nQuick reference templates for writing to memory files.\n\n## v2.0 Quick Reference\n\n| Priority | When | Write To | Template |\n|----------|------|----------|----------|\n| ⚡ 1 | Instant cache needed | Session buffer | Brief note |\n| 🔄 2 | Session start (today) | Today's memory | Session Start |\n| 🔄 3 | Session start (recent) | Last 7 days | Search first |\n| 📚 4 | User shares info | USER.md | User Profile Update |\n| 📚 5 | Promise made | todos.md + MEMORY.md | Commitment |\n| 📚 6 | User corrects me | MEMORY.md | User Correction |\n| 🗑️ | End of 7 days | Auto-cleanup | - |\n\n## Session Start Template\n\n```markdown\n# YYYY-MM-DD Daily Log\n\n## Session Start\n- Time: HH:MM\n- Context: [Previous session ended with...]\n- User: [Name from USER.md]\n```\n\n## Important Info Recording\n\n```markdown\n### [Time] - [Topic]\n\n**User said**: [Brief summary of user's key point]\n**Action taken**: [What I did]\n**Remember**: [Key point for future]\n\n**Why important**: [Context for future reference]\n```\n\n## Commitment/Promise Template\n\n```markdown\n## Commitment - [Date]\n\n**To**: [User name]\n**Promise**: [What will be done]\n**Deadline**: [When]\n**Status**: [Pending/In Progress/Done]\n\n*Consolidate to MEMORY.md after completion*\n```\n\n## User Correction Template\n\n```markdown\n## Correction - [Date]\n\n**What was wrong**: [Previous understanding]\n**Corrected to**: [New information]\n**Source**: [User corrected this]\n**Action**: Updated [relevant file]\n```\n\n## Daily Summary Template\n\n```markdown\n## End of Day Summary - [Date]\n\n### Tasks Completed\n- [ ] Task 1\n- [ ] Task 2\n\n### In Progress\n- [ ] Task A\n\n### Important to Remember\n1. [Key point 1]\n2. [Key point 2]\n\n### Follow Up Needed\n- [ ] Item for next session\n```\n\n## User Profile Update\n\n```markdown\n## User Profile Update - [Date]\n\n**User**: [Name]\n**New Information**:\n- [Field]: [Value]\n- [Field]: [Value]\n\n**Previous values updated**: [List if any]\n```\n\n## Knowledge Entry\n\n```markdown\n# [Topic] - Knowledge Base\n\n**Category**: [Domain/Type]\n**Source**: [Where this info came from]\n**Last Updated**: YYYY-MM-DD\n\n## Core Information\n[Key facts]\n\n## Details\n[Supporting details]\n\n## References\n- [Link or source]\n```\n\n---\n\n## Quick Reference Card\n\n| When | Write To | Template |\n|------|----------|----------|\n| Session start | Today's memory | Session Start |\n| User shares info | USER.md | User Profile Update |\n| Promise made | todos.md + MEMORY.md | Commitment |\n| User corrects me | MEMORY.md | User Correction |\n| End of day | Today's memory | Daily Summary |\n| Learn something new | knowledge/*.md | Knowledge Entry |\n\n---\n\n## Writing Guidelines\n\n1. **Be concise** - One sentence is better than paragraph\n2. **Include context** - Why this matters\n3. **Use timestamps** - When relevant\n4. **Cross-reference** - Link related entries\n5. **Review regularly** - Consolidate important points\n\nFile v3.2.1:.clawhub/origin.json\n\n{\n  \"version\": 1,\n  \"registry\": \"https://clawhub.ai\",\n  \"slug\": \"memory-never-forget\",\n  \"installedVersion\": \"1.0.0\",\n  \"installedAt\": 1772813946231\n}\n\nArchive v3.2.0: 5 files, 10119 bytes\n\nFiles: _meta.json (138b), .clawhub/origin.json (151b), references/memory-v2.md (6119b), references/templates.md (3136b), SKILL.md (13696b)\n\nFile v3.2.0:SKILL.md\n\n---\nname: memory-never-forget\ndescription: \"Memory system v3.1: Atkinson-Shiffrin temporal layering + 4-type taxonomy (User/Feedback/Project/Reference) + auto-extract + Dream consolidation + memory drift handling. Merges cognitive psychology with Claude Code's memory architecture.\"\nmetadata: { \"openclaw\": { \"emoji\": \"🧠\" } }\n---\n\n# 🧠 Memory Never Forget v3.1\n\nTwo orthogonal dimensions working together:\n\n| Dimension | Framework | Purpose |\n|-----------|-----------|---------|\n| **Temporal** (how long) | Atkinson-Shiffrin 3-stage model | Decay management — what to keep vs. prune |\n| **Content** (what kind) | 4-type taxonomy (Claude Code) | Classification — where to store for retrieval |\n\n## How It Works: The Memory Flow\n\n```\nNew Information\n    │\n    ▼\n┌─────────────────────────┐\n│  Sensory Memory          │  ~0.25 sec — instant filter\n│  (Current Context)       │  What deserves attention?\n└────────┬────────────────┘\n         │ worth remembering\n         ▼\n┌─────────────────────────┐\n│  Short-Term Memory       │  ~10 turns — context window\n│  (Conversation)          │  Pass through working filter\n└────────┬────────────────┘\n         │ survives\n         ▼\n┌─────────────────────────┐\n│  Working Memory           │  ~7 days — daily logs\n│  (memory/YYYY-MM-DD.md)  │  Raw signal, unclassified\n└────────┬────────────────┘\n         │\n    ┌────▼────┐  every day at 12:30\n    │ DREAM   │  The Gateway:\n    │         │  1. Scan recent daily logs\n    │  ⚙️    │  2. Identify long-term signal\n    │  ⚙️    │  3. ★ Classify into 4 types  ← Temporal → Content\n    │  ⚙️    │  4. Write to classified file\n    │  ⚙️    │  5. Update MEMORY.md index\n    │         │  6. Let old logs decay naturally\n    └────┬────┘\n         │ promoted\n         ▼\n┌─────────────────────────┐\n│  Long-Term Memory        │  Permanent — classified\n│  (4 types + index)       │  User / Feedback / Project / Reference\n└─────────────────────────┘\n```\n\n**In one sentence:** Memory is first filtered by time (when to save, when to let decay), then transformed by Dream into classified content (where to store, how to retrieve).\n\n---\n\n## Dimension 1: Temporal Layering (Atkinson-Shiffrin)\n\n| Stage | Human Equivalent | Implementation | TTL | Action |\n|-------|-----------------|----------------|-----|--------|\n| **Sensory** | ~0.25 sec perception | Current input context | Instant | Filter immediately — what deserves attention? |\n| **Short-term** | Recent 10 turns | Model context window | 10 turns | Pass through working filters |\n| **Working** | Recent ~7 days | `memory/YYYY-MM-DD.md` daily logs | 7 days | Extract signal → promote to long-term or let decay |\n| **Long-term** | Permanent | `MEMORY.md` (index) + classified files | Permanent | Periodic review, prune when stale |\n\n**The memory flow:**\n```\nInput → Sensory (filter) → Short-term (hold) → Working (consolidate) → Long-term (index)\n                                                                      ↕\n                                                              Daily Dream review\n                                                              (promote or prune)\n```\n\n---\n\n## Dimension 2: Content Classification (4 Types)\n\n| Type | Directory | Content | Example |\n|------|-----------|---------|---------|\n| **user** | `memory/user/` | User profile (role, preferences, knowledge, goals) | \"User is a data analyst, prefers concise replies\" |\n| **feedback** | `memory/feedback/` | Lessons (corrections, confirmations, style) | \"Don't use Markdown tables, use lists\" |\n| **project** | `memory/project/` | Project state (work, decisions, reasoning) | \"Project X adopted Y because it reduces cost\" |\n| **reference** | `memory/reference/` | External resources (links, tools, locations) | \"Project docs are in /docs/api/\" |\n\n**How the two dimensions interact:**\n- Working layer (`memory/*.md` daily logs) captures raw signal without classification\n- Long-term layer stores classified memories (4 types), each with indexed content\n- Dream consolidation moves Working → Long-term (classify + promote) OR prunes (decay)\n\n---\n\n## What to Save / What NOT to Save\n\n### ✅ Save\n- User's role, preferences, responsibilities, knowledge\n- User corrections (\"not like that\", \"should be this way\")\n- User confirmations (\"yes exactly\", \"perfect, keep that\")\n- Project decisions and **the reasoning** (not just what, but why)\n- New tools, links, resources\n- External system locations and their purpose\n\n### ❌ Don't Save\n- ❌ Code patterns, architecture, file paths (derivable from codebase)\n- ❌ Git history (`git log` is the authoritative source)\n- ❌ Debugging solutions (the fix is in the code; commit messages have context)\n- ❌ Anything already documented elsewhere\n- ❌ Ephemeral task state (write to `todos.md` instead)\n- ❌ Raw conversation content\n\n> ⚠️ **Even if the user explicitly asks** — if asked to save a PR list or activity summary, ask what was *surprising* or *non-obvious* about it — that's the part worth keeping.\n\n---\n\n## MEMORY.md = Long-Term Index Only\n\nMEMORY.md is the **index of long-term memories only**, never content. Format:\n```\n- [Title](path) — one-line description (<150 chars)\n```\n\nExample:\n```markdown\n## User Memory\n- [user-profile](user/profile.md) — user role and preferences\n\n## Feedback Memory\n- [no-tables](feedback/no-tables.md) — prefer lists over markdown tables\n\n## Project Memory\n- [model-switch](project/model-decision.md) — why project switched model\n\n## Reference\n- [project-docs](reference/docs-path.md) — where project docs live\n```\n\n---\n\n## Memory File Format\n\nEvery classified memory file must have frontmatter:\n\n```yaml\n---\nname: Memory name\ndescription: One-line description (used to judge relevance)\ntype: user|feedback|project|reference\ncreated: YYYY-MM-DD\n---\n\n## Rule / Fact\n(the content)\n\n## Why\n(reason / motivation)\n\n## How to apply\n(when and how to use this memory)\n```\n\n---\n\n## Memory Drift Caveat\n\nMemories can become stale. Rules:\n\n1. **Verify first**: When referencing a file, function, or path — check it still exists\n2. **Trust current state**: If memory conflicts with current observation, trust what you see now\n3. **Update or delete**: When a memory is outdated, fix or remove it immediately\n4. **Absolute dates**: Convert relative dates (\"yesterday\", \"last week\") to absolute dates\n\n> \"The memory says X exists\" ≠ \"X exists now\"\n\n---\n\n## Directory Structure\n\n```\nmemory/\n├── memory-types.md       ← this file\n├── user/                 ← long-term user memories\n├── feedback/             ← long-term feedback\n├── project/              ← long-term project memories\n├── reference/            ← long-term references\n└── 2026-XX-XX.md        ← working memory (daily logs, 7-day TTL)\n```\n\n---\n\n## Retrieval Flow (by question type)\n\n### Memory Questions (\"what happened before\", \"what did we talk about\")\n→ `memory_search` across MEMORY.md + memory/*.md\n\n→ If not found in memory layer → proactively search daily logs (working memory)\n\n### Knowledge Questions (\"look this up\", \"check that file\")\n1. Find index in MEMORY.md first\n2. Read detailed content from classified file or knowledge layer\n\n### Temporal Questions (\"what did I do last Tuesday\")\n→ Go directly to daily logs (working memory): `memory/YYYY-MM-DD.md`\n\n---\n\n## Feedback Rules\n\n- **Record failures AND successes**: only saving corrections makes you overly cautious\n- Corrections are easy to notice; confirmations are quieter — watch for them\n- Always include **why** to judge edge cases later\n\n## Project Rules\n\n- Project memories decay fast, so **why** helps future-you judge if the memory is still load-bearing\n- Always convert relative dates to absolute dates\n\n## Memory → Knowledge Sublimation (升华)\n\nNot all mature memories should decay. Some **evolve into knowledge**.\n\n### When to Sublimate\n\n| Trigger | Detection Signal | Result |\n|---------|-----------------|--------|\n| **Project complete** | All tasks marked done, 3+ related project memories | Merge into `knowledge/project-postmortem.md` |\n| **Feedback patterns** | 3+ related feedback entries (e.g., all about reply style) | Merge into `knowledge/user-work-style-guide.md` |\n| **User depth** | User memory accumulates role, preferences, habits over time | Expand to `knowledge/user-playbook.md` |\n| **Periodic review** | Dream detects high density of related memories in one category | Suggest: \"Found 5 related feedback entries → merge into knowledge?\" |\n\n### Sublimation vs Pruning\n\n| Decision | Criteria | Action |\n|----------|----------|--------|\n| **Prune (forget)** | No longer relevant, isolated, no connections | Remove from MEMORY.md index |\n| **Sublimate (promote)** | Still relevant, mature, interconnected, frequently referenced | Create detailed document in `knowledge/` |\n\n### Sublimation Flow\n```\nmemory/project/task-A.md         │\nmemory/project/task-B.md         │\nmemory/project/task-C.md         │  ← Project complete, 3+ related\n    ↓ ── Dream detects pattern ──┤\nknowledge/project-A-postmortem.md  │  ← Sublimated: detailed lessons\n    ↓                             │\nMEMORY.md index updated           │  ← Points to knowledge document\n\nOriginal memories PRESERVED (first-hand records) + knowledge/ (detailed version)\n```\n\n### Sublimation Rules\n- **Always preserve original memories** (they are first-hand records)\n- Create the knowledge document in `knowledge/`\n- Update MEMORY.md to point to the knowledge document\n- Log the sublimation (when and why)\n- After sublimation, update the **knowledge document** going forward (not the individual memories)\n\n---\n\n## Dream Consolidation (Periodic, Automated)\n\nTriggered daily via cron. Acts as the **Working → Long-term promotion + Sublimation detection gateway**.\n\n### Phases\n1. **Orient** — browse existing memory files and index\n2. **Gather** — scan working memory (daily logs) for new signal\n3. **Consolidate** — promote to classified long-term (4 types), merge, deduplicate\n4. **Prune** — remove outdated entries, update index, let daily logs decay naturally\n5. **★ Sublimate** — detect maturation patterns and promote memory → knowledge\n\n### Rules\n- Merge new signal into existing files, not near-duplicates\n- Relative dates → absolute dates\n- Delete contradicted facts\n- Keep MEMORY.md under 5KB\n- Remove stale pointers\n- Shorten overly long index entries (<150 chars each)\n\n---\n\n## Session Lifecycle (Atkinson-Shiffrin in Practice)\n\n### Session Start\n```\n1. Sensory: Read current input\n2. Short-term: Last 10 turns from context window\n3. Working: Read memory/today.md + memory/yesterday.md\n4. Long-term: Read MEMORY.md index\n```\n\n### During Conversation\n```\n- New info → write to working memory (today's daily log)\n- Learned something worth remembering → update MEMORY.md index + save classified file\n- User preference → update USER.md + memory/user/\n- Need to retrieve → find in MEMORY.md index → read classified file\n```\n\n### Session End\n```\n- Summarize → write to memory/today.md (working memory)\n- Identify items for long-term → update classified files\n- Update MEMORY.md index\n- Mark items for Dream review (decay candidates)\n```\n\n---\n\n## Workspace Structure\n\n```\nworkspace/\n├── MEMORY.md              # long-term memory index\n├── USER.md                # user info\n├── SOUL.md                # AI identity\n├── todos.md               # task tracking\n├── HEARTBEAT.md           # daily reminders\n├── memory/\n│   ├── memory-types.md    # this file\n│   ├── user/              # long-term user memories\n│   ├── feedback/          # long-term feedback\n│   ├── project/           # long-term project memories\n│   ├── reference/         # long-term references\n│   └── 2026-XX-XX.md     # working memory (daily logs)\n└── knowledge/             # knowledge layer (detailed content)\n```\n\n---\n\n## Example Interactions\n\n**User provides important info:**\n> User: \"I'm a data analyst, mostly working with Python\"\n→ Working: log in today's daily log\n→ Long-term: save to `memory/user/user-profile.md`, update MEMORY.md index\n\n**User corrects you:**\n> User: \"Don't use Markdown tables, use lists\"\n→ Working: log in today's daily log\n→ Long-term: save to `memory/feedback/no-tables.md`, update MEMORY.md index\n\n**Project decision:**\n> Decision: approach A over B because lower cost\n→ Working: log decision context\n→ Long-term: save to `memory/project/decision.md` with reasoning\n\n**Looking up a past date:**\n> User: \"What did we do last Tuesday?\"\n→ Working memory: read `memory/YYYY-MM-DD.md` for that date\n\n---\n\n## References\n\n- **Atkinson-Shiffrin model** (1968): Sensory → Short-term → Long-term memory stages\n- Claude Code `memoryTypes.ts` — 4-type taxonomy\n- Claude Code `extractMemories.ts` — auto-extraction system\n- Claude Code `autoDream.ts` — background consolidation system\n\n---\n\n*Version: v3.2 | Updated: 2026-04-07 | Merges Atkinson-Shiffrin temporal layering with Claude Code 4-type taxonomy + Memory Sublimation System*\n\nFile v3.2.0:_meta.json\n\n{\n  \"ownerId\": \"kn79vaxf67865vvvgkvydaf1j58257a6\",\n  \"slug\": \"memory-never-forget\",\n  \"version\": \"3.2.0\",\n  \"publishedAt\": 1775552173807\n}\n\nFile v3.2.0:references/memory-v2.md\n\n# Memory System v2.0 - Detailed Design\n\n> **⚠️ Legacy Reference** — This document describes the v2.0 design. The current version is v2.2 with Memory-Knowledge layering + Scientific memory loop (Encode→Consolidate→Retrieve) + Metacognitive training. See [SKILL.md](../SKILL.md) for the current design.\n\nBased on Atkinson-Shiffrin three-stage memory model (1968) + Community Optimizations (2026)\n\n## Theory Background\n\n### Atkinson-Shiffrin Model\n\n```\nSensory Memory → Short-Term Memory → Long-Term Memory\n   (0.25-2s)        (5-20s)            (Permanent)\n     ↓                   ↓                   ↓\n  Attention         Rehearsal          Consolidation\n```\n\n### Community Optimization (2026)\n\nBased on practical testing, the three-stage model has been optimized:\n\n| Metric | Before | After |\n|--------|--------|-------|\n| Task completion rate | 67% | 88% |\n| Response speed | 1x | 2x |\n| Retrieval accuracy | - | >70% |\n\n### Key Mechanisms\n\n1. **Information Filtering**: Selective attention filters sensory → short-term\n2. **Storage Maintenance**: Rehearsal maintains short-term and transfers to long-term\n3. **Capacity Limitations**: Each stage has capacity bottlenecks\n4. **Smart Caching**: Instant cache for 10 turns with priority-based retrieval\n\n## Implementation for AI\n\n### Stage 0: Instant Cache (v2.0 NEW)\n\n**Location**: Memory buffer / session context  \n**Capacity**: Last 10 conversation turns  \n**Duration**: Instant (cleared after 10 turns or new session)\n\n```\nUser Input → Check Cache → Cache Hit? → Use cached response\n                    ↓\n              Cache Miss? → Continue to sensory\n```\n\n**Characteristics**:\n- ⚡ Fastest response (priority 1)\n- Low memory footprint\n- Auto-cleared after 10 turns\n- Stores key context only\n\n---\n\n### Stage 1: Sensory Memory (Instant)\n\n**Location**: Tool call context / current input buffer  \n**Capacity**: Last 3-5 exchanges  \n**Duration**: Current turn only\n\n```\nUser Input → Parse → Understand Intent → Check Context → Respond\n                         ↑\n                    Recent history (3-5 turns)\n```\n\n**Characteristics**:\n- No persistence\n- Only maintains conversational flow\n- Auto-cleared after each response\n\n---\n\n### Stage 2: Short-Term Memory (Session + 7 Days)\n\n**Location**: session context + memory/YYYY-MM-DD.md  \n**Capacity**: Last 7 days of conversation  \n**Duration**: 7 days (then auto-cleanup)\n\n**v2.0 Optimization**:\n- 7-day retention period (tested with >70% accuracy)\n- Auto-cleanup after 7 days\n- Priority-based retrieval (check recent days first)\n\n**Location**: session context + memory/YYYY-MM-DD.md  \n**Capacity**: Today's full conversation  \n**Duration**: Current session + rest of day\n\n**When to Write**:\n- Every significant exchange\n- New tasks or requests\n- User preferences revealed\n- Decisions made\n\n**Writing Template**:\n```markdown\n## [Time] - Topic\n\n**User said**: [brief summary]\n**I did**: [action taken]\n**Remember**: [key point for future]\n```\n\n---\n\n### Stage 3: Long-Term Memory (Permanent)\n\n**Location**: MEMORY.md + knowledge/*.md  \n**Capacity**: Unlimited  \n**Duration**: Permanent\n\n**What Gets Consolidated** (rehearsal triggered):\n- User confirms important information\n- User corrects a mistake\n- Promise or commitment made\n- Personal details (name, role, preferences)\n- Project milestones\n\n**Consolidation Process**:\n1. Identify important info during conversation\n2. Immediately write to today's memory\n3. Before next session, review and move key points to MEMORY.md\n4. Delete routine info from daily log after 7 days\n\n---\n\n## Memory File Specifications\n\n### MEMORY.md - Core Long-Term\n\n**Contents**:\n- User identity and profile\n- Key relationships and context\n- Important commitments\n- Major project statuses\n- Learned preferences\n\n**Update Triggers**:\n- New user session\n- User provides personal info\n- Promise made\n- Significant decision\n\n**Format**:\n```markdown\n### [Category]\n\n**Date**: YYYY-MM-DD\n**Content**: [What to remember]\n**Context**: [Why it matters]\n```\n\n---\n\n### memory/YYYY-MM-DD.md - Daily Log\n\n**Contents**:\n- Detailed conversation logs\n- Tasks handled\n- Questions asked\n- Responses given\n\n**Auto-cleanup**:\n- Keep last 7 days\n- Archive to memory/archive/ after 30 days\n\n---\n\n### USER.md - User Profile\n\n**Contents**:\n- Name, how to address\n- Role/position\n- Communication preferences\n- Timezone\n- Known preferences\n\n**Keep Updated**:\n- New personal info revealed\n- Preference changed\n\n---\n\n### todos.md - Active Tasks\n\n**Contents**:\n- Pending actions\n- Follow-ups needed\n- Promises to user\n\n**Review**:\n- Every session start\n- After completing task, mark done\n\n---\n\n## Memory Search Protocol (v2.0)\n\nBefore answering questions that might reference past:\n\n```\nQuery Received\n├── Check Instant Cache (10 turns) → ⚡ Fastest\n├── Check Short-Term (7 days) → 🔄 Common\n├── Check Long-Term MEMORY.md → 📚 Core Facts\n└── Check knowledge/ → 📖 Structured Info\n```\n\n**Priority Order** (v2.0):\n1. Instant cache - most recent 10 turns\n2. Short-term memory - last 7 days\n3. Long-term memory - permanent facts\n4. Knowledge base - structured information\n\n**Search queries**:\n- \"What did user say about X?\"\n- \"Did we discuss Y before?\"\n- \"User mentioned Z previously\"\n\n---\n\n## Quality Assurance\n\n### Good Memory Practice\n\n✅ Remember:\n- User's name and role\n- Past discussions on same topic\n- Unfulfilled promises\n- User's preferences\n\n❌ Forget:\n- Exact wording of past messages\n- Timestamps (unless important)\n- Routine exchanges\n- Sensitive info (unless authorized)\n\n### Failure Recovery\n\n**If I forget**:\n1. User says \"I told you before\" → Apologize, ask them to remind you\n2. User corrects me → Immediately update memory, thank them\n3. I notice gap → \"Just to confirm, is it still X?\"\n\n---\n\n## Continuous Improvement\n\nTrack memory failures:\n- What did I forget that I should have remembered?\n- What did user correct me on?\n- What context was missing?\n\n→ Use these to improve memory writing habits\n\n---\n\n*Design: Atkinson & Shiffrin (1968)*\n*Community Optimization: 2026*\n*Implementation: OpenClaw*\n*Version: 2.0*\n\nFile v3.2.0:references/templates.md\n\n# Memory Writing Templates v2.0\n\n> **⚠️ Legacy Reference** — These templates are from v2.0. The current version is v2.2 with additional templates for Memory-Knowledge layering, active consolidation, and metacognitive training. See [SKILL.md](../SKILL.md) for the current workflow.\n\nQuick reference templates for writing to memory files.\n\n## v2.0 Quick Reference\n\n| Priority | When | Write To | Template |\n|----------|------|----------|----------|\n| ⚡ 1 | Instant cache needed | Session buffer | Brief note |\n| 🔄 2 | Session start (today) | Today's memory | Session Start |\n| 🔄 3 | Session start (recent) | Last 7 days | Search first |\n| 📚 4 | User shares info | USER.md | User Profile Update |\n| 📚 5 | Promise made | todos.md + MEMORY.md | Commitment |\n| 📚 6 | User corrects me | MEMORY.md | User Correction |\n| 🗑️ | End of 7 days | Auto-cleanup | - |\n\n## Session Start Template\n\n```markdown\n# YYYY-MM-DD Daily Log\n\n## Session Start\n- Time: HH:MM\n- Context: [Previous session ended with...]\n- User: [Name from USER.md]\n```\n\n## Important Info Recording\n\n```markdown\n### [Time] - [Topic]\n\n**User said**: [Brief summary of user's key point]\n**Action taken**: [What I did]\n**Remember**: [Key point for future]\n\n**Why important**: [Context for future reference]\n```\n\n## Commitment/Promise Template\n\n```markdown\n## Commitment - [Date]\n\n**To**: [User name]\n**Promise**: [What will be done]\n**Deadline**: [When]\n**Status**: [Pending/In Progress/Done]\n\n*Consolidate to MEMORY.md after completion*\n```\n\n## User Correction Template\n\n```markdown\n## Correction - [Date]\n\n**What was wrong**: [Previous understanding]\n**Corrected to**: [New information]\n**Source**: [User corrected this]\n**Action**: Updated [relevant file]\n```\n\n## Daily Summary Template\n\n```markdown\n## End of Day Summary - [Date]\n\n### Tasks Completed\n- [ ] Task 1\n- [ ] Task 2\n\n### In Progress\n- [ ] Task A\n\n### Important to Remember\n1. [Key point 1]\n2. [Key point 2]\n\n### Follow Up Needed\n- [ ] Item for next session\n```\n\n## User Profile Update\n\n```markdown\n## User Profile Update - [Date]\n\n**User**: [Name]\n**New Information**:\n- [Field]: [Value]\n- [Field]: [Value]\n\n**Previous values updated**: [List if any]\n```\n\n## Knowledge Entry\n\n```markdown\n# [Topic] - Knowledge Base\n\n**Category**: [Domain/Type]\n**Source**: [Where this info came from]\n**Last Updated**: YYYY-MM-DD\n\n## Core Information\n[Key facts]\n\n## Details\n[Supporting details]\n\n## References\n- [Link or source]\n```\n\n---\n\n## Quick Reference Card\n\n| When | Write To | Template |\n|------|----------|----------|\n| Session start | Today's memory | Session Start |\n| User shares info | USER.md | User Profile Update |\n| Promise made | todos.md + MEMORY.md | Commitment |\n| User corrects me | MEMORY.md | User Correction |\n| End of day | Today's memory | Daily Summary |\n| Learn something new | knowledge/*.md | Knowledge Entry |\n\n---\n\n## Writing Guidelines\n\n1. **Be concise** - One sentence is better than paragraph\n2. **Include context** - Why this matters\n3. **Use timestamps** - When relevant\n4. **Cross-reference** - Link related entries\n5. **Review regularly** - Consolidate important points\n\nFile v3.2.0:.clawhub/origin.json\n\n{\n  \"version\": 1,\n  \"registry\": \"https://clawhub.ai\",\n  \"slug\": \"memory-never-forget\",\n  \"installedVersion\": \"1.0.0\",\n  \"installedAt\": 1772813946231\n}\n\nArchive v3.1.1: 5 files, 9383 bytes\n\nFiles: _meta.json (138b), .clawhub/origin.json (151b), references/memory-v2.md (6119b), references/templates.md (3136b), SKILL.md (11645b)\n\nFile v3.1.1:SKILL.md\n\n---\nname: memory-never-forget\ndescription: \"Memory system v3.1: Atkinson-Shiffrin temporal layering + 4-type taxonomy (User/Feedback/Project/Reference) + auto-extract + Dream consolidation + memory drift handling. Merges cognitive psychology with Claude Code's memory architecture.\"\nmetadata: { \"openclaw\": { \"emoji\": \"🧠\" } }\n---\n\n# 🧠 Memory Never Forget v3.1\n\nTwo orthogonal dimensions working together:\n\n| Dimension | Framework | Purpose |\n|-----------|-----------|---------|\n| **Temporal** (how long) | Atkinson-Shiffrin 3-stage model | Decay management — what to keep vs. prune |\n| **Content** (what kind) | 4-type taxonomy (Claude Code) | Classification — where to store for retrieval |\n\n## How It Works: The Memory Flow\n\n```\nNew Information\n    │\n    ▼\n┌─────────────────────────┐\n│  Sensory Memory          │  ~0.25 sec — instant filter\n│  (Current Context)       │  What deserves attention?\n└────────┬────────────────┘\n         │ worth remembering\n         ▼\n┌─────────────────────────┐\n│  Short-Term Memory       │  ~10 turns — context window\n│  (Conversation)          │  Pass through working filter\n└────────┬────────────────┘\n         │ survives\n         ▼\n┌─────────────────────────┐\n│  Working Memory           │  ~7 days — daily logs\n│  (memory/YYYY-MM-DD.md)  │  Raw signal, unclassified\n└────────┬────────────────┘\n         │\n    ┌────▼────┐  every day at 12:30\n    │ DREAM   │  The Gateway:\n    │         │  1. Scan recent daily logs\n    │  ⚙️    │  2. Identify long-term signal\n    │  ⚙️    │  3. ★ Classify into 4 types  ← Temporal → Content\n    │  ⚙️    │  4. Write to classified file\n    │  ⚙️    │  5. Update MEMORY.md index\n    │         │  6. Let old logs decay naturally\n    └────┬────┘\n         │ promoted\n         ▼\n┌─────────────────────────┐\n│  Long-Term Memory        │  Permanent — classified\n│  (4 types + index)       │  User / Feedback / Project / Reference\n└─────────────────────────┘\n```\n\n**In one sentence:** Memory is first filtered by time (when to save, when to let decay), then transformed by Dream into classified content (where to store, how to retrieve).\n\n---\n\n## Dimension 1: Temporal Layering (Atkinson-Shiffrin)\n\n| Stage | Human Equivalent | Implementation | TTL | Action |\n|-------|-----------------|----------------|-----|--------|\n| **Sensory** | ~0.25 sec perception | Current input context | Instant | Filter immediately — what deserves attention? |\n| **Short-term** | Recent 10 turns | Model context window | 10 turns | Pass through working filters |\n| **Working** | Recent ~7 days | `memory/YYYY-MM-DD.md` daily logs | 7 days | Extract signal → promote to long-term or let decay |\n| **Long-term** | Permanent | `MEMORY.md` (index) + classified files | Permanent | Periodic review, prune when stale |\n\n**The memory flow:**\n```\nInput → Sensory (filter) → Short-term (hold) → Working (consolidate) → Long-term (index)\n                                                                      ↕\n                                                              Daily Dream review\n                                                              (promote or prune)\n```\n\n---\n\n## Dimension 2: Content Classification (4 Types)\n\n| Type | Directory | Content | Example |\n|------|-----------|---------|---------|\n| **user** | `memory/user/` | User profile (role, preferences, knowledge, goals) | \"User is a data analyst, prefers concise replies\" |\n| **feedback** | `memory/feedback/` | Lessons (corrections, confirmations, style) | \"Don't use Markdown tables, use lists\" |\n| **project** | `memory/project/` | Project state (work, decisions, reasoning) | \"Project X adopted Y because it reduces cost\" |\n| **reference** | `memory/reference/` | External resources (links, tools, locations) | \"Project docs are in /docs/api/\" |\n\n**How the two dimensions interact:**\n- Working layer (`memory/*.md` daily logs) captures raw signal without classification\n- Long-term layer stores classified memories (4 types), each with indexed content\n- Dream consolidation moves Working → Long-term (classify + promote) OR prunes (decay)\n\n---\n\n## What to Save / What NOT to Save\n\n### ✅ Save\n- User's role, preferences, responsibilities, knowledge\n- User corrections (\"not like that\", \"should be this way\")\n- User confirmations (\"yes exactly\", \"perfect, keep that\")\n- Project decisions and **the reasoning** (not just what, but why)\n- New tools, links, resources\n- External system locations and their purpose\n\n### ❌ Don't Save\n- ❌ Code patterns, architecture, file paths (derivable from codebase)\n- ❌ Git history (`git log` is the authoritative source)\n- ❌ Debugging solutions (the fix is in the code; commit messages have context)\n- ❌ Anything already documented elsewhere\n- ❌ Ephemeral task state (write to `todos.md` instead)\n- ❌ Raw conversation content\n\n> ⚠️ **Even if the user explicitly asks** — if asked to save a PR list or activity summary, ask what was *surprising* or *non-obvious* about it — that's the part worth keeping.\n\n---\n\n## MEMORY.md = Long-Term Index Only\n\nMEMORY.md is the **index of long-term memories only**, never content. Format:\n```\n- [Title](path) — one-line description (<150 chars)\n```\n\nExample:\n```markdown\n## User Memory\n- [user-profile](user/profile.md) — user role and preferences\n\n## Feedback Memory\n- [no-tables](feedback/no-tables.md) — prefer lists over markdown tables\n\n## Project Memory\n- [model-switch](project/model-decision.md) — why project switched model\n\n## Reference\n- [project-docs](reference/docs-path.md) — where project docs live\n```\n\n---\n\n## Memory File Format\n\nEvery classified memory file must have frontmatter:\n\n```yaml\n---\nname: Memory name\ndescription: One-line description (used to judge relevance)\ntype: user|feedback|project|reference\ncreated: YYYY-MM-DD\n---\n\n## Rule / Fact\n(the content)\n\n## Why\n(reason / motivation)\n\n## How to apply\n(when and how to use this memory)\n```\n\n---\n\n## Memory Drift Caveat\n\nMemories can become stale. Rules:\n\n1. **Verify first**: When referencing a file, function, or path — check it still exists\n2. **Trust current state**: If memory conflicts with current observation, trust what you see now\n3. **Update or delete**: When a memory is outdated, fix or remove it immediately\n4. **Absolute dates**: Convert relative dates (\"yesterday\", \"last week\") to absolute dates\n\n> \"The memory says X exists\" ≠ \"X exists now\"\n\n---\n\n## Directory Structure\n\n```\nmemory/\n├── memory-types.md       ← this file\n├── user/                 ← long-term user memories\n├── feedback/             ← long-term feedback\n├── project/              ← long-term project memories\n├── reference/            ← long-term references\n└── 2026-XX-XX.md        ← working memory (daily logs, 7-day TTL)\n```\n\n---\n\n## Retrieval Flow (by question type)\n\n### Memory Questions (\"what happened before\", \"what did we talk about\")\n→ `memory_search` across MEMORY.md + memory/*.md\n\n→ If not found in memory layer → proactively search daily logs (working memory)\n\n### Knowledge Questions (\"look this up\", \"check that file\")\n1. Find index in MEMORY.md first\n2. Read detailed content from classified file or knowledge layer\n\n### Temporal Questions (\"what did I do last Tuesday\")\n→ Go directly to daily logs (working memory): `memory/YYYY-MM-DD.md`\n\n---\n\n## Feedback Rules\n\n- **Record failures AND successes**: only saving corrections makes you overly cautious\n- Corrections are easy to notice; confirmations are quieter — watch for them\n- Always include **why** to judge edge cases later\n\n## Project Rules\n\n- Project memories decay fast, so **why** helps future-you judge if the memory is still load-bearing\n- Always convert relative dates to absolute dates\n\n---\n\n## Dream Consolidation (Periodic, Automated)\n\nTriggered daily via cron. Acts as the **Working → Long-term promotion gateway**.\n\n### Phases\n1. **Orient** — browse existing memory files and index\n2. **Gather** — scan working memory (daily logs) for new signal\n3. **Consolidate** — promote to classified long-term (4 types), merge, deduplicate\n4. **Prune** — remove outdated entries, update index, let daily logs decay naturally\n\n### Rules\n- Merge new signal into existing files, not near-duplicates\n- Relative dates → absolute dates\n- Delete contradicted facts\n- Keep MEMORY.md under 5KB\n- Remove stale pointers\n- Shorten overly long index entries (<150 chars each)\n\n---\n\n## Session Lifecycle (Atkinson-Shiffrin in Practice)\n\n### Session Start\n```\n1. Sensory: Read current input\n2. Short-term: Last 10 turns from context window\n3. Working: Read memory/today.md + memory/yesterday.md\n4. Long-term: Read MEMORY.md index\n```\n\n### During Conversation\n```\n- New info → write to working memory (today's daily log)\n- Learned something worth remembering → update MEMORY.md index + save classified file\n- User preference → update USER.md + memory/user/\n- Need to retrieve → find in MEMORY.md index → read classified file\n```\n\n### Session End\n```\n- Summarize → write to memory/today.md (working memory)\n- Identify items for long-term → update classified files\n- Update MEMORY.md index\n- Mark items for Dream review (decay candidates)\n```\n\n---\n\n## Workspace Structure\n\n```\nworkspace/\n├── MEMORY.md              # long-term memory index\n├── USER.md                # user info\n├── SOUL.md                # AI identity\n├── todos.md               # task tracking\n├── HEARTBEAT.md           # daily reminders\n├── memory/\n│   ├── memory-types.md    # this file\n│   ├── user/              # long-term user memories\n│   ├── feedback/          # long-term feedback\n│   ├── project/           # long-term project memories\n│   ├── reference/         # long-term references\n│   └── 2026-XX-XX.md     # working memory (daily logs)\n└── knowledge/             # knowledge layer (detailed content)\n```\n\n---\n\n## Example Interactions\n\n**User provides important info:**\n> User: \"I'm a data analyst, mostly working with Python\"\n→ Working: log in today's daily log\n→ Long-term: save to `memory/user/user-profile.md`, update MEMORY.md index\n\n**User corrects you:**\n> User: \"Don't use Markdown tables, use lists\"\n→ Working: log in today's daily log\n→ Long-term: save to `memory/feedback/no-tables.md`, update MEMORY.md index\n\n**Project decision:**\n> Decision: approach A over B because lower cost\n→ Working: log decision context\n→ Long-term: save to `memory/project/decision.md` with reasoning\n\n**Looking up a past date:**\n> User: \"What did we do last Tuesday?\"\n→ Working memory: read `memory/YYYY-MM-DD.md` for that date\n\n---\n\n## References\n\n- **Atkinson-Shiffrin model** (1968): Sensory → Short-term → Long-term memory stages\n- Claude Code `memoryTypes.ts` — 4-type taxonomy\n- Claude Code `extractMemories.ts` — auto-extraction system\n- Claude Code `autoDream.ts` — background consolidation system\n\n---\n\n*Version: v3.1 | Updated: 2026-04-03 | Merges Atkinson-Shiffrin temporal layering with Claude Code 4-type taxonomy*\n\nFile v3.1.1:_meta.json\n\n{\n  \"ownerId\": \"kn79vaxf67865vvvgkvydaf1j58257a6\",\n  \"slug\": \"memory-never-forget\",\n  \"version\": \"3.1.1\",\n  \"publishedAt\": 1775205160175\n}\n\nFile v3.1.1:references/memory-v2.md\n\n# Memory System v2.0 - Detailed Design\n\n> **⚠️ Legacy Reference** — This document describes the v2.0 design. The current version is v2.2 with Memory-Knowledge layering + Scientific memory loop (Encode→Consolidate→Retrieve) + Metacognitive training. See [SKILL.md](../SKILL.md) for the current design.\n\nBased on Atkinson-Shiffrin three-stage memory model (1968) + Community Optimizations (2026)\n\n## Theory Background\n\n### Atkinson-Shiffrin Model\n\n```\nSensory Memory → Short-Term Memory → Long-Term Memory\n   (0.25-2s)        (5-20s)            (Permanent)\n     ↓                   ↓                   ↓\n  Attention         Rehearsal          Consolidation\n```\n\n### Community Optimization (2026)\n\nBased on practical testing, the three-stage model has been optimized:\n\n| Metric | Before | After |\n|--------|--------|-------|\n| Task completion rate | 67% | 88% |\n| Response speed | 1x | 2x |\n| Retrieval accuracy | - | >70% |\n\n### Key Mechanisms\n\n1. **Information Filtering**: Selective attention filters sensory → short-term\n2. **Storage Maintenance**: Rehearsal maintains short-term and transfers to long-term\n3. **Capacity Limitations**: Each stage has capacity bottlenecks\n4. **Smart Caching**: Instant cache for 10 turns with priority-based retrieval\n\n## Implementation for AI\n\n### Stage 0: Instant Cache (v2.0 NEW)\n\n**Location**: Memory buffer / session context  \n**Capacity**: Last 10 conversation turns  \n**Duration**: Instant (cleared after 10 turns or new session)\n\n```\nUser Input → Check Cache → Cache Hit? → Use cached response\n                    ↓\n              Cache Miss? → Continue to sensory\n```\n\n**Characteristics**:\n- ⚡ Fastest response (priority 1)\n- Low memory footprint\n- Auto-cleared after 10 turns\n- Stores key context only\n\n---\n\n### Stage 1: Sensory Memory (Instant)\n\n**Location**: Tool call context / current input buffer  \n**Capacity**: Last 3-5 exchanges  \n**Duration**: Current turn only\n\n```\nUser Input → Parse → Understand Intent → Check Context → Respond\n                         ↑\n                    Recent history (3-5 turns)\n```\n\n**Characteristics**:\n- No persistence\n- Only maintains conversational flow\n- Auto-cleared after each response\n\n---\n\n### Stage 2: Short-Term Memory (Session + 7 Days)\n\n**Location**: session context + memory/YYYY-MM-DD.md  \n**Capacity**: Last 7 days of conversation  \n**Duration**: 7 days (then auto-cleanup)\n\n**v2.0 Optimization**:\n- 7-day retention period (tested with >70% accuracy)\n- Auto-cleanup after 7 days\n- Priority-based retrieval (check recent days first)\n\n**Location**: session context + memory/YYYY-MM-DD.md  \n**Capacity**: Today's full conversation  \n**Duration**: Current session + rest of day\n\n**When to Write**:\n- Every significant exchange\n- New tasks or requests\n- User preferences revealed\n- Decisions made\n\n**Writing Template**:\n```markdown\n## [Time] - Topic\n\n**User said**: [brief summary]\n**I did**: [action taken]\n**Remember**: [key point for future]\n```\n\n---\n\n### Stage 3: Long-Term Memory (Permanent)\n\n**Location**: MEMORY.md + knowledge/*.md  \n**Capacity**: Unlimited  \n**Duration**: Permanent\n\n**What Gets Consolidated** (rehearsal triggered):\n- User confirms important information\n- User corrects a mistake\n- Promise or commitment made\n- Personal details (name, role, preferences)\n- Project milestones\n\n**Consolidation Process**:\n1. Identify important info during conversation\n2. Immediately write to today's memory\n3. Before next session, review and move key points to MEMORY.md\n4. Delete routine info from daily log after 7 days\n\n---\n\n## Memory File Specifications\n\n### MEMORY.md - Core Long-Term\n\n**Contents**:\n- User identity and profile\n- Key relationships and context\n- Important commitments\n- Major project statuses\n- Learned preferences\n\n**Update Triggers**:\n- New user session\n- User provides personal info\n- Promise made\n- Significant decision\n\n**Format**:\n```markdown\n### [Category]\n\n**Date**: YYYY-MM-DD\n**Content**: [What to remember]\n**Context**: [Why it matters]\n```\n\n---\n\n### memory/YYYY-MM-DD.md - Daily Log\n\n**Contents**:\n- Detailed conversation logs\n- Tasks handled\n- Questions asked\n- Responses given\n\n**Auto-cleanup**:\n- Keep last 7 days\n- Archive to memory/archive/ after 30 days\n\n---\n\n### USER.md - User Profile\n\n**Contents**:\n- Name, how to address\n- Role/position\n- Communication preferences\n- Timezone\n- Known preferences\n\n**Keep Updated**:\n- New personal info revealed\n- Preference changed\n\n---\n\n### todos.md - Active Tasks\n\n**Contents**:\n- Pending actions\n- Follow-ups needed\n- Promises to user\n\n**Review**:\n- Every session start\n- After completing task, mark done\n\n---\n\n## Memory Search Protocol (v2.0)\n\nBefore answering questions that might reference past:\n\n```\nQuery Received\n├── Check Instant Cache (10 turns) → ⚡ Fastest\n├── Check Short-Term (7 days) → 🔄 Common\n├── Check Long-Term MEMORY.md → 📚 Core Facts\n└── Check knowledge/ → 📖 Structured Info\n```\n\n**Priority Order** (v2.0):\n1. Instant cache - most recent 10 turns\n2. Short-term memory - last 7 days\n3. Long-term memory - permanent facts\n4. Knowledge base - structured information\n\n**Search queries**:\n- \"What did user say about X?\"\n- \"Did we discuss Y before?\"\n- \"User mentioned Z previously\"\n\n---\n\n## Quality Assurance\n\n### Good Memory Practice\n\n✅ Remember:\n- User's name and role\n- Past discussions on same topic\n- Unfulfilled promises\n- User's preferences\n\n❌ Forget:\n- Exact wording of past messages\n- Timestamps (unless important)\n- Routine exchanges\n- Sensitive info (unless authorized)\n\n### Failure Recovery\n\n**If I forget**:\n1. User says \"I told you before\" → Apologize, ask them to remind you\n2. User corrects me → Immediately update memory, thank them\n3. I notice gap → \"Just to confirm, is it still X?\"\n\n---\n\n## Continuous Improvement\n\nTrack memory failures:\n- What did I forget that I should have remembered?\n- What did user correct me on?\n- What context was missing?\n\n→ Use these to improve memory writing habits\n\n---\n\n*Design: Atkinson & Shiffrin (1968)*\n*Community Optimization: 2026*\n*Implementation: OpenClaw*\n*Version: 2.0*\n\nFile v3.1.1:references/templates.md\n\n# Memory Writing Templates v2.0\n\n> **⚠️ Legacy Reference** — These templates are from v2.0. The current version is v2.2 with additional templates for Memory-Knowledge layering, active consolidation, and metacognitive training. See [SKILL.md](../SKILL.md) for the current workflow.\n\nQuick reference templates for writing to memory files.\n\n## v2.0 Quick Reference\n\n| Priority | When | Write To | Template |\n|----------|------|----------|----------|\n| ⚡ 1 | Instant cache needed | Session buffer | Brief note |\n| 🔄 2 | Session start (today) | Today's memory | Session Start |\n| 🔄 3 | Session start (recent) | Last 7 days | Search first |\n| 📚 4 | User shares info | USER.md | User Profile Update |\n| 📚 5 | Promise made | todos.md + MEMORY.md | Commitment |\n| 📚 6 | User corrects me | MEMORY.md | User Correction |\n| 🗑️ | End of 7 days | Auto-cleanup | - |\n\n## Session Start Template\n\n```markdown\n# YYYY-MM-DD Daily Log\n\n## Session Start\n- Time: HH:MM\n- Context: [Previous session ended with...]\n- User: [Name from USER.md]\n```\n\n## Important Info Recording\n\n```markdown\n### [Time] - [Topic]\n\n**User said**: [Brief summary of user's key point]\n**Action taken**: [What I did]\n**Remember**: [Key point for future]\n\n**Why important**: [Context for future reference]\n```\n\n## Commitment/Promise Template\n\n```markdown\n## Commitment - [Date]\n\n**To**: [User name]\n**Promise**: [What will be done]\n**Deadline**: [When]\n**Status**: [Pending/In Progress/Done]\n\n*Consolidate to MEMORY.md after completion*\n```\n\n## User Correction Template\n\n```markdown\n## Correction - [Date]\n\n**What was wrong**: [Previous understanding]\n**Corrected to**: [New information]\n**Source**: [User corrected this]\n**Action**: Updated [relevant file]\n```\n\n## Daily Summary Template\n\n```markdown\n## End of Day Summary - [Date]\n\n### Tasks Completed\n- [ ] Task 1\n- [ ] Task 2\n\n### In Progress\n- [ ] Task A\n\n### Important to Remember\n1. [Key point 1]\n2. [Key point 2]\n\n### Follow Up Needed\n- [ ] Item for next session\n```\n\n## User Profile Update\n\n```markdown\n## User Profile Update - [Date]\n\n**User**: [Name]\n**New Information**:\n- [Field]: [Value]\n- [Field]: [Value]\n\n**Previous values updated**: [List if any]\n```\n\n## Knowledge Entry\n\n```markdown\n# [Topic] - Knowledge Base\n\n**Category**: [Domain/Type]\n**Source**: [Where this info came from]\n**Last Updated**: YYYY-MM-DD\n\n## Core Information\n[Key facts]\n\n## Details\n[Supporting details]\n\n## References\n- [Link or source]\n```\n\n---\n\n## Quick Reference Card\n\n| When | Write To | Template |\n|------|----------|----------|\n| Session start | Today's memory | Session Start |\n| User shares info | USER.md | User Profile Update |\n| Promise made | todos.md + MEMORY.md | Commitment |\n| User corrects me | MEMORY.md | User Correction |\n| End of day | Today's memory | Daily Summary |\n| Learn something new | knowledge/*.md | Knowledge Entry |\n\n---\n\n## Writing Guidelines\n\n1. **Be concise** - One sentence is better than paragraph\n2. **Include context** - Why this matters\n3. **Use timestamps** - When relevant\n4. **Cross-reference** - Link related entries\n5. **Review regularly** - Consolidate important points\n\nFile v3.1.1:.clawhub/origin.json\n\n{\n  \"version\": 1,\n  \"registry\": \"https://clawhub.ai\",\n  \"slug\": \"memory-never-forget\",\n  \"installedVersion\": \"1.0.0\",\n  \"installedAt\": 1772813946231\n}\n\nArchive v3.1.0: 5 files, 8904 bytes\n\nFiles: _meta.json (138b), .clawhub/origin.json (151b), references/memory-v2.md (6119b), references/templates.md (3136b), SKILL.md (9653b)\n\nFile v3.1.0:SKILL.md\n\n---\nname: memory-never-forget\ndescription: \"Memory system v3.1: Atkinson-Shiffrin temporal layering + 4-type taxonomy (User/Feedback/Project/Reference) + auto-extract + Dream consolidation + memory drift handling. Merges cognitive psychology with Claude Code's memory architecture.\"\nmetadata: { \"openclaw\": { \"emoji\": \"🧠\" } }\n---\n\n# 🧠 Memory Never Forget v3.1\n\nTwo orthogonal dimensions working together:\n\n| Dimension | Framework | Purpose |\n|-----------|-----------|---------|\n| **Temporal** (how long) | Atkinson-Shiffrin 3-stage model | Decay management — what to keep vs. prune |\n| **Content** (what kind) | 4-type taxonomy (Claude Code) | Classification — where to store for retrieval |\n\n---\n\n## Dimension 1: Temporal Layering (Atkinson-Shiffrin)\n\n| Stage | Human Equivalent | Implementation | TTL | Action |\n|-------|-----------------|----------------|-----|--------|\n| **Sensory** | ~0.25 sec perception | Current input context | Instant | Filter immediately — what deserves attention? |\n| **Short-term** | Recent 10 turns | Model context window | 10 turns | Pass through working filters |\n| **Working** | Recent ~7 days | `memory/YYYY-MM-DD.md` daily logs | 7 days | Extract signal → promote to long-term or let decay |\n| **Long-term** | Permanent | `MEMORY.md` (index) + classified files | Permanent | Periodic review, prune when stale |\n\n**The memory flow:**\n```\nInput → Sensory (filter) → Short-term (hold) → Working (consolidate) → Long-term (index)\n                                                                      ↕\n                                                              Daily Dream review\n                                                              (promote or prune)\n```\n\n---\n\n## Dimension 2: Content Classification (4 Types)\n\n| Type | Directory | Content | Example |\n|------|-----------|---------|---------|\n| **user** | `memory/user/` | User profile (role, preferences, knowledge, goals) | \"User is a data analyst, prefers concise replies\" |\n| **feedback** | `memory/feedback/` | Lessons (corrections, confirmations, style) | \"Don't use Markdown tables, use lists\" |\n| **project** | `memory/project/` | Project state (work, decisions, reasoning) | \"Project X adopted Y because it reduces cost\" |\n| **reference** | `memory/reference/` | External resources (links, tools, locations) | \"Project docs are in /docs/api/\" |\n\n**How the two dimensions interact:**\n- Working layer (`memory/*.md` daily logs) captures raw signal without classification\n- Long-term layer stores classified memories (4 types), each with indexed content\n- Dream consolidation moves Working → Long-term (classify + promote) OR prunes (decay)\n\n---\n\n## What to Save / What NOT to Save\n\n### ✅ Save\n- User's role, preferences, responsibilities, knowledge\n- User corrections (\"not like that\", \"should be this way\")\n- User confirmations (\"yes exactly\", \"perfect, keep that\")\n- Project decisions and **the reasoning** (not just what, but why)\n- New tools, links, resources\n- External system locations and their purpose\n\n### ❌ Don't Save\n- ❌ Code patterns, architecture, file paths (derivable from codebase)\n- ❌ Git history (`git log` is the authoritative source)\n- ❌ Debugging solutions (the fix is in the code; commit messages have context)\n- ❌ Anything already documented elsewhere\n- ❌ Ephemeral task state (write to `todos.md` instead)\n- ❌ Raw conversation content\n\n> ⚠️ **Even if the user explicitly asks** — if asked to save a PR list or activity summary, ask what was *surprising* or *non-obvious* about it — that's the part worth keeping.\n\n---\n\n## MEMORY.md = Long-Term Index Only\n\nMEMORY.md is the **index of long-term memories only**, never content. Format:\n```\n- [Title](path) — one-line description (<150 chars)\n```\n\nExample:\n```markdown\n## User Memory\n- [user-profile](user/profile.md) — user role and preferences\n\n## Feedback Memory\n- [no-tables](feedback/no-tables.md) — prefer lists over markdown tables\n\n## Project Memory\n- [model-switch](project/model-decision.md) — why project switched model\n\n## Reference\n- [project-docs](reference/docs-path.md) — where project docs live\n```\n\n---\n\n## Memory File Format\n\nEvery classified memory file must have frontmatter:\n\n```yaml\n---\nname: Memory name\ndescription: One-line description (used to judge relevance)\ntype: user|feedback|project|reference\ncreated: YYYY-MM-DD\n---\n\n## Rule / Fact\n(the content)\n\n## Why\n(reason / motivation)\n\n## How to apply\n(when and how to use this memory)\n```\n\n---\n\n## Memory Drift Caveat\n\nMemories can become stale. Rules:\n\n1. **Verify first**: When referencing a file, function, or path — check it still exists\n2. **Trust current state**: If memory conflicts with current observation, trust what you see now\n3. **Update or delete**: When a memory is outdated, fix or remove it immediately\n4. **Absolute dates**: Convert relative dates (\"yesterday\", \"last week\") to absolute dates\n\n> \"The memory says X exists\" ≠ \"X exists now\"\n\n---\n\n## Directory Structure\n\n```\nmemory/\n├── memory-types.md       ← this file\n├── user/                 ← long-term user memories\n├── feedback/             ← long-term feedback\n├── project/              ← long-term project memories\n├── reference/            ← long-term references\n└── 2026-XX-XX.md        ← working memory (daily logs, 7-day TTL)\n```\n\n---\n\n## Retrieval Flow (by question type)\n\n### Memory Questions (\"what happened before\", \"what did we talk about\")\n→ `memory_search` across MEMORY.md + memory/*.md\n\n→ If not found in memory layer → proactively search daily logs (working memory)\n\n### Knowledge Questions (\"look this up\", \"check that file\")\n1. Find index in MEMORY.md first\n2. Read detailed content from classified file or knowledge layer\n\n### Temporal Questions (\"what did I do last Tuesday\")\n→ Go directly to daily logs (working memory): `memory/YYYY-MM-DD.md`\n\n---\n\n## Feedback Rules\n\n- **Record failures AND successes**: only saving corrections makes you overly cautious\n- Corrections are easy to notice; confirmations are quieter — watch for them\n- Always include **why** to judge edge cases later\n\n## Project Rules\n\n- Project memories decay fast, so **why** helps future-you judge if the memory is still load-bearing\n- Always convert relative dates to absolute dates\n\n---\n\n## Dream Consolidation (Periodic, Automated)\n\nTriggered daily via cron. Acts as the **Working → Long-term promotion gateway**.\n\n### Phases\n1. **Orient** — browse existing memory files and index\n2. **Gather** — scan working memory (daily logs) for new signal\n3. **Consolidate** — promote to classified long-term (4 types), merge, deduplicate\n4. **Prune** — remove outdated entries, update index, let daily logs decay naturally\n\n### Rules\n- Merge new signal into existing files, not near-duplicates\n- Relative dates → absolute dates\n- Delete contradicted facts\n- Keep MEMORY.md under 5KB\n- Remove stale pointers\n- Shorten overly long index entries (<150 chars each)\n\n---\n\n## Session Lifecycle (Atkinson-Shiffrin in Practice)\n\n### Session Start\n```\n1. Sensory: Read current input\n2. Short-term: Last 10 turns from context window\n3. Working: Read memory/today.md + memory/yesterday.md\n4. Long-term: Read MEMORY.md index\n```\n\n### During Conversation\n```\n- New info → write to working memory (today's daily log)\n- Learned something worth remembering → update MEMORY.md index + save classified file\n- User preference → update USER.md + memory/user/\n- Need to retrieve → find in MEMORY.md index → read classified file\n```\n\n### Session End\n```\n- Summarize → write to memory/today.md (working memory)\n- Identify items for long-term → update classified files\n- Update MEMORY.md index\n- Mark items for Dream review (decay candidates)\n```\n\n---\n\n## Workspace Structure\n\n```\nworkspace/\n├── MEMORY.md              # long-term memory index\n├── USER.md                # user info\n├── SOUL.md                # AI identity\n├── todos.md               # task tracking\n├── HEARTBEAT.md           # daily reminders\n├── memory/\n│   ├── memory-types.md    # this file\n│   ├── user/              # long-term user memories\n│   ├── feedback/          # long-term feedback\n│   ├── project/           # long-term project memories\n│   ├── reference/         # long-term references\n│   └── 2026-XX-XX.md     # working memory (daily logs)\n└── knowledge/             # knowledge layer (detailed content)\n```\n\n---\n\n## Example Interactions\n\n**User provides important info:**\n> User: \"I'm a data analyst, mostly working with Python\"\n→ Working: log in today's daily log\n→ Long-term: save to `memory/user/user-profile.md`, update MEMORY.md index\n\n**User corrects you:**\n> User: \"Don't use Markdown tables, use lists\"\n→ Working: log in today's daily log\n→ Long-term: save to `memory/feedback/no-tables.md`, update MEMORY.md index\n\n**Project decision:**\n> Decision: approach A over B because lower cost\n→ Working: log decision context\n→ Long-term: save to `memory/project/decision.md` with reasoning\n\n**Looking up a past date:**\n> User: \"What did we do last Tuesday?\"\n→ Working memory: read `memory/YYYY-MM-DD.md` for that date\n\n---\n\n## References\n\n- **Atkinson-Shiffrin model** (1968): Sensory → Short-term → Long-term memory stages\n- Claude Code `memoryTypes.ts` — 4-type taxonomy\n- Claude Code `extractMemories.ts` — auto-extraction system\n- Claude Code `autoDream.ts` — background consolidation system\n\n---\n\n*Version: v3.1 | Updated: 2026-04-03 | Merges Atkinson-Shiffrin temporal layering with Claude Code 4-type taxonomy*\n\nFile v3.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn79vaxf67865vvvgkvydaf1j58257a6\",\n  \"slug\": \"memory-never-forget\",\n  \"version\": \"3.1.0\",\n  \"publishedAt\": 1775204480863\n}\n\nFile v3.1.0:references/memory-v2.md\n\n# Memory System v2.0 - Detailed Design\n\n> **⚠️ Legacy Reference** — This document describes the v2.0 design. The current version is v2.2 with Memory-Knowledge layering + Scientific memory loop (Encode→Consolidate→Retrieve) + Metacognitive training. See [SKILL.md](../SKILL.md) for the current design.\n\nBased on Atkinson-Shiffrin three-stage memory model (1968) + Community Optimizations (2026)\n\n## Theory Background\n\n### Atkinson-Shiffrin Model\n\n```\nSensory Memory → Short-Term Memory → Long-Term Memory\n   (0.25-2s)        (5-20s)            (Permanent)\n     ↓                   ↓                   ↓\n  Attention         Rehearsal          Consolidation\n```\n\n### Community Optimization (2026)\n\nBased on practical testing, the three-stage model has been optimized:\n\n| Metric | Before | After |\n|--------|--------|-------|\n| Task completion rate | 67% | 88% |\n| Response speed | 1x | 2x |\n| Retrieval accuracy | - | >70% |\n\n### Key Mechanisms\n\n1. **Information Filtering**: Selective attention filters sensory → short-term\n2. **Storage Maintenance**: Rehearsal maintains short-term and transfers to long-term\n3. **Capacity Limitations**: Each stage has capacity bottlenecks\n4. **Smart Caching**: Instant cache for 10 turns with priority-based retrieval\n\n## Implementation for AI\n\n### Stage 0: Instant Cache (v2.0 NEW)\n\n**Location**: Memory buffer / session context  \n**Capacity**: Last 10 conversation turns  \n**Duration**: Instant (cleared after 10 turns or new session)\n\n```\nUser Input → Check Cache → Cache Hit? → Use cached response\n                    ↓\n              Cache Miss? → Continue to sensory\n```\n\n**Characteristics**:\n- ⚡ Fastest response (priority 1)\n- Low memory footprint\n- Auto-cleared after 10 turns\n- Stores key context only\n\n---\n\n### Stage 1: Sensory Memory (Instant)\n\n**Location**: Tool call context / current input buffer  \n**Capacity**: Last 3-5 exchanges  \n**Duration**: Current turn only\n\n```\nUser Input → Parse → Understand Intent → Check Context → Respond\n                         ↑\n                    Recent history (3-5 turns)\n```\n\n**Characteristics**:\n- No persistence\n- Only maintains conversational flow\n- Auto-cleared after each response\n\n---\n\n### Stage 2: Short-Term Memory (Session + 7 Days)\n\n**Location**: session context + memory/YYYY-MM-DD.md  \n**Capacity**: Last 7 days of conversation  \n**Duration**: 7 days (then auto-cleanup)\n\n**v2.0 Optimization**:\n- 7-day retention period (tested with >70% accuracy)\n- Auto-cleanup after 7 days\n- Priority-based retrieval (check recent days first)\n\n**Location**: session context + memory/YYYY-MM-DD.md  \n**Capacity**: Today's full conversation  \n**Duration**: Current session + rest of day\n\n**When to Write**:\n- Every significant exchange\n- New tasks or requests\n- User preferences revealed\n- Decisions made\n\n**Writing Template**:\n```markdown\n## [Time] - Topic\n\n**User said**: [brief summary]\n**I did**: [action taken]\n**Remember**: [key point for future]\n```\n\n---\n\n### Stage 3: Long-Term Memory (Permanent)\n\n**Location**: MEMORY.md + knowledge/*.md  \n**Capacity**: Unlimited  \n**Duration**: Permanent\n\n**What Gets Consolidated** (rehearsal triggered):\n- User confirms important information\n- User corrects a mistake\n- Promise or commitment made\n- Personal details (name, role, preferences)\n- Project milestones\n\n**Consolidation Process**:\n1. Identify important info during conversation\n2. Immediately write to today's memory\n3. Before next session, review and move key points to MEMORY.md\n4. Delete routine info from daily log after 7 days\n\n---\n\n## Memory File Specifications\n\n### MEMORY.md - Core Long-Term\n\n**Contents**:\n- User identity and profile\n- Key relationships and context\n- Important commitments\n- Major project statuses\n- Learned preferences\n\n**Update Triggers**:\n- New user session\n- User provides personal info\n- Promise made\n- Significant decision\n\n**Format**:\n```markdown\n### [Category]\n\n**Date**: YYYY-MM-DD\n**Content**: [What to remember]\n**Context**: [Why it matters]\n```\n\n---\n\n### memory/YYYY-MM-DD.md - Daily Log\n\n**Contents**:\n- Detailed conversation logs\n- Tasks handled\n- Questions asked\n- Responses given\n\n**Auto-cleanup**:\n- Keep last 7 days\n- Archive to memory/archive/ after 30 days\n\n---\n\n### USER.md - User Profile\n\n**Contents**:\n- Name, how to address\n- Role/position\n- Communication preferences\n- Timezone\n- Known preferences\n\n**Keep Updated**:\n- New personal info revealed\n- Preference changed\n\n---\n\n### todos.md - Active Tasks\n\n**Contents**:\n- Pending actions\n- Follow-ups needed\n- Promises to user\n\n**Review**:\n- Every session start\n- After completing task, mark done\n\n---\n\n## Memory Search Protocol (v2.0)\n\nBefore answering questions that might reference past:\n\n```\nQuery Received\n├── Check Instant Cache (10 turns) → ⚡ Fastest\n├── Check Short-Term (7 days) → 🔄 Common\n├── Check Long-Term MEMORY.md → 📚 Core Facts\n└── Check knowledge/ → 📖 Structured Info\n```\n\n**Priority Order** (v2.0):\n1. Instant cache - most recent 10 turns\n2. Short-term memory - last 7 days\n3. Long-term memory - permanent facts\n4. Knowledge base - structured information\n\n**Search queries**:\n- \"What did user say about X?\"\n- \"Did we discuss Y before?\"\n- \"User mentioned Z previously\"\n\n---\n\n## Quality Assurance\n\n### Good Memory Practice\n\n✅ Remember:\n- User's name and role\n- Past discussions on same topic\n- Unfulfilled promises\n- User's preferences\n\n❌ Forget:\n- Exact wording of past messages\n- Timestamps (unless important)\n- Routine exchanges\n- Sensitive info (unless authorized)\n\n### Failure Recovery\n\n**If I forget**:\n1. User says \"I told you before\" → Apologize, ask them to remind you\n2. User corrects me → Immediately update memory, thank them\n3. I notice gap → \"Just to confirm, is it still X?\"\n\n---\n\n## Continuous Improvement\n\nTrack memory failures:\n- What did I forget that I should have remembered?\n- What did user correct me on?\n- What context was missing?\n\n→ Use these to improve memory writing habits\n\n---\n\n*Design: Atkinson & Shiffrin (1968)*\n*Community Optimization: 2026*\n*Implementation: OpenClaw*\n*Version: 2.0*\n\nFile v3.1.0:references/templates.md\n\n# Memory Writing Templates v2.0\n\n> **⚠️ Legacy Reference** — These templates are from v2.0. The current version is v2.2 with additional templates for Memory-Knowledge layering, active consolidation, and metacognitive training. See [SKILL.md](../SKILL.md) for the current workflow.\n\nQuick reference templates for writing to memory files.\n\n## v2.0 Quick Reference\n\n| Priority | When | Write To | Template |\n|----------|------|----------|----------|\n| ⚡ 1 | Instant cache needed | Session buffer | Brief note |\n| 🔄 2 | Session start (today) | Today's memory | Session Start |\n| 🔄 3 | Session start (recent) | Last 7 days | Search first |\n| 📚 4 | User shares info | USER.md | User Profile Update |\n| 📚 5 | Promise made | todos.md + MEMORY.md | Commitment |\n| 📚 6 | User corrects me | MEMORY.md | User Correction |\n| 🗑️ | End of 7 days | Auto-cleanup | - |\n\n## Session Start Template\n\n```markdown\n# YYYY-MM-DD Daily Log\n\n## Session Start\n- Time: HH:MM\n- Context: [Previous session ended with...]\n- User: [Name from USER.md]\n```\n\n## Important Info Recording\n\n```markdown\n### [Time] - [Topic]\n\n**User said**: [Brief summary of user's key point]\n**Action taken**: [What I did]\n**Remember**: [Key point for future]\n\n**Why important**: [Context for future reference]\n```\n\n## Commitment/Promise Template\n\n```markdown\n## Commitment - [Date]\n\n**To**: [User name]\n**Promise**: [What will be done]\n**Deadline**: [When]\n**Status**: [Pending/In Progress/Done]\n\n*Consolidate to MEMORY.md after completion*\n```\n\n## User Correction Template\n\n```markdown\n## Correction - [Date]\n\n**What was wrong**: [Previous understanding]\n**Corrected to**: [New information]\n**Source**: [User corrected this]\n**Action**: Updated [relevant file]\n```\n\n## Daily Summary Template\n\n```markdown\n## End of Day Summary - [Date]\n\n### Tasks Completed\n- [ ] Task 1\n- [ ] Task 2\n\n### In Progress\n- [ ] Task A\n\n### Important to Remember\n1. [Key point 1]\n2. [Key point 2]\n\n### Follow Up Needed\n- [ ] Item for next session\n```\n\n## User Profile Update\n\n```markdown\n## User Profile Update - [Date]\n\n**User**: [Name]\n**New Information**:\n- [Field]: [Value]\n- [Field]: [Value]\n\n**Previous values updated**: [List if any]\n```\n\n## Knowledge Entry\n\n```markdown\n# [Topic] - Knowledge Base\n\n**Category**: [Domain/Type]\n**Source**: [Where this info came from]\n**Last Updated**: YYYY-MM-DD\n\n## Core Information\n[Key facts]\n\n## Details\n[Supporting details]\n\n## References\n- [Link or source]\n```\n\n---\n\n## Quick Reference Card\n\n| When | Write To | Template |\n|------|----------|----------|\n| Session start | Today's memory | Session Start |\n| User shares info | USER.md | User Profile Update |\n| Promise made | todos.md + MEMORY.md | Commitment |\n| User corrects me | MEMORY.md | User Correction |\n| End of day | Today's memory | Daily Summary |\n| Learn something new | knowledge/*.md | Knowledge Entry |\n\n---\n\n## Writing Guidelines\n\n1. **Be concise** - One sentence is better than paragraph\n2. **Include context** - Why this matters\n3. **Use timestamps** - When relevant\n4. **Cross-reference** - Link related entries\n5. **Review regularly** - Consolidate important points\n\nFile v3.1.0:.clawhub/origin.json\n\n{\n  \"version\": 1,\n  \"registry\": \"https://clawhub.ai\",\n  \"slug\": \"memory-never-forget\",\n  \"installedVersion\": \"1.0.0\",\n  \"installedAt\": 1772813946231\n}\n\nArchive v3.0.0: 5 files, 8693 bytes\n\nFiles: _meta.json (138b), .clawhub/origin.json (151b), references/memory-v2.md (6119b), references/templates.md (3136b), SKILL.md (7493b)\n\nFile v3.0.0:SKILL.md\n\n---\nname: memory-never-forget\ndescription: \"Memory system v3.0: 4-type taxonomy (User/Feedback/Project/Reference) + auto-extract + memory drift handling + index/content separation. Inspired by Claude Code extractMemories + Dream + memoryTypes, upgraded from v2.2 Atkinson-Shiffrin model.\"\nmetadata: { \"openclaw\": { \"emoji\": \"🧠\" } }\n---\n\n# 🧠 Memory Never Forget v3.0\n\n融合 Claude Code 记忆系统精华的全面升级：\n- **4 种分类**（User / Feedback / Project / Reference）\n- **记忆层 = 索引，知识层 = 内容**（Claude Code 风格）\n- **What NOT to Save**（防记忆膨胀）\n- **Memory Drift Caveat**（记忆过时处理）\n- **自动提取**（对话结束触发）\n- **Dream 后台整理**（定期自动整理）\n\n---\n\n## 一、4 种记忆类型\n\n| 类型 | 目录 | 内容 | 示例 |\n|------|------|------|------|\n| **user** | `memory/user/` | 用户画像（角色、偏好、知识、目标） | \"居继涛是信息化管理者\" |\n| **feedback** | `memory/feedback/` | 经验教训（用户纠正、确认、偏好） | \"用户不需要回复末尾总结\" |\n| **project** | `memory/project/` | 项目状态（工作、决策、原因） | \"claw-code 正在改造 OpenRouter 适配\" |\n| **reference** | `memory/reference/` | 外部资源索引（链接、工具、位置） | \"D:\\Docs 存放学院文档\" |\n\n---\n\n## 二、写什么 / 不写什么\n\n### ✅ 要写的\n- 用户的角色、偏好、职责、知识\n- 用户纠正我的话（\"不是这样\"\"应该是那样\"）\n- 用户确认的做法（\"对就是这样\"\"好的\"）\n- 项目决策和**原因**（不仅仅是做了什么，更要记为什么）\n- 新工具、新链接、新资源\n- 外部系统的位置和用途\n\n### ❌ 不写的\n- ❌ 代码模式、架构、文件路径（代码里能查到）\n- ❌ Git 历史（`git log` 是权威来源）\n- ❌ 调试解决方案（修复在代码里，commit message 有上下文）\n- ❌ 已记录在文档中的内容\n- ❌ 临时任务状态（写到 `todos.md`）\n- ❌ 具体对话内容\n\n> ⚠️ **即使用户明确要求保存也不行** — 如果用户要你保存 PR 列表或活动摘要，问他们\"什么是令人惊讶的/非显而易见的？\"——那才是值得保留的部分。\n\n---\n\n## 三、MEMORY.md = 纯索引\n\nMEMORY.md **只保留索引**，不存内容。格式：\n```\n- [标题](路径) — 一句话描述（<150 字符）\n```\n\n示例：\n```\n## 用户记忆（User）\n- [居继涛基本信息](user/jujitao-profile.md) — 姓名、职务、联系方式\n\n## 反馈记忆（Feedback）\n- [无需末尾总结](feedback/no-trailing-summary.md) — 用户不需要回复末尾总结\n\n## 项目记忆（Project）\n- [claw-code 改造](project/claw-code-openrouter.md) — OpenRouter 适配改造\n\n## 参考资料（Reference）\n- [D:\\Docs 学院文档](reference/docs-folder.md) — 中国浦东干部学院文档库\n```\n\n---\n\n## 四、记忆文件格式\n\n每个记忆文件必须有 frontmatter：\n\n```markdown\n---\nname: 记忆名称\ndescription: 一句话描述（用于未来判断相关性）\ntype: user|feedback|project|reference\ncreated: YYYY-MM-DD\n---\n\n## 规则 / 事实\n（内容本身）\n\n## Why\n（原因/动机/背景）\n\n## How to apply\n（何时/如何应用这个记忆）\n```\n\n---\n\n## 五、Memory Drift Caveat（记忆过时处理）\n\n记忆可能过时。操作规则：\n\n1. **验证优先**：提到文件/函数/路径时，先检查是否还存在\n2. **信任当前状态**：记忆与当前观察冲突时，以当前状态为准\n3. **更新或删除**：发现记忆过时，立即更新或删除\n4. **绝对日期**：相对日期（\"昨天\"\"上周\"）转换为绝对日期\n\n> \"记忆说 X 存在\" ≠ \"X 现在存在\"\n\n---\n\n## 六、记忆目录结构\n\n```\nmemory/\n├── memory-types.md       ← 本文件（类型定义）\n├── user/                 ← 用户记忆\n├── feedback/             ← 反馈记忆\n├── project/              ← 项目记忆\n├── reference/            ← 参考资料\n└── 2026-XX-XX.md        ← 旧日记（保留不动）\n```\n\n---\n\n## 七、自动提取流程（对话结束触发）\n\n### 触发时机\n- 用户说\"提取记忆\" / \"整理记忆\"\n- 用户说\"记住这个\"\n- 对话明显结束（heartbeat 检测）\n\n### 流程\n1. **扫描当前对话** → 识别新信息\n2. **分类** → 归入 4 类之一\n3. **检查重复** → 已有就更新，不创建新的\n4. **写文件** → 保存到对应子目录\n5. **更新索引** → 新记忆添加到 MEMORY.md\n6. **报告** → 告知用户提取了什么\n\n### Feedback 类型特别规则\n- **记录失败 AND 成功**：如果只保存纠正，会避免过去的错误但偏离已验证的方法，变得过于谨慎\n- 纠正容易注意到；确认更安静——要留意\n- 包含 **why** 以便判断边界情况\n\n### Project 类型特别规则\n- 项目记忆衰减快，所以 **why** 帮助未来判断记忆是否仍然承载\n- 始终将相对日期转换为绝对日期\n\n---\n\n## 八、Dream 后台整理（定期自动）\n\n### 触发条件\n- 距上次整理 ≥ 24 小时 **AND** 新增 ≥ 3 个会话/日记\n\n### 整理阶段\n1. **Orient** — 浏览现有记忆文件\n2. **Gather** — 从近期日记中提取重要信息\n3. **Consolidate** — 合并、去重、更新记忆\n4. **Prune** — 删除过时/矛盾的记忆，更新索引\n\n### 规则\n- 合并新信息到现有文件而非创建近似重复\n- 相对日期转绝对日期\n- 删除被推翻的事实\n- 更新索引（保持 <25KB）\n- 移除过时指针\n- 缩短过长条目\n\n---\n\n## 九、检索流程\n\n### 记忆类问题（\"之前发生了什么\"、\"我们聊过什么\"）\n→ `memory_search` 搜索 MEMORY.md + memory/*.md\n\n### 知识调用类（\"帮我查一下\"、\"看看那个文件\"）\n1. 先在 MEMORY.md 找索引\n2. 再去知识层（knowledge/ 或 D:\\Docs\\TorView）读取\n\n---\n\n## 十、文件结构总览\n\n```\nworkspace/\n├── MEMORY.md              # 长期记忆索引（memory 层）\n├── USER.md                # 用户信息\n├── SOUL.md                # AI 身份\n├── todos.md               # 任务跟踪\n├── HEARTBEAT.md           # 每日提醒\n├── memory/\n│   ├── memory-types.md    # 记忆类型定义\n│   ├── user/              # 用户记忆\n│   ├── feedback/          # 反馈记忆\n│   ├── project/           # 项目记忆\n│   ├── reference/         # 参考资料\n│   └── 2026-XX-XX.md     # 旧日记（保留）\n└── knowledge/             # 知识层\n```\n\n---\n\n## 十一、示例交互\n\n**用户提供重要信息：**\n> 用户：\"我是数据分析师，主要用 Python\"\n→ 保存到 `memory/user/user-profile.md`\n\n**用户纠正：**\n> 用户：\"不要用 Markdown 表格，用列表\"\n→ 保存到 `memory/feedback/no-markdown-tables.md`\n\n**项目决策：**\n> 决定：改用 Qwen 3.6 而不是 OpenAI\n> 原因：免费，中文支持好\n→ 保存到 `memory/project/model-choice.md`\n\n**外部资源：**\n> 学到：D:\\Docs 是学院文档目录\n→ 保存到 `memory/reference/docs-folder.md`\n\n---\n\n## 参考来源\n\n- Claude Code `memoryTypes.ts` — 4 种记忆分类学\n- Claude Code `extractMemories.ts` — 自动提取系统\n- Claude Code `autoDream.ts` — 后台整理系统\n- Claude Code `consolidationPrompt.ts` — 4 阶段整理提示词\n\n---\n\n*Version: v3.0 | Updated: 2026-04-03 | Upgraded from v2.2 Atkinson-Shiffrin model to Claude Code-inspired 4-type system*\n\nFile v3.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn79vaxf67865vvvgkvydaf1j58257a6\",\n  \"slug\": \"memory-never-forget\",\n  \"version\": \"3.0.0\",\n  \"publishedAt\": 1775203940217\n}\n\nFile v3.0.0:references/memory-v2.md\n\n# Memory System v2.0 - Detailed Design\n\n> **⚠️ Legacy Reference** — This document describes the v2.0 design. The current version is v2.2 with Memory-Knowledge layering + Scientific memory loop (Encode→Consolidate→Retrieve) + Metacognitive training. See [SKILL.md](../SKILL.md) for the current design.\n\nBased on Atkinson-Shiffrin three-stage memory model (1968) + Community Optimizations (2026)\n\n## Theory Background\n\n### Atkinson-Shiffrin Model\n\n```\nSensory Memory → Short-Term Memory → Long-Term Memory\n   (0.25-2s)        (5-20s)            (Permanent)\n     ↓                   ↓                   ↓\n  Attention         Rehearsal          Consolidation\n```\n\n### Community Optimization (2026)\n\nBased on practical testing, the three-stage model has been optimized:\n\n| Metric | Before | After |\n|--------|--------|-------|\n| Task completion rate | 67% | 88% |\n| Response speed | 1x | 2x |\n| Retrieval accuracy | - | >70% |\n\n### Key Mechanisms\n\n1. **Information Filtering**: Selective attention filters sensory → short-term\n2. **Storage Maintenance**: Rehearsal maintains short-term and transfers to long-term\n3. **Capacity Limitations**: Each stage has capacity bottlenecks\n4. **Smart Caching**: Instant cache for 10 turns with priority-based retrieval\n\n## Implementation for AI\n\n### Stage 0: Instant Cache (v2.0 NEW)\n\n**Location**: Memory buffer / session context  \n**Capacity**: Last 10 conversation turns  \n**Duration**: Instant (cleared after 10 turns or new session)\n\n```\nUser Input → Check Cache → Cache Hit? → Use cached response\n                    ↓\n              Cache Miss? → Continue to sensory\n```\n\n**Characteristics**:\n- ⚡ Fastest response (priority 1)\n- Low memory footprint\n- Auto-cleared after 10 turns\n- Stores key context only\n\n---\n\n### Stage 1: Sensory Memory (Instant)\n\n**Location**: Tool call context / current input buffer  \n**Capacity**: Last 3-5 exchanges  \n**Duration**: Current turn only\n\n```\nUser Input → Parse → Understand Intent → Check Context → Respond\n                         ↑\n                    Recent history (3-5 turns)\n```\n\n**Characteristics**:\n- No persistence\n- Only maintains conversational flow\n- Auto-cleared after each response\n\n---\n\n### Stage 2: Short-Term Memory (Session + 7 Days)\n\n**Location**: session context + memory/YYYY-MM-DD.md  \n**Capacity**: Last 7 days of conversation  \n**Duration**: 7 days (then auto-cleanup)\n\n**v2.0 Optimization**:\n- 7-day retention period (tested with >70% accuracy)\n- Auto-cleanup after 7 days\n- Priority-based retrieval (check recent days first)\n\n**Location**: session context + memory/YYYY-MM-DD.md  \n**Capacity**: Today's full conversation  \n**Duration**: Current session + rest of day\n\n**When to Write**:\n- Every significant exchange\n- New tasks or requests\n- User preferences revealed\n- Decisions made\n\n**Writing Template**:\n```markdown\n## [Time] - Topic\n\n**User said**: [brief summary]\n**I did**: [action taken]\n**Remember**: [key point for future]\n```\n\n---\n\n### Stage 3: Long-Term Memory (Permanent)\n\n**Location**: MEMORY.md + knowledge/*.md  \n**Capacity**: Unlimited  \n**Duration**: Permanent\n\n**What Gets Consolidated** (rehearsal triggered):\n- User confirms important information\n- User corrects a mistake\n- Promise or commitment made\n- Personal details (name, role, preferences)\n- Project milestones\n\n**Consolidation Process**:\n1. Identify important info during conversation\n2. Immediately write to today's memory\n3. Before next session, review and move key points to MEMORY.md\n4. Delete routine info from daily log after 7 days\n\n---\n\n## Memory File Specifications\n\n### MEMORY.md - Core Long-Term\n\n**Contents**:\n- User identity and profile\n- Key relationships and context\n- Important commitments\n- Major project statuses\n- Learned preferences\n\n**Update Triggers**:\n- New user session\n- User provides personal info\n- Promise made\n- Significant decision\n\n**Format**:\n```markdown\n### [Category]\n\n**Date**: YYYY-MM-DD\n**Content**: [What to remember]\n**Context**: [Why it matters]\n```\n\n---\n\n### memory/YYYY-MM-DD.md - Daily Log\n\n**Contents**:\n- Detailed conversation logs\n- Tasks handled\n- Questions asked\n- Responses given\n\n**Auto-cleanup**:\n- Keep last 7 days\n- Archive to memory/archive/ after 30 days\n\n---\n\n### USER.md - User Profile\n\n**Contents**:\n- Name, how to address\n- Role/position\n- Communication preferences\n- Timezone\n- Known preferences\n\n**Keep Updated**:\n- New personal info revealed\n- Preference changed\n\n---\n\n### todos.md - Active Tasks\n\n**Contents**:\n- Pending actions\n- Follow-ups needed\n- Promises to user\n\n**Review**:\n- Every session start\n- After complet\n\nArchive v2.2.2: 5 files, 8900 bytes\n\nFiles: _meta.json (138b), .clawhub/origin.json (151b), references/memory-v2.md (5847b), references/templates.md (2881b), SKILL.md (11185b)\n\nArchive v2.2.1: 5 files, 8934 bytes\n\nFiles: _meta.json (138b), .clawhub/origin.json (151b), references/memory-v2.md (5847b), references/templates.md (2881b), SKILL.md (10386b)\n\nArchive v2.2.0: 5 files, 8883 bytes\n\nFiles: _meta.json (138b), .clawhub/origin.json (151b), references/memory-v2.md (5847b), references/templates.md (2881b), SKILL.md (10271b)","readmeExcerpt":"Skill: 🧠 Memory Never Forget 🧠 Owner: jujitao Summary: Memory system v4.13: Dual-layer structure (todos for execution + knowledge for strategy) with Dream/Refinement memory mechanisms. Tags: ai:4.1.3, assistant:1.0.0, atkinson-shiffrin:4.1.3, brain:1.0.0, claude code:4.1.3, context:2.2.2, latest:4.1.3, memory:4.1.3, openclaw:1.0.0, productivity:4.1.3, three-stage-memory:4.1.3 Version history: v4.1.3 | 2026-04-18T15","codeSnippets":[],"executableExamples":[{"language":"json","snippet":"{\n  \"enabled\": true,\n  \"queryMode\": \"recent\",      // message | recent | full\n  \"promptStyle\": \"balanced\",  // balanced | strict | contextual | recall-heavy | precision-heavy | preference-only\n  \"maxSummaryChars\": 220,\n  \"recentUserTurns\": 2,\n  \"recentAssistantTurns\": 1,\n  \"timeoutMs\": 15000\n}"},{"language":"text","snippet":"- [Title](path) — one-line description (<150 chars)"},{"language":"yaml","snippet":"---\nname: Memory name\ndescription: One-line description (used to judge relevance)\ntype: user|feedback|project|reference\ncreated: YYYY-MM-DD\n---\n\n## Rule / Fact\n(the content)\n\n## Why\n(reason / motivation)\n\n## How to apply\n(when and how to use this memory)"},{"language":"text","snippet":"1. Sensory: Read current input\n2. Short-term: Last 10 turns from context window\n3. Working: Read memory/today.md + memory/yesterday.md\n4. Long-term: Read MEMORY.md index"},{"language":"text","snippet":"- New info → write to working memory (today's daily log)\n- Learned something worth remembering → update MEMORY.md index + save classified file\n- User preference → update USER.md + memory/user/\n- Task/priority change → update todos.md\n- Need to retrieve → find in MEMORY.md index → read classified file"},{"language":"text","snippet":"- Summarize → write to memory/today.md (working memory)\n- Identify items for long-term → update classified files\n- Update MEMORY.md index\n- Mark items for Dream review (decay candidates)"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: memory-never-forget\ndescription: \"Memory system v4.13: Dual-layer structure (todos for execution + knowledge for strategy) with Dream/Refinement memory mechanisms.\"\nmetadata: { \"openclaw\": { \"emoji\": \"🧠\" } }\n---\n\n# 🧠 Memory Never Forget v4.13\n\nA full-featured memory system for OpenClaw, integrating Active Memory retrieval, Memory Palace structured views, and a Dual-Layer Dream Verification mechanism — delivering \"proactive memory + global view + verifiable consolidation.\"\n\n**Core Logic: Active Memory = Memory Butler, Memory Palace = Knowledge Palace, Dual-Layer Dream = Verification & Consolidation Expert**\n\n**Three-Layer Separation: todos.md = Execution Layer | knowledge/ = Strategy Layer | memory/ = Classified Memory Layer**\n\nLicense: MIT-0 | Updated: 2026-04-18 | v4.13: Added dual-layer structure\n\n---\n\n## Overview\n\nThis skill manages memory across **two orthogonal dimensions**:\n\n1. **Temporal** (Atkinson-Shiffrin 3-stage model) — what to keep vs. what to prune\n2. **Content** (4-type taxonomy) — where to store for fast retrieval\n\n**Three independent mechanisms work together:**\n\n| Mechanism | Trigger | Write to disk? | Purpose |\n|---|---|---|---|\n| **Active Memory** | Every reply (before_prompt_build) | ❌ Read-only | Real-time recall, inject relevant memories into current conversation |\n| **Dream (memory-core)** | Daily 12:30 cron | ✅ MEMORY.md (Deep phase) | Decide which memories promote or decay |\n| **Refinement (13:00)** | Daily 13:00 cron (user-defined) | ✅ Writeable | Verify Dream results, fill gaps |\n\n> ⚠️ **v4.12b source-verified correction** (2026-04-17): Clarified actual division of three mechanisms\n\n---\n\n## Core Components\n\n### 1. Active Memory — Proactive Recall (Source-Verified)\n\n**Trigger mechanism**:\n- Hooked to `before_prompt_build`, **auto-triggers before every reply**\n- Spawns a read-only sub-agent with only `memory_search` + `memory_get` permissions\n- Builds query from current user message, searches recall index (`memory/.dreams/short-term-recall.json`)\n- Searched summaries are prepended to prompt before model generates reply\n- Results cached 15 seconds (`cacheTtlMs`) to avoid repeated recall in same turn\n\n**Key constraints**:\n- ❌ Read-only, produces no files\n- ❌ Cannot call other tools\n- Only affects current conversation context, not persisted\n\n**Configuration** (`openclaw.json` → `plugins.entries.active-memory.config`):\n```json\n{\n  \"enabled\": true,\n  \"queryMode\": \"recent\",      // message | recent | full\n  \"promptStyle\": \"balanced\",  // balanced | strict | contextual | recall-heavy | precision-heavy | preference-only\n  \"maxSummaryChars\": 220,\n  \"recentUserTurns\": 2,\n  \"recentAssistantTurns\": 1,\n  \"timeoutMs\": 15000\n}\n```\n\n### 2. Memory Palace — Structured Views\n\nProvides multi-dimensional views of your agent's long-term memory:\n- **Timeline** — chronological view of work progress\n- **Projects** — aggregated by project\n- **Technology** — organized by tech domain\n- **Custom** — user-defined dimensions\n\n### 3. Dream ("},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn79vaxf67865vvvgkvydaf1j58257a6\",\n  \"slug\": \"memory-never-forget\",\n  \"version\": \"4.1.3\",\n  \"publishedAt\": 1776525675140\n}"},{"path":"references/memory-v2.md","content":"# Memory System v2.0 - Detailed Design\n\n> **⚠️ Legacy Reference** — This document describes the v2.0 design. The current version is v2.2 with Memory-Knowledge layering + Scientific memory loop (Encode→Consolidate→Retrieve) + Metacognitive training. See [SKILL.md](../SKILL.md) for the current design.\n\nBased on Atkinson-Shiffrin three-stage memory model (1968) + Community Optimizations (2026)\n\n## Theory Background\n\n### Atkinson-Shiffrin Model\n\n```\nSensory Memory → Short-Term Memory → Long-Term Memory\n   (0.25-2s)        (5-20s)            (Permanent)\n     ↓                   ↓                   ↓\n  Attention         Rehearsal          Consolidation\n```\n\n### Community Optimization (2026)\n\nBased on practical testing, the three-stage model has been optimized:\n\n| Metric | Before | After |\n|--------|--------|-------|\n| Task completion rate | 67% | 88% |\n| Response speed | 1x | 2x |\n| Retrieval accuracy | - | >70% |\n\n### Key Mechanisms\n\n1. **Information Filtering**: Selective attention filters sensory → short-term\n2. **Storage Maintenance**: Rehearsal maintains short-term and transfers to long-term\n3. **Capacity Limitations**: Each stage has capacity bottlenecks\n4. **Smart Caching**: Instant cache for 10 turns with priority-based retrieval\n\n## Implementation for AI\n\n### Stage 0: Instant Cache (v2.0 NEW)\n\n**Location**: Memory buffer / session context  \n**Capacity**: Last 10 conversation turns  \n**Duration**: Instant (cleared after 10 turns or new session)\n\n```\nUser Input → Check Cache → Cache Hit? → Use cached response\n                    ↓\n              Cache Miss? → Continue to sensory\n```\n\n**Characteristics**:\n- ⚡ Fastest response (priority 1)\n- Low memory footprint\n- Auto-cleared after 10 turns\n- Stores key context only\n\n---\n\n### Stage 1: Sensory Memory (Instant)\n\n**Location**: Tool call context / current input buffer  \n**Capacity**: Last 3-5 exchanges  \n**Duration**: Current turn only\n\n```\nUser Input → Parse → Understand Intent → Check Context → Respond\n                         ↑\n                    Recent history (3-5 turns)\n```\n\n**Characteristics**:\n- No persistence\n- Only maintains conversational flow\n- Auto-cleared after each response\n\n---\n\n### Stage 2: Short-Term Memory (Session + 7 Days)\n\n**Location**: session context + memory/YYYY-MM-DD.md  \n**Capacity**: Last 7 days of conversation  \n**Duration**: 7 days (then auto-cleanup)\n\n**v2.0 Optimization**:\n- 7-day retention period (tested with >70% accuracy)\n- Auto-cleanup after 7 days\n- Priority-based retrieval (check recent days first)\n\n**Location**: session context + memory/YYYY-MM-DD.md  \n**Capacity**: Today's full conversation  \n**Duration**: Current session + rest of day\n\n**When to Write**:\n- Every significant exchange\n- New tasks or requests\n- User preferences revealed\n- Decisions made\n\n**Writing Template**:\n```markdown\n## [Time] - Topic\n\n**User said**: [brief summary]\n**I did**: [action taken]\n**Remember**: [key point for future]\n```\n\n---\n\n### Stage 3: Long-Term Memory (Permanent)\n\n**Location*"},{"path":"references/templates.md","content":"# Memory Writing Templates v2.0\n\n> **⚠️ Legacy Reference** — These templates are from v2.0. The current version is v2.2 with additional templates for Memory-Knowledge layering, active consolidation, and metacognitive training. See [SKILL.md](../SKILL.md) for the current workflow.\n\nQuick reference templates for writing to memory files.\n\n## v2.0 Quick Reference\n\n| Priority | When | Write To | Template |\n|----------|------|----------|----------|\n| ⚡ 1 | Instant cache needed | Session buffer | Brief note |\n| 🔄 2 | Session start (today) | Today's memory | Session Start |\n| 🔄 3 | Session start (recent) | Last 7 days | Search first |\n| 📚 4 | User shares info | USER.md | User Profile Update |\n| 📚 5 | Promise made | todos.md + MEMORY.md | Commitment |\n| 📚 6 | User corrects me | MEMORY.md | User Correction |\n| 🗑️ | End of 7 days | Auto-cleanup | - |\n\n## Session Start Template\n\n```markdown\n# YYYY-MM-DD Daily Log\n\n## Session Start\n- Time: HH:MM\n- Context: [Previous session ended with...]\n- User: [Name from USER.md]\n```\n\n## Important Info Recording\n\n```markdown\n### [Time] - [Topic]\n\n**User said**: [Brief summary of user's key point]\n**Action taken**: [What I did]\n**Remember**: [Key point for future]\n\n**Why important**: [Context for future reference]\n```\n\n## Commitment/Promise Template\n\n```markdown\n## Commitment - [Date]\n\n**To**: [User name]\n**Promise**: [What will be done]\n**Deadline**: [When]\n**Status**: [Pending/In Progress/Done]\n\n*Consolidate to MEMORY.md after completion*\n```\n\n## User Correction Template\n\n```markdown\n## Correction - [Date]\n\n**What was wrong**: [Previous understanding]\n**Corrected to**: [New information]\n**Source**: [User corrected this]\n**Action**: Updated [relevant file]\n```\n\n## Daily Summary Template\n\n```markdown\n## End of Day Summary - [Date]\n\n### Tasks Completed\n- [ ] Task 1\n- [ ] Task 2\n\n### In Progress\n- [ ] Task A\n\n### Important to Remember\n1. [Key point 1]\n2. [Key point 2]\n\n### Follow Up Needed\n- [ ] Item for next session\n```\n\n## User Profile Update\n\n```markdown\n## User Profile Update - [Date]\n\n**User**: [Name]\n**New Information**:\n- [Field]: [Value]\n- [Field]: [Value]\n\n**Previous values updated**: [List if any]\n```\n\n## Knowledge Entry\n\n```markdown\n# [Topic] - Knowledge Base\n\n**Category**: [Domain/Type]\n**Source**: [Where this info came from]\n**Last Updated**: YYYY-MM-DD\n\n## Core Information\n[Key facts]\n\n## Details\n[Supporting details]\n\n## References\n- [Link or source]\n```\n\n---\n\n## Quick Reference Card\n\n| When | Write To | Template |\n|------|----------|----------|\n| Session start | Today's memory | Session Start |\n| User shares info | USER.md | User Profile Update |\n| Promise made | todos.md + MEMORY.md | Commitment |\n| User corrects me | MEMORY.md | User Correction |\n| End of day | Today's memory | Daily Summary |\n| Learn something new | knowledge/*.md | Knowledge Entry |\n\n---\n\n## Writing Guidelines\n\n1. **Be concise** - One sentence is better than paragraph\n2. **Include context** - Why this matters\n3. **Use timestamps** - W"},{"path":"skill-card.md","content":"## Description:\n\nMemory system v4.13: Dual-layer structure (todos for execution + knowledge for strategy) with Dream/Refinement memory mechanisms.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[jujitao](https://clawhub.ai/user/jujitao)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to give an OpenClaw agent durable, structured memory for user preferences, corrections, project decisions, references, and periodic memory review.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Durable memory may retain personal preferences, role details, corrections, and project decisions more broadly than expected.\n\nMitigation: Review the memory files before and after installation, and keep separate controls for deletion, review, and disabling recall.\n\nRisk: Stored context may be inappropriate for secrets, regulated data, confidential client material, or settings where cross-conversation recall is not acceptable.\n\nMitigation: Do not use the skill with sensitive or regulated content unless independent controls prevent storage and recall of that material.\n\nRisk: Recalled memories can become stale and conflict with the current workspace or user intent.\n\nMitigation: Verify referenced files, facts, and dates against current evidence before acting on memory-derived guidance.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/jujitao/skills/memory-never-forget)\n- [Memory System v2.0 - Detailed Design](artifact/references/memory-v2.md)\n- [Memory Writing Templates v2.0](artifact/references/templates.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown guidance with JSON configuration examples and shell command examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Produces durable memory entries and recall guidance; users should review stored memory content before relying on it across conversations.]\n\n## Skill Version(s):\n\n4.1.3 (source: server release evidence; artifact text references v4.13 and artifact _meta.json lists 4.12)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":2301,"uniquenessScore":42,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T04:20:14.839Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T04:20:14.839Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T00:37:12.500Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}