Hi jaytoone,
I really liked the retrieval algorithm in CTX and forked it to harden the Claude Code hook implementation for production use:
https://github.com/hang-in/tunaCtx
Retrieval logic is unchanged. The work focused on:
- Decomposing bm25-memory.py (1837 LOC) into orchestrator + 11 sub-modules under _bm25/
- Unifying BM25 tokenizer/scoring between eval and production paths
- Adding 82 unit tests + 26 golden fixture regression guards
- Safety hardening (sqlite_vec fallback, deterministic sort, atomic install with hash-based update)
Original copyright (MIT) is preserved in LICENSE, and the README explicitly credits this as a fork.
If any of these changes look useful for upstream, I'd be happy to extract them as PRs. No pressure either way — happy to keep it as a downstream fork too.
Thanks for the great tool.
Hi jaytoone,
I really liked the retrieval algorithm in CTX and forked it to harden the Claude Code hook implementation for production use:
https://github.com/hang-in/tunaCtx
Retrieval logic is unchanged. The work focused on:
Original copyright (MIT) is preserved in LICENSE, and the README explicitly credits this as a fork.
If any of these changes look useful for upstream, I'd be happy to extract them as PRs. No pressure either way — happy to keep it as a downstream fork too.
Thanks for the great tool.