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
Version: 0.11.0 (release). Also reproduced on main @ 96c3f41 built from source.
Platform
Linux (x64)
Install channel
GitHub release archive / install.sh / install.ps1
Binary variant
standard
What happened, and what did you expect?
Outbound HTTP calls made with Go's net/http package produce no HTTP_CALLS edge,
even with a literal absolute URL. Not even a plain CALLS edge is recorded for them. In
consequence cross-repo-intelligence never links a Go caller to the service it calls.
Equivalent Python (requests.get(url)) and JS (fetch(url)) calls do produce
HTTP_CALLS.
Expected: one HTTP_CALLS edge per call (GET /v1/payments/42, POST /v1/payments),
and CROSS_HTTP_CALLS to a service that registers matching routes.
Reproduction
Code (go.mod: module example.com/client, go 1.22):
Output: HTTP_CALLS is absent from the edge types, and cross_http_calls: 0. http.Post(url, ...), http.Get(url) and (&http.Client{}).Get(url) behave the same.
Attached repro.sh, section "Issue 2".
What we observed while debugging (instrumented build of 96c3f41, not a proposed patch)
Extraction is fine. For http.Get(...), first_string_arg is http://payments:8080/v1/payments/42, consistent with TEST(extract_go_binary_concat_url_issue1249).
callee_name is http.Get. The service table entry is "net/http"
(internal/cbm/service_patterns.c:54), so it never matches, and the import map passed
in at that point is empty for this file (imp_count == 0), so the alias http cannot be
expanded to net/http. The imports array, which does contain net/http, is
available in the same function. Python works because the module name appears in the
callee text (requests.get).
Full self-contained script (creates throwaway repos in a temp dir, isolated cache): see attached repro.sh.txt, section "Issue N". Run with bash repro.sh.txt [path/to/codebase-memory-mcp].
Version
Version: 0.11.0 (release). Also reproduced on main @ 96c3f41 built from source.
Platform
Linux (x64)
Install channel
GitHub release archive / install.sh / install.ps1
Binary variant
standard
What happened, and what did you expect?
Outbound HTTP calls made with Go's
net/httppackage produce no HTTP_CALLS edge,even with a literal absolute URL. Not even a plain CALLS edge is recorded for them. In
consequence
cross-repo-intelligencenever links a Go caller to the service it calls.Equivalent Python (
requests.get(url)) and JS (fetch(url)) calls do produceHTTP_CALLS.
Expected: one HTTP_CALLS edge per call (GET
/v1/payments/42, POST/v1/payments),and CROSS_HTTP_CALLS to a service that registers matching routes.
Reproduction
go.mod:module example.com/client,go 1.22):http.HandleFunc("/v1/payments", h)andhttp.HandleFunc("/v1/payments/{id}", h). Then:HTTP_CALLSis absent from the edge types, andcross_http_calls: 0.http.Post(url, ...),http.Get(url)and(&http.Client{}).Get(url)behave the same.Attached repro.sh, section "Issue 2".
What we observed while debugging (instrumented build of 96c3f41, not a proposed patch)
http.Get(...),first_string_argishttp://payments:8080/v1/payments/42, consistent withTEST(extract_go_binary_concat_url_issue1249).resolve_single_call(src/pipeline/pass_calls.c), registry resolution ofhttp.Getis empty. The call then goes to the external-client fallback (comment atline 748, cross-repo-intelligence returns 0 edges for a byte-identical call/route #523), which classifies on the raw
callee_name.callee_nameishttp.Get. The service table entry is"net/http"(
internal/cbm/service_patterns.c:54), so it never matches, and the import map passedin at that point is empty for this file (
imp_count == 0), so the aliashttpcannot beexpanded to
net/http. Theimportsarray, which does containnet/http, isavailable in the same function. Python works because the module name appears in the
callee text (
requests.get).Full self-contained script (creates throwaway repos in a temp dir, isolated cache): see attached repro.sh.txt, section "Issue N". Run with bash repro.sh.txt [path/to/codebase-memory-mcp].
repro.sh.txt
Logs
Diagnostics trajectory (memory / performance / leak issues)
Project scale (if relevant)
No response
Confirmations