-
Notifications
You must be signed in to change notification settings - Fork 2
Closed
Labels
bugSomething isn't workingSomething isn't workingdogfoodFound during dogfoodingFound during dogfooding
Description
Found during dogfooding v3.1.2
Severity: Medium
Command: codegraph build --engine native / codegraph stats
Reproduction
codegraph build <repo> --engine wasm --no-incremental
codegraph stats --json | jq '.edges.byKind["dynamic-imports"]'
# → 99
codegraph build <repo> --engine native --no-incremental
codegraph stats --json | jq '.edges.byKind["dynamic-imports"]'
# → 0Expected behavior
Native engine should produce the same dynamic-imports edges as WASM (99 edges for codegraph self-analysis).
Actual behavior
Native engine produces 0 dynamic-imports edges. WASM correctly produces 99.
Root cause
The v3.1.2 feature "track dynamic import() expressions as dynamic-imports graph edges" (#389) was implemented in the JS/WASM builder path but the Rust native engine was not updated to extract and emit dynamic import edges.
Impact
- Dead-export analysis has false positives on native builds (symbols consumed only via dynamic imports appear unused)
- Impact tracing misses dynamic import paths on native builds
- Engine parity gap: native reports 43 unused exports vs WASM's 25
Suggested fix
Add dynamic import detection to the Rust edge builder — look for import(...) call expressions and emit dynamic-imports edges.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingdogfoodFound during dogfoodingFound during dogfooding