Skip to content

Angular HttpClient calls can be linked to the wrong cross-repo route #2768

Open

Description

@NeoGeoSNK

Description

Cross-repo HTTP links can point an Angular client call to the wrong API route. In a TypeScript/Angular client, an explicit HttpClient.get(...) call is represented in the graph with an empty HTTP method. When the API exposes routes whose paths overlap under template matching, CROSS_HTTP_CALLS can associate a GET request with a DELETE or POST handler instead of the matching GET route. In one observed indexed client/API pair within a larger shared store, the client graph contained 12 links while the API-side graph contained 9 reverse records.

Environment

  • codebase-memory-mcp: v0.12.1
  • OS: Linux x86_64 (WSL2)
  • Projects: TypeScript/Angular client and Java/Spring API indexed as separate projects in one store
  • Model: Not applicable; deterministic static indexing

Reproduction Steps

  1. Index a TypeScript/Angular client that makes HttpClient.get(...) calls to /items/list, /items/{id}, and /items/job/{jobId}.
  2. Index a Java/Spring API exposing GET /items/list, GET /items/{id}, DELETE /items/{id}, GET /items/job/{jobId}, and POST /items/{parentId}/{id}.
  3. Run index_repository in cross-repo-intelligence mode between the two projects.
  4. Inspect the client's HTTP_CALLS and CROSS_HTTP_CALLS records and the API project's reverse records.

Expected Behavior

The graph records GET for verb-specific HttpClient.get(...) calls and links each call to the corresponding GET route. A GET call should not be associated with a DELETE or POST route solely because its path resembles a parameterized route.

Actual Behavior

In the observed run, HTTP_CALLS.method was empty for explicit GET calls. Cross-repo links associated the list and item GET calls with DELETE /items/{id}, and associated GET /items/job/{jobId} with POST /items/{parentId}/{id}. The client graph contained 12 links to the API, while the API-side view contained 9 reverse records. These are static graph results, not runtime traffic measurements.

Additional Context

Related but distinct reports: #1611 covers method extraction from fetch options; this reproduction uses Angular's verb-specific HttpClient.get(...) API. #1459 tracks ambiguous path-based cross-repo matches.

Activity

  1. DeusData commented on Oct 25, 2026

    @DeusData
    Owner

    Thank you for separating Angular’s explicit GET extraction from the cross-repository route matching and reverse-record counts. The verb mismatch gives this a concrete expected result. I’ll follow up after maintainer review; I have not independently verified the proposed mechanism.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingparsing/qualityGraph extraction bugs, false positives, missing edges

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions