Background
Inspired by Hindsight's biomimetic memory design. Currently soul.py stores all memories as undifferentiated text. Adding a memory_type field would allow more precise retrieval and filtering.
Proposed types
world — general facts ('Python is a programming language')
experience — agent's first-person encounters ('User asked about Python 3 times today')
opinion — beliefs with confidence score ('User prefers Python over JS, confidence: 0.85')
mental_model — synthesized understanding built from reflect() operation
Changes needed
- Add
memory_type field to storage schema
- Update
remember() API to accept optional memory_type
- Update
recall() to support filtering by type
- Auto-classify type using LLM when not specified
Priority
High — foundational for reflect() and confidence scores features
Background
Inspired by Hindsight's biomimetic memory design. Currently soul.py stores all memories as undifferentiated text. Adding a
memory_typefield would allow more precise retrieval and filtering.Proposed types
world— general facts ('Python is a programming language')experience— agent's first-person encounters ('User asked about Python 3 times today')opinion— beliefs with confidence score ('User prefers Python over JS, confidence: 0.85')mental_model— synthesized understanding built from reflect() operationChanges needed
memory_typefield to storage schemaremember()API to accept optionalmemory_typerecall()to support filtering by typePriority
High — foundational for reflect() and confidence scores features