codebase-rag
A Python RAG system for chatting with codebases: chunking source code into a vector store, then using LLMs for semantic search and natural-language Q&A over code.
Roy Zhu · Waterloo, ON
Seventeen years of commerce, gaming, and platform engineering, from Beijing-scale distributed systems to a single SQLite file. Now consulting from Waterloo, learning every new field the same way: build something real, find where it breaks, write down what holds up.
A Python RAG system for chatting with codebases: chunking source code into a vector store, then using LLMs for semantic search and natural-language Q&A over code.
A TypeScript multi-channel AI agent runtime: Telegram and Discord connected to one runtime with session persistence, task scheduling, job resumption, and structured observability.
How to fix SQLite database locks when multiple AI agents write to memory simultaneously, using WAL mode, threading.local, and application-layer RLocks.
Why Neo4j is overkill for a personal AI agent's memory, and how to implement fast, multi-hop context retrieval using BFS in pure Python over SQLite.
Why LLM extraction fails at knowledge graphs, and how a cascade of exact aliases, embeddings, and string fallback keeps local SQLite graphs clean.
How membox chose its libraries, organized its modules, and used typing.Protocol to keep the core dependency-free while staying testable and extensible.