Files
syntaxbullet 91e5f44cc8 feat(memory): add memory extension with core functionality and tests
- 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.
2026-07-23 20:35:08 +02:00

2.0 KiB
Raw Permalink Blame History

name, description
name description
long-term-memory 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.
“Dont 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.