Skip to content

trace_path returns empty for nodes that have CALLS edges (v0.9.0, repro included) #1110

Description

@junk151516

Environment: v0.9.0, Windows amd64 (ui variant), repo indexed with --mode moderate. Mixed Python (FastAPI) + Svelte/TS monorepo, ~31k nodes / 176k edges, 43,851 CALLS edges.

Summary: trace_path returns an empty trace for every node I tested — plain Function nodes and Method nodes alike — even when query_graph confirms incoming/outgoing CALLS edges for the exact same node. Name disambiguation works (ambiguous names return correct suggestions), but the traversal itself yields nothing.

Repro 1 — Function node, edge confirmed

# The edge exists (seen in a raw edge sample: caller "App" → callee "fmt"):
cli query_graph --project P --query "MATCH (a)-[r:CALLS]->(b) WHERE b.name = 'fmt' RETURN a.name"
# → rows: [["App"]]

# Ambiguous short name → correct suggestions (so node resolution works):
cli trace_path --project P --function-name fmt --direction callers --depth 1
# → {"status":"ambiguous", suggestions: [<qualified_name_1>, <qualified_name_2>]}

# Passing the EXACT qualified_name the tool itself suggested:
cli trace_path --project P --function-name '<qualified_name_1>' --direction callers --depth 1
# → {"function":"<qualified_name_1>","direction":"callers"}   ← empty, no paths, no error

Repro 2 — Method node (Python service class)

# Two incoming CALLS edges confirmed via Cypher:
cli query_graph --project P --query "MATCH (a)-[r:CALLS]->(b) WHERE b.name = 'auto_match' RETURN a.qualified_name"
# → 2 rows (a FastAPI route handler + a background worker handler) — both correct vs. grep

cli trace_path --project P --function-name auto_match --direction callers --depth 3
# → {"function":"auto_match","direction":"callers"}           ← empty

cli trace_path --project P --function-name '<full qualified_name of the Method>' --direction callers --depth 3
# → empty as well. Same for --direction callees.

Expected: the same callers/callees that query_graph returns over CALLS edges.

Impact: impact-analysis via trace_path is unusable on this index; query_graph with a WHERE clause is the workaround. Happy to run any diagnostic build or share index stats (the codebase itself is private).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingparsing/qualityGraph extraction bugs, false positives, missing edgespriority/highNeeds near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker.ux/behaviorDisplay bugs, docs, adoption UXwindowsWindows-specific issues

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions