mirror of
https://github.com/basicmachines-co/basic-memory
synced 2026-06-21 13:47:35 +00:00
1.9 KiB
1.9 KiB
Basic Memory Tasks
Current Focus
Observation Management
Implement update/remove functionality for observations with a focus on maintainability and consistency with our "filesystem is source of truth" principle.
Options under consideration:
-
Bulk Update Approach
- Update all observations at once
- Pros:
- Simpler file operations
- No need to match on observation content
- Easier database synchronization
- Very consistent with "filesystem is source of truth"
- Cons:
- Less efficient - rewrites everything for small changes
- Potential concurrency implications
-
Tracked Observations Approach
- Use markdown comments for observation IDs
# Entity Name type: entity_type ## Observations - <!-- obs-id: abc123 --> This is an observation- Pros:
- Can track individual observations
- Enables precise updates/deletes
- Cons:
- More complex markdown parsing
- IDs visible in markdown
-
Diff-based Approach
- Implement observation-aware diffing
- Track changes at observation level
- Pros:
- More efficient updates
- Preserves manual edits
- Cons:
- More complex implementation
- Need to handle merge conflicts
-
Position-based Management
- Track observations by their position/order
- Pros:
- No need for explicit IDs
- Clean markdown
- Cons:
- Fragile if order changes
- Hard to handle concurrent edits
Completed
- Extract file operations to fileio.py module
- Update EntityService to use fileio functions
- Initial ObservationService implementation
- Basic test coverage
Future Work
- Implement observation updates/removals (exploring options above)
- Proper session management for concurrent operations
- EntityService tests using new fileio module
- More sophisticated search functionality
- Handle markdown formatting edge cases