- Implemented MemoryStore class for managing concepts with YAML frontmatter. - Added methods for creating, reading, updating, and deleting concepts. - Introduced locking mechanism for concurrent access. - Developed search and hinting capabilities for concept retrieval. - Created tests for access control and store functionality. - Added long-term memory skill documentation and operational guidelines. - Included package.json and package-lock.json for dependency management.
36 lines
2.0 KiB
Markdown
36 lines
2.0 KiB
Markdown
---
|
||
name: long-term-memory
|
||
description: Use Kimiko's durable OKF memory when the user asks to remember, forget, or recall something; refers to prior conversations; asks about a known person, project, preference, or decision; states a durable correction or preference; or says something is off the record. Do not use for current-turn-only facts.
|
||
---
|
||
|
||
# Long-term memory
|
||
|
||
## Decision table
|
||
|
||
| Situation | Action |
|
||
|---|---|
|
||
| Explicit “remember this” | Search for duplicates; read a matching concept; then write. |
|
||
| Explicit recall or “what do you remember?” | Search, then read only relevant concepts. |
|
||
| Reference to an earlier conversation | Search before answering. |
|
||
| Stable preference or correction | Ask whether to remember it unless storage was explicitly requested. |
|
||
| Confirmed long-lived project decision | Offer to remember it. |
|
||
| New information conflicts with memory | Clarify; never silently overwrite. |
|
||
| Transient task, speculation, or casual remark | Do not store. |
|
||
| Credential, secret, or sensitive fact | Do not store without an explicit informed request. |
|
||
| “Don’t remember this” or “off the record” | Do not store it. |
|
||
| Explicit forget request | Search, read, then forget with exact-ID confirmation. |
|
||
|
||
Store only information likely to matter in another session, sufficiently stable, and explicitly requested or confirmed.
|
||
|
||
## Workflow
|
||
|
||
1. Call `memory_search` in the current user turn. Retrieval hints do not replace this step.
|
||
2. Call `memory_read` only for relevant IDs. Existing concepts must be read before update or deletion.
|
||
3. Write one coherent concept with `memory_write`; update an existing ID rather than duplicating it.
|
||
4. Use structured Markdown and explicit links such as `[Atlas](/projects/atlas.md)`.
|
||
5. After mutation, tell the user briefly which concept was created, updated, or forgotten.
|
||
|
||
Never author frontmatter, timestamps, indexes, or logs. The extension generates, validates, repairs, and verifies them deterministically.
|
||
|
||
For diagnostics and recovery policy, read [operations.md](references/operations.md).
|