feat(impact): cross-language blast-radius coverage (22 languages + 14 frameworks) (#708)
Completes the cross-file dependency graph behind impact / affected / explore across all 22 supported languages and 14 web frameworks, validated on real-world repos (measured fair-coverage table added to the README). Per-language resolution + framework resolvers/synthesizers (Lua/Luau require, Shopify OS 2.0 Liquid sections, Delphi forms, Rust cross-module + Rocket macros, Swift Fluent, SvelteKit/Nuxt loader/component conventions, RN/Expo bridges). 0 cross-family false edges, full suite green (1187 passed). See #708. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
bfa84d32b8
commit
07af3db6c7
@@ -636,6 +636,36 @@ is written):
|
||||
| Lua | `.lua` | Full support (functions, methods with receivers, local variables, `require` imports, call edges) |
|
||||
| Luau | `.luau` | Full support (everything in Lua, plus `type`/`export type` aliases, typed signatures, and Roblox instance-path `require`) |
|
||||
|
||||
## Measured cross-file coverage
|
||||
|
||||
Impact and blast-radius queries are only as good as the dependency graph behind them, so coverage is measured rather than asserted. **Fair coverage** = the share of symbol-bearing source files that have at least one *resolved cross-file dependent* — something that imports, calls, references, or (through a framework convention) routes to them — on a real-world benchmark repo per language. The residual is always a genuine static-analysis frontier (runtime dynamic dispatch, reflection / DI containers, framework-convention entry points, vendored third-party code), never hidden by gaming the denominator.
|
||||
|
||||
| Language | Benchmark repo | Coverage |
|
||||
|---|---|---|
|
||||
| TypeScript / JavaScript | this repo | 95.8% |
|
||||
| Python | psf/requests | 100% |
|
||||
| Go | gin-gonic/gin | 96.6% |
|
||||
| Rust | BurntSushi/ripgrep | 86.7% |
|
||||
| Java | google/gson | 93.3% |
|
||||
| C# | jbogard/MediatR | 85.2% |
|
||||
| PHP | guzzle/guzzle | 100% |
|
||||
| Ruby | sidekiq/sidekiq | 100% |
|
||||
| C | redis/redis | 92.2% |
|
||||
| C++ | google/leveldb | 94.8% |
|
||||
| Objective-C | SDWebImage | 91.6% |
|
||||
| Swift | Alamofire | 95.3% |
|
||||
| Kotlin | square/okhttp | 96.2% |
|
||||
| Scala | gatling/gatling | 91.2% |
|
||||
| Dart | flutter/packages | 92.4% |
|
||||
| Svelte / SvelteKit | sveltejs/realworld | 100% |
|
||||
| Vue / Nuxt | nuxt/movies | 93.5% |
|
||||
| Lua | nvim-telescope/telescope.nvim | 84.2% |
|
||||
| Luau | dphfox/Fusion | 92.2% |
|
||||
| Liquid | Shopify/dawn | 73.8% |
|
||||
| Pascal / Delphi | PascalCoin | 75.7% |
|
||||
|
||||
Framework routing is validated the same way, on a canonical app per framework: Express 100%, FastAPI 98%, Flask 100%, NestJS 96.8%, Gin 96.5%, Axum 100%, Rocket 93.8%, Vapor 100%, Laravel 92%, Rails 89.6%, React Router 100% — and the convention/reflection-heavy ones at their honest static-analysis ceiling: ASP.NET 83.9%, Spring 83.3%, Drupal 78.9%, Django 74.1%.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
**"CodeGraph not initialized"** — Run `codegraph init` in your project directory first.
|
||||
|
||||
Reference in New Issue
Block a user