feat: tools, CLI, visualization, and infrastructure integration#250
Open
gzenz wants to merge 6 commits intotirth8205:mainfrom
Open
feat: tools, CLI, visualization, and infrastructure integration#250gzenz wants to merge 6 commits intotirth8205:mainfrom
gzenz wants to merge 6 commits intotirth8205:mainfrom
Conversation
5 tasks
…ements Refactor parser.py to use a strategy pattern for language-specific logic: - Add BaseLanguageHandler with 7-method interface (get_name, get_bases, extract_import_targets, collect_import_names, resolve_module, extract_constructs, builtin_names) - 21 handler implementations in code_review_graph/lang/ for all supported languages including new Luau support - Thread-safe handler registration and type-set caching Parser accuracy improvements: - Typed variable call resolution for Python, Kotlin, Java, JS/TS - Star import expansion via __all__ or module-level definitions - Method call noise filtering via _INSTANCE_METHOD_BLOCKLIST (48 methods) - Function/class reference detection in call args and return values - Angular .component.html template parsing - Dart call extraction for non-standard AST structure - Receiver filtering (self/cls/this/super/uppercase)
Add jedi_resolver.py that enriches the call graph after build by using Jedi's static analysis to resolve Python method calls that tree-sitter alone cannot determine (e.g. factory return types, dynamic dispatch). - Lazy-imports jedi (optional dependency via [enrichment] extra) - Pre-filters call targets to skip stdlib, reducing runtime from ~36s to ~3s - Adds CALLS edges for resolved method calls with jedi_resolved=true marker - Integrates as a post-build step, not a parser dependency
Add enrich.py that enriches Grep/Glob/Read results with graph context: - Automatically appends callers, callees, test coverage, and community info to search results matching known graph nodes - Uses FTS5 for fast symbol lookup against the graph database - Designed as a PreToolUse hook for Claude Code integration
Community detection: resolution scaling, file-based fallback grouping. Flow analysis: improved entry points, criticality scoring, env config. Dead code: framework-aware FP reduction (_FRAMEWORK_BASE_CLASSES). Graph store: configurable BFS limits, SQL engine option, constants.py. DB migrations: v7 no-op stub, v8 composite edge index. VSCode extension schema version bumped to v8.
…eat/search-enrichment' and 'feat/graph-algorithms' into feat/tools-cli-infrastructure
38ac472 to
b282307
Compare
Wire together all new modules into the CLI, MCP tools, and build pipeline: Tools: get_minimal_context, improved build/query/review tools CLI: jedi-enrich subcommand, skill/hook installation, visualization flags Skills: PreToolUse enrichment hooks, updated CLAUDE.md injection Visualization: D3.js interactive HTML graph with SRI integrity Incremental: improved change detection, file watching, git integration Prompts: updated MCP prompt templates for all 5 workflows Pain points: 71 regression tests covering real-world edge cases Hardened: robustness test suite
b282307 to
cc920cb
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Split from #158 (5/5). Depends on #246, #247, #248, #249 being merged first.
Test plan
🤖 Generated with Claude Code