As a heavy LLM user in my daily work, I've been working on optimizing agent memory on complex projects. That resulted in this simple Rust-based tool called Wayfinder: https://github.com/zaterka/wayfinder
I've been trying to improve agent knowledge over a codebase, and existing approaches weren't giving the result I wanted, and I wanted to keep it simple. In the end, I added a semantic layer on top of an LLM Wiki and it saved 30% of token usage in multiple benchmarks I ran. It also adds some nice features to deal with concurring agents updating the shared memory, to ensure all information there is reliable and fresh.
It's published to PyPi, so an "uv tool install wayfinder-memory" already does all the work, and it's compatible with almost all Harnesses.
This is super cool, I've been thinking in this direction as well.
The codebase memory knowledge graph should be maintained alongside the codebase whenever possible, which basically means checking the graph into the repo alongside the code, or some other architecture that has an equivalent effect. But then it complicates the design of the retrieval indexing; I think your SQLite rebuild idea might work for that though.
I have a question for your design: since your knowledge graph is checked into Git and therefore Git worktrees should already isolate them and resolve conflicts between branches, why did you include the section about concurrent agents as well? Is that for maintaining the SQLite index which is not checked in?