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
The indexer creates Route nodes from path-shaped string literals that are not route registrations: labels passed to logging helpers, and even absolute external URLs pulled in from vendored code.
Minimal repro (Go)
// logger.go — NOT a route registrationutils.LogRequests(r, "/login/acme", start) // minted as Route "/login/acme"utils.LogRequests(r, "/login/v3/oauth", start) // minted as Route "/login/v3/oauth"// vendored ACME client constant — not even this service's URL spaceconstletsEncryptURL="https://acme-v02.api.letsencrypt.org/directory"// minted as Route
Observed via search_graph(label="Route") / SQL over the graph: a gorilla/mux service showed Route nodes for both logger labels and the letsencrypt URLs, plus a Route literally named Login (no leading slash).
Why it matters
Anything consuming the graph as ground truth (as-is generators, architecture docs, agents told "the graph has the real routes") reports an API surface with endpoints that do not exist. In a real 3-repo workspace this produced 2 fake endpoints listed as exposed routes of a BFF.
Expected
A Route node should require anchoring to an actual registration call (HandleFunc / PathPrefix / router-framework equivalent) with file:line evidence — not any string that lexically looks like a path. At minimum: require a leading /, and exclude arguments of known logging/metrics call sites.
What is broken
The indexer creates
Routenodes from path-shaped string literals that are not route registrations: labels passed to logging helpers, and even absolute external URLs pulled in from vendored code.Minimal repro (Go)
Observed via
search_graph(label="Route")/ SQL over the graph: a gorilla/mux service showed Route nodes for both logger labels and the letsencrypt URLs, plus a Route literally namedLogin(no leading slash).Why it matters
Anything consuming the graph as ground truth (as-is generators, architecture docs, agents told "the graph has the real routes") reports an API surface with endpoints that do not exist. In a real 3-repo workspace this produced 2 fake endpoints listed as exposed routes of a BFF.
Expected
A
Routenode should require anchoring to an actual registration call (HandleFunc/PathPrefix/ router-framework equivalent) withfile:lineevidence — not any string that lexically looks like a path. At minimum: require a leading/, and exclude arguments of known logging/metrics call sites.