- Layer 2 semantic search now queries both curated and raw types,
closing the blind spot for turns past the 50-turn window pre-curation
- Layer 3 skips turns already returned by Layer 2 to avoid duplicate
context and wasted token budget
- get_recent_turns uses Qdrant OrderBy for server-side timestamp sort
with payload index; fallback to client-side sort if unavailable
- Bump version to 2.0.4
- Fix bare except clauses in curator.py and main.py
- Change embedding model to snowflake-arctic-embed2
- Increase semantic_score_threshold to 0.6
- Add memory context explanation to systemprompt.md
- Add pytest dependencies to requirements.txt
- Remove unused context_handler.py and .env.example
- Add project documentation (CLAUDE.md) and test files
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>