| name | lev-memory |
| description | Contract surface for Lev's 4-slot memory model (working, episodic, semantic, procedural) with pluggable providers. |
| triggers | ["lev memory","write memory","memory slot","episodic memory","semantic memory","procedural memory","working memory","memory provider","memory contract"] |
| source_flow | lev-memory.flow.yaml |
| generated | true |
lev-memory
Contract surface for Lev's 4-slot memory model (working, episodic, semantic, procedural) with pluggable providers.
Symmetric peer to /lev-find and /lev-index on the retrieval side. Treats /cm
(CASS wrapper) and /cass-memory as backend providers under a single write/model
contract. Absorbs hm-04 (memory-provider composition) from hermes. Fixes the
skill-graph taxonomy asymmetry: 5 retrieval skills, 0 first-class write.
Quick Start
lev exec --flow lev-memory
Source of Truth
- dna/skills/lev-memory.intent.yaml
- dna/core/memory.dna.yaml
- core/domain/src (memory port types — when they land)
Steps
- Resolve slot: working | episodic | semantic | procedural
- Select provider: built-in (default) or registered plugin (e.g. cm/cass, notion)
- Validate write against slot schema (type, size, TTL constraints)
- Execute write through provider adapter
- Emit memory.{slot}.write LevEvent on core/event-bus
- Apply promotion rules: working → episodic on dwell-time; episodic → semantic on frequency
- Enforce eviction: per-slot TTL, LRU under pressure
Done Condition
- Criteria: All 4 slots addressable through one contract AND ≥2 providers wired AND promotion rules documented and tested
- Metric: slot_working_addressable
- Metric: slot_episodic_addressable
- Metric: slot_semantic_addressable
- Metric: slot_procedural_addressable
- Metric: provider_count_ge_2
- Metric: promotion_rules_documented
- Metric: eviction_rules_enforced