diff --git a/README.md b/README.md
index fe8a37ed..ea5e993f 100644
--- a/README.md
+++ b/README.md
@@ -588,22 +588,76 @@ Codegraph also extracts symbols from common callback patterns: Commander `.comma
Self-measured on every release via CI ([build benchmarks](generated/benchmarks/BUILD-BENCHMARKS.md) | [embedding benchmarks](generated/benchmarks/EMBEDDING-BENCHMARKS.md) | [query benchmarks](generated/benchmarks/QUERY-BENCHMARKS.md) | [incremental benchmarks](generated/benchmarks/INCREMENTAL-BENCHMARKS.md) | [resolution precision/recall](tests/benchmarks/resolution/)):
-*Last updated: v3.9.1 (2026-04-06)*
+*Last updated: v3.9.2 (2026-04-09)*
| Metric | Native | WASM |
|---|---|---|
-| Build speed | **10.2 ms/file** | **13.7 ms/file** |
-| Query time | **23ms** | **36ms** |
-| No-op rebuild | **17ms** | **15ms** |
-| 1-file rebuild | **767ms** | **639ms** |
-| Query: fn-deps | **2.2ms** | **2.2ms** |
-| Query: path | **2.2ms** | **2.2ms** |
-| ~50,000 files (est.) | **~510.0s build** | **~685.0s build** |
-| Resolution precision | **100.0%** | — |
-| Resolution recall | **71.1%** | — |
+| Build speed | **15.7 ms/file** | **15 ms/file** |
+| Query time | **27ms** | **40ms** |
+| No-op rebuild | **9ms** | **20ms** |
+| 1-file rebuild | **558ms** | **624ms** |
+| Query: fn-deps | **2.3ms** | **2.4ms** |
+| Query: path | **2.5ms** | **2.4ms** |
+| ~50,000 files (est.) | **~785.0s build** | **~750.0s build** |
+| Resolution precision | **90.7%** | — |
+| Resolution recall | **42.9%** | — |
Metrics are normalized per file for cross-version comparability. Times above are for a full initial build — incremental rebuilds only re-parse changed files.
+Per-language resolution precision/recall
+
+| Language | Precision | Recall | TP | FP | FN | Edges | Dynamic |
+|----------|----------:|-------:|---:|---:|---:|------:|--------:|
+| javascript | 100.0% | 66.7% | 12 | 0 | 6 | 18 | 14/28 |
+| typescript | 100.0% | 75.0% | 15 | 0 | 5 | 20 | — |
+| bash | 100.0% | 100.0% | 12 | 0 | 0 | 12 | 0/1 |
+| c | 100.0% | 100.0% | 9 | 0 | 0 | 9 | — |
+| clojure | 80.0% | 26.7% | 4 | 1 | 11 | 15 | — |
+| cpp | 100.0% | 57.1% | 8 | 0 | 6 | 14 | — |
+| csharp | 100.0% | 52.6% | 10 | 0 | 9 | 19 | — |
+| cuda | 50.0% | 33.3% | 4 | 4 | 8 | 12 | — |
+| dart | 0.0% | 0.0% | 0 | 0 | 18 | 18 | — |
+| elixir | 0.0% | 0.0% | 0 | 0 | 15 | 15 | — |
+| erlang | 100.0% | 100.0% | 12 | 0 | 0 | 12 | — |
+| fsharp | 0.0% | 0.0% | 0 | 9 | 12 | 12 | — |
+| gleam | 100.0% | 26.7% | 4 | 0 | 11 | 15 | — |
+| go | 100.0% | 69.2% | 9 | 0 | 4 | 13 | 13/14 |
+| groovy | 100.0% | 7.7% | 1 | 0 | 12 | 13 | — |
+| haskell | 100.0% | 33.3% | 4 | 0 | 8 | 12 | — |
+| hcl | 0.0% | 0.0% | 0 | 0 | 2 | 2 | — |
+| java | 100.0% | 52.9% | 9 | 0 | 8 | 17 | — |
+| julia | 0.0% | 0.0% | 0 | 0 | 15 | 15 | — |
+| kotlin | 92.3% | 63.2% | 12 | 1 | 7 | 19 | — |
+| lua | 100.0% | 15.4% | 2 | 0 | 11 | 13 | — |
+| objc | 0.0% | 0.0% | 0 | 1 | 12 | 12 | — |
+| ocaml | 100.0% | 8.3% | 1 | 0 | 11 | 12 | — |
+| php | 100.0% | 31.6% | 6 | 0 | 13 | 19 | — |
+| python | 100.0% | 60.0% | 9 | 0 | 6 | 15 | 15/15 |
+| r | 100.0% | 100.0% | 11 | 0 | 0 | 11 | — |
+| ruby | 100.0% | 100.0% | 11 | 0 | 0 | 11 | 11/11 |
+| rust | 100.0% | 35.7% | 5 | 0 | 9 | 14 | — |
+| scala | 100.0% | 71.4% | 5 | 0 | 2 | 7 | — |
+| solidity | 33.3% | 7.7% | 1 | 2 | 12 | 13 | — |
+| swift | 75.0% | 42.9% | 6 | 2 | 8 | 14 | 9/9 |
+| tsx | 100.0% | 100.0% | 13 | 0 | 0 | 13 | — |
+| verilog | 0.0% | 0.0% | 0 | 0 | 4 | 4 | — |
+| zig | 0.0% | 0.0% | 0 | 0 | 15 | 15 | — |
+
+**By resolution mode (all languages):**
+
+| Mode | Resolved | Expected | Recall |
+|------|--------:|---------:|-------:|
+| module-function | 16 | 106 | 15.1% |
+| receiver-typed | 17 | 104 | 16.3% |
+| static | 66 | 93 | 71.0% |
+| same-file | 48 | 86 | 55.8% |
+| interface-dispatched | 7 | 12 | 58.3% |
+| class-inheritance | 0 | 4 | 0.0% |
+| trait-dispatch | 0 | 2 | 0.0% |
+| package-function | 1 | 1 | 100.0% |
+
+
+
### Lightweight Footprint
diff --git a/generated/benchmarks/BUILD-BENCHMARKS.md b/generated/benchmarks/BUILD-BENCHMARKS.md
index 84da09da..8442460f 100644
--- a/generated/benchmarks/BUILD-BENCHMARKS.md
+++ b/generated/benchmarks/BUILD-BENCHMARKS.md
@@ -5,6 +5,8 @@ Metrics are normalized per file for cross-version comparability.
| Version | Engine | Date | Files | Build (ms/file) | Query (ms) | Nodes/file | Edges/file | DB (bytes/file) |
|---------|--------|------|------:|----------------:|-----------:|-----------:|-----------:|----------------:|
+| 3.9.2 | native | 2026-04-09 | 727 | 15.7 ↑54% | 26.6 ↑14% | 25.3 ↓10% | 51.4 ↓10% | 41028 ↓15% |
+| 3.9.2 | wasm | 2026-04-09 | 727 | 15 ↑9% | 40.1 ↑13% | 24 ↓15% | 49.2 ↓14% | 38256 ↓16% |
| 3.9.1 | native | 2026-04-06 | 570 | 10.2 ↓20% | 23.4 ↓23% | 28.1 ↑3% | 56.9 ↑5% | 48433 ↑8% |
| 3.9.1 | wasm | 2026-04-06 | 570 | 13.7 ↑5% | 35.6 ↑16% | 28.1 ↑3% | 56.9 ↑5% | 45717 ↑2% |
| 3.9.0 | native | 2026-04-04 | 567 | 12.8 ↓4% | 30.4 ↑5% | 27.3 ~ | 54 ↑14% | 44666 ↑2% |
@@ -59,38 +61,38 @@ Metrics are normalized per file for cross-version comparability.
| Metric | Value |
|--------|-------|
-| Build time | 5.8s |
-| Query time | 23ms |
-| Nodes | 16,031 |
-| Edges | 32,445 |
-| DB size | 26.3 MB |
-| Files | 570 |
+| Build time | 10.5s |
+| Query time | 27ms |
+| Nodes | 16,879 |
+| Edges | 34,281 |
+| DB size | 26.1 MB |
+| Files | 727 |
#### WASM
| Metric | Value |
|--------|-------|
-| Build time | 7.8s |
-| Query time | 36ms |
-| Nodes | 16,031 |
-| Edges | 32,445 |
-| DB size | 24.9 MB |
-| Files | 570 |
+| Build time | 10.9s |
+| Query time | 40ms |
+| Nodes | 17,438 |
+| Edges | 35,744 |
+| DB size | 26.5 MB |
+| Files | 727 |
### Build Phase Breakdown (latest)
| Phase | Native (build) | WASM (build) | Native (1-file) | WASM (1-file) |
|-------|---------------:|-------------:|----------------:|--------------:|
-| Parse | 3382.4 ms | 3103.6 ms | 338.9 ms | 272.6 ms |
-| Insert nodes | 406.8 ms | 346.4 ms | 49 ms | 20.8 ms |
-| Resolve imports | 14.1 ms | 15.8 ms | 2.2 ms | 1.9 ms |
-| Build edges | 234.5 ms | 218.1 ms | 49.8 ms | 31.5 ms |
-| Structure | 49.6 ms | 62.3 ms | 28.7 ms | 31.6 ms |
-| Roles | 86.8 ms | 84.9 ms | 80.7 ms | 83.1 ms |
-| AST nodes | 283.3 ms | 730.3 ms | 11.9 ms | 1.4 ms |
-| Complexity | 61.7 ms | 1077.6 ms | 0.3 ms | 0.7 ms |
-| CFG | 309.7 ms | 1076.7 ms | 0.7 ms | 0.4 ms |
-| Dataflow | 904 ms | 834.7 ms | 0.3 ms | 0.6 ms |
+| Parse | 600.1 ms | 4898.5 ms | 53.4 ms | 263.4 ms |
+| Insert nodes | 363.1 ms | 989.5 ms | 25.9 ms | 21.6 ms |
+| Resolve imports | 3.6 ms | 18.6 ms | 0.7 ms | 2 ms |
+| Build edges | 196.8 ms | 272.5 ms | 30.1 ms | 32.9 ms |
+| Structure | 111 ms | 754.4 ms | 121.4 ms | 39.4 ms |
+| Roles | 76.4 ms | 91.6 ms | 76.2 ms | 81.6 ms |
+| AST nodes | 1436.3 ms | 756.4 ms | 26 ms | 0.8 ms |
+| Complexity | 596.4 ms | 1002.4 ms | 3.2 ms | 0.7 ms |
+| CFG | 1464.2 ms | 1069.7 ms | 53.5 ms | 0.4 ms |
+| Dataflow | 932.4 ms | 844.9 ms | 30.6 ms | 0.7 ms |
### Estimated performance at 50,000 files
@@ -98,15 +100,17 @@ Extrapolated linearly from per-file metrics above.
| Metric | Native (Rust) | WASM |
|--------|---:|---:|
-| Build time | 510.0s | 685.0s |
-| DB size | 2309.5 MB | 2180.0 MB |
-| Nodes | 1,405,000 | 1,405,000 |
-| Edges | 2,845,000 | 2,845,000 |
+| Build time | 785.0s | 750.0s |
+| DB size | 1956.4 MB | 1824.2 MB |
+| Nodes | 1,265,000 | 1,200,000 |
+| Edges | 2,570,000 | 2,460,000 |
### Incremental Rebuilds
| Version | Engine | No-op (ms) | 1-file (ms) |
|---------|--------|----------:|-----------:|
+| 3.9.2 | native | 9 ↓47% | 558 ↓27% |
+| 3.9.2 | wasm | 20 ↑33% | 624 ↓2% |
| 3.9.1 | native | 17 ↑113% | 767 ↑36% |
| 3.9.1 | wasm | 15 ~ | 639 ↑14% |
| 3.9.0 | native | 8 ~ | 562 ↑1238% |
@@ -153,6 +157,8 @@ Extrapolated linearly from per-file metrics above.
| Version | Engine | fn-deps (ms) | fn-impact (ms) | path (ms) | roles (ms) |
|---------|--------|------------:|--------------:|----------:|----------:|
+| 3.9.2 | native | 2.3 ↑5% | 2.4 ↑4% | 2.5 ↑14% | 33.2 ↑30% |
+| 3.9.2 | wasm | 2.4 ↑9% | 2.4 ↑9% | 2.4 ↑9% | 35.4 ↑35% |
| 3.9.1 | native | 2.2 ↑5% | 2.3 ↑5% | 2.2 ~ | 25.5 ~ |
| 3.9.1 | wasm | 2.2 ↑5% | 2.2 ~ | 2.2 ↑5% | 26.3 ~ |
| 3.9.0 | native | 2.1 ↓5% | 2.2 ~ | 2.2 ~ | 25.9 ↓13% |
@@ -252,6 +258,947 @@ pre-parse that previously added ~388ms on native builds.