repo_path_between
Find a bounded, bidirectional path between two code nodes across CALLS, DEFINES, and IMPORTS edges to answer how one symbol reaches another, such as an HTTP handler to a database write.
Instructions
Find a bounded, bidirectional path between two node_ids over CALLS/DEFINES/IMPORTS edges (CO_CHANGE only if named explicitly), reporting the minimum confidence along each path. Read-only, deterministic traversal, no side effects. When to use: use for 'how does X reach Y' questions a text search cannot answer, e.g. the call chain from an HTTP handler to a database write. When NOT to use: do not use for one-hop neighbours (use repo_neighbours) or open-ended search (use repo_search). Output: JSON array of paths, each an ordered array of {node_id, path, start_line, end_line, via_edge, confidence}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to_id | Yes | Target graph node id. | |
| from_id | Yes | Starting graph node id. | |
| max_hops | No | Maximum path length in hops (default 6, max 8). | |
| max_paths | No | Maximum distinct paths returned (default 3, max 10). | |
| edge_types | No | Edge types to traverse (default ['CALLS', 'DEFINES', 'IMPORTS']). CO_CHANGE is a statistical correlation, not a call/definition path, and is only followed when named here explicitly. |