Documentation
¶
Overview ¶
Package query answers questions against a built graph.json without rebuilding: find nodes by name, explain a node and its neighbours, and find the shortest dependency path between two nodes. These back the CLI commands the Claude skill uses instead of grepping the source tree.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Validate ¶ added in v0.3.0
Validate reads graph.json at path and reports structural problems: links that reference a missing node (dangling endpoints), duplicate node IDs, and nodes with an empty ID. It returns the issues (empty when the graph is sound) plus node and edge counts for a summary. Reading directly (rather than via Load) lets it catch duplicate IDs, which Load's id map would otherwise collapse.
Types ¶
type AffectedResult ¶ added in v0.3.0
AffectedResult separates the symbols defined in the changed files from the symbols transitively impacted by them.
func Affected ¶ added in v0.3.0
func Affected(g *Graph, changedFiles []string) AffectedResult
Affected returns the graph nodes defined in changedFiles ("changed") and every node that transitively depends on them ("impacted") — the blast radius of a change. Impact propagates backwards along dependency edges: a changed callee reaches its callers, a changed file reaches its importers.
type Explanation ¶
Explanation is a node plus its grouped neighbours.
type Graph ¶
type Graph struct {
Nodes []Node `json:"nodes"`
Links []Link `json:"links"`
// contains filtered or unexported fields
}
Graph is a loaded graph.json.
type Link ¶
type Link struct {
Source string `json:"source"`
Target string `json:"target"`
Relation string `json:"relation"`
Confidence string `json:"confidence"`
}
Link mirrors a graph.json edge.
type Neighbor ¶
type Neighbor struct {
ID, Label, Relation, Direction, Location string
}
Neighbor is an adjacent node in a given direction.
type Node ¶
type Node struct {
ID string `json:"id"`
Label string `json:"label"`
FileType string `json:"file_type"`
SourceFile string `json:"source_file"`
SourceLocation string `json:"source_location"`
Community *int `json:"community"`
NormLabel string `json:"norm_label"`
ComputedName string `json:"computed_name"`
}
Node mirrors a graph.json node.