Skip to content

feat: tools, CLI, visualization, and infrastructure integration#250

Open
gzenz wants to merge 6 commits intotirth8205:mainfrom
gzenz:feat/tools-cli-infrastructure
Open

feat: tools, CLI, visualization, and infrastructure integration#250
gzenz wants to merge 6 commits intotirth8205:mainfrom
gzenz:feat/tools-cli-infrastructure

Conversation

@gzenz
Copy link
Copy Markdown
Contributor

@gzenz gzenz commented Apr 12, 2026

Summary

  • MCP 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
  • 71 regression tests (test_pain_points.py) + 467-line robustness suite (test_hardened.py)

Split from #158 (5/5). Depends on #246, #247, #248, #249 being merged first.

Test plan

  • 955 tests pass (full suite including all prior PRs), 0 failures
  • Ruff + mypy + bandit clean
  • Schema sync passes

🤖 Generated with Claude Code

gzenz added 5 commits April 12, 2026 10:23
…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
@gzenz gzenz force-pushed the feat/tools-cli-infrastructure branch from 38ac472 to b282307 Compare April 12, 2026 08:30
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
@gzenz gzenz force-pushed the feat/tools-cli-infrastructure branch from b282307 to cc920cb Compare April 12, 2026 08:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant