- Unify skip detection to a binary classifier (personal vs non-personal)
for improved maintainability and clarity. Remove multiple technical/
instruction/translation/etc. categories and consolidate into
NON_PERSONAL and PERSONAL.
- Adjust skip detection margin for more precise classification.
- Add semantic deduplication for memory operations using embedding
similarity, preventing duplicate memory creation and updates.
- Normalize and validate embedding dimensions for robustness.
- Add per-user async locks to prevent race conditions during memory
consolidation.
- Refactor requirements.txt to remove version pinning for easier
dependency management.
- Improve logging and error handling for embedding and deduplication
operations.
These changes improve the reliability and accuracy of memory
classification and deduplication, reduce false positives in skip
detection, and prevent duplicate or conflicting memory operations in
concurrent environments. Dependency management is simplified for
compatibility.
Introduce a dev-check.sh script to automate code formatting and import
sorting using Black and isort. Add a pyproject.toml file to configure
Black and isort settings for consistent code style. Update
requirements.txt to include Black and isort as development dependencies
and remove version pinning for easier dependency management.
These changes streamline the development workflow, enforce code style
consistency, and make it easier for contributors to run formatting and
import checks locally.