You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(linkers,supply-chain): cobra package-level vars and Gradle workspace detection
Two fixes:
1. go_cobra_linker (WI-lihih): When a cobra.Command literal is inside
a package-level var declaration (the most common Go cobra pattern),
fall back to the enclosing variable symbol as the edge source. Previously
these were silently skipped because find_enclosing_symbol only looked
for function/method/class/module kinds.
2. supply_chain (WI-zizuf): detect_package_roots() now parses
settings.gradle / settings.gradle.kts include directives to detect
Gradle multi-project subprojects. Fixes degenerate tier distribution
on Gradle monorepos (e.g. Kafka) where all files were classified as
first_party because no workspace roots were detected.
Signed-off-by: jgstern-agent <josh-agent@iterabloom.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ This changelog tracks the **tool version** (package releases). The **schema vers
34
34
#### Cross-language linkers
35
35
36
36
-**`go_memberlist` linker** (WI-lojuf): `dispatches_to` edges from `memberlist.Create` to the 12 canonical delegate methods (`NotifyMsg`, `GetBroadcasts`, `LocalState`, etc.). Used by alertmanager, consul, nomad, serf, vault.
37
-
-**`go_cobra` linker** (WI-gohad): `dispatches_to` edges from `cobra.Command{…}` struct literals to handler functions in `Run`/`RunE`/`PreRun`/`PostRun` and `Persistent*` variants. Used by kubectl, helm, hugo, prometheus, terraform, docker.
37
+
-**`go_cobra` linker** (WI-gohad): `dispatches_to` edges from `cobra.Command{…}` struct literals to handler functions in `Run`/`RunE`/`PreRun`/`PostRun` and `Persistent*` variants. Used by kubectl, helm, hugo, prometheus, terraform, docker. Package-level `var cmd = &cobra.Command{…}` declarations (WI-lihih) now emit edges from the var symbol when no enclosing function exists.
38
38
39
39
#### Behavior map
40
40
@@ -48,6 +48,7 @@ This changelog tracks the **tool version** (package releases). The **schema vers
48
48
-**Go closure wrapper edges** (WI-nikul): route registrations through closure wrappers (e.g. `wrapAgent(api.query)`) emit `wraps` edges. Covers Gin/Echo/Fiber and Gorilla mux/stdlib.
49
49
-**Import-based framework validation**: manifest-detected frameworks cross-referenced against import edges. Test-only or unimported frameworks reclassified as `dev_frameworks`.
50
50
-**Go tier 2/3 classification via go.mod** (WI-vovuk): unresolved Go external references classified using `go.mod` — direct deps tier 2, indirect/stdlib tier 3. Language-agnostic `DependencyManifest` enables future extension.
51
+
-**Gradle multi-project workspace detection** (WI-zizuf): `detect_package_roots()` now parses `settings.gradle` / `settings.gradle.kts``include` directives. Gradle subprojects are classified as workspace members, fixing degenerate tier distribution on Gradle monorepos like Kafka.
51
52
-**Orchestration hub floor for symbol ranking**: functions with out-degree ≥ 20 get a minimum effective in-degree of `sqrt(out_degree) * 0.8`, preventing orchestration hubs (main, run, app) from being buried by within-file dampening.
52
53
-**Event edge type weights**: `event_subscribes`/`event_publishes` raised to 0.8 (was 0.5). `dispatches_to` added at 0.6.
0 commit comments