What's New
Tree Memory Backend (O(log N))
- HyperbolicMemoryTree with B-tree splitting and per-depth beam search
- 100% recall on Needle-in-a-Haystack at all context lengths (60/60)
- ~3.7ms recall at 500 turns, ~2.5ms average
- Euclidean key storage for internal nodes (fixes hyperbolic averaging collapse)
Insert Speed Optimization
- Batched log_map: 85% faster inserts at 1K facts
- Lazy ancestor updates with dirty flags (_mark_dirty\ / _flush_updates)
- Defaults tuned: branching_factor 4, max_depth 20
Integration
- \IcmLlm\ supports both backends: --memory-backend flat\ (default) or \ ree\
- SQLite persistence: memory_backend stored/restored in session metadata
- CLI: \icm-chat --memory-backend tree, \icm-server --memory-backend tree\
- Demo: \icm-demo --memory-backend tree\ with topic-anchored embeddings
Viral Launch
- Colab notebook: \icm_demo.ipynb\ with flat + tree + NIAH demos
- GitHub Actions CI + PyPI auto-publish
- Social preview card, CITATION.cff, CONTRIBUTING.md
- Share buttons: Tweet, HN, Reddit, Product Hunt
Fixes
- Similarity direction: beam search/routing/splitting now sort ascending (closest first)
- Double-padding in _best_child: removed duplicate [0]\ dim expansion
- SQLite persist: memory_backend routed through metadata dict
- icm-demo tree: topic-anchored embeddings for correct (non-random) recall
81 tests passing | 100% NIAH recall | Any HuggingFace model