Repository navigation
Using mature code indexing #10
Replies: 4 comments 2 replies
|
Some research throws this up. I am skeptical about dropping Joern but we can go ahead with below for now and run experiments with other tools later. The Winning "Twin-Engine" SetupBy dropping the legacy Joern setup, you are left with two highly optimized, complementary MCP servers that perfectly balance your agent's cognitive needs. 1. The Structural Engine: `codebase-memory-mcp Role: High-accuracy structural mapping. 2. The Semantic Engine: `code-memory Role: Offline local semantic/vector search. ** 3. Consider 'Graphify' as alternatitive to 'code-memory'** |
|
Hey @kcramakrishna ! Great project! I was looking for solutions to the specification drift problem ( the code has evolved, but the docs still talk about stale decisions ), and landed here. Found this thread while browsing open issues to look for things I can contribute to. I'm currently part of the team working on https://github.com/infino-ai/code-context which is local first, and solves this exact problem ( Obviously not as powerful as Joern, but could be a good fit for "2. The Semantic Engine" ). Would you be interested in trying this out if I open up a PR with the integration? |
Our harness can use a lightweight 'inbuilt' , 'real-time' code indexer to index between passes.Considered ast-grep/napi and web-tree-sitter. We will start with napi and later go on to look at web-tree-sitter.Napi supports all major languages. Maybe let user pick his tool during install time. |
|
I think making code indexing a configurable layer of the harness makes a lot of sense, especially if the goal is to support cheaper or local models. One thing I'd consider is separating indexing from retrieval/context construction. A mature indexer could provide things like:
The harness could then use that information to construct the context for a particular task instead of relying primarily on the model's own repository search. This could also make the impactanalysis use case from #11 much more deterministic. For example, before modifying a function, the harness could query the index for callers, implementations, tests and dependent modules and explicitly provide that context to the model. I'd probably avoid coupling the harness directly to one indexing implementation, though. A small adapter/interface around the index would make it possible to experiment with different backends (OpenCode/Aider-style indexing, Joern, language-specific indexes, etc.) and choose one depending on the project. The interesting part would be benchmarking this: same task + same model, with and without indexed context. If the indexed version consistently improves results for smaller models, that would be a pretty strong argument for making this a firstclass harness component. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Consider Mature codeindexing to override coding-cli inbuilt features.
Compare inbuilt code-indexing of opencode, aider etc with more mature tools like Joern etc and integrate these into our harness. Maybe make this configurable. I think that the harness results will be significantly better with better code indexing. This integration will be a big factor in allowing us to use cheaper (or local) models for coding. i.e. accurate context will be crucial in getting excellent results from cheaper (or local) models too.
This will help greatly with impact analysis discussed here: #11
All reactions