diff --git a/src/steps/lib/graph/get-ontology.ts b/src/steps/lib/graph/get-ontology.ts index 744ae89..b9a63e9 100644 --- a/src/steps/lib/graph/get-ontology.ts +++ b/src/steps/lib/graph/get-ontology.ts @@ -53,7 +53,7 @@ function buildOntologyPayload(schemaData: any, includeEdges: boolean, includeAtt export default defineStep({ type: "graph/get-ontology", description: - "Fetch the ontology of the strut knowledge graph: node types grouped by domain " + + "Fetch the ontology of the knowledge graph: node types grouped by domain " + "and the canonical list of valid `domains`. " + "Call this once before graph_graph_search to discover valid values for both the `type` and `domains` parameters. " + "Node types are grouped by domain key in `node_types[]`; types with no domain land in the `ungrouped` bucket. " + diff --git a/src/steps/lib/graph/graph-get.ts b/src/steps/lib/graph/graph-get.ts index c0fb79c..72d9dd3 100644 --- a/src/steps/lib/graph/graph-get.ts +++ b/src/steps/lib/graph/graph-get.ts @@ -9,7 +9,7 @@ const CHILD_DESCRIPTION_MAX = 300; export default defineStep({ type: "graph/graph-get", description: - "Resolve a single node in the strut knowledge graph to its full content by ref_id. " + + "Resolve a single node in the knowledge graph to its full content by ref_id. " + "Use the ref_id from graph_graph_search or graph_graph_neighbors results. " + "When you know a node's NAME instead, pass node_type + name (e.g. node_type \"Concept\", " + "name \"Janitor\"): an exact lookup by the node's key, never a search — for types keyed by name. " + diff --git a/src/steps/lib/graph/graph-neighbors.ts b/src/steps/lib/graph/graph-neighbors.ts index 2486ef6..977ae7a 100644 --- a/src/steps/lib/graph/graph-neighbors.ts +++ b/src/steps/lib/graph/graph-neighbors.ts @@ -8,7 +8,7 @@ const EXCLUDED_NODE_TYPES = ["Hint", "Memory", "Clip", "Turn"]; export default defineStep({ type: "graph/graph-neighbors", description: - "Return all nodes adjacent (one hop) to a node in the strut knowledge graph, " + + "Return all nodes adjacent (one hop) to a node in the knowledge graph, " + "with edge_type and direction. Use the ref_id from graph_graph_search or graph_graph_get. " + "Each neighbor also includes an `edges` map ({EDGE_TYPE: count}) showing how " + "connected that neighbor is and which relationship types you can hop along next. " + diff --git a/src/steps/lib/graph/graph-search.ts b/src/steps/lib/graph/graph-search.ts index bb98328..c0faac9 100644 --- a/src/steps/lib/graph/graph-search.ts +++ b/src/steps/lib/graph/graph-search.ts @@ -22,7 +22,8 @@ function descriptionOf(nodeType: string | undefined, p: Record): st export default defineStep({ type: "graph/graph-search", description: - "Search the strut knowledge graph for nodes — workflows, workflow versions, steps, runs, agent sessions, tool calls, chats, turns, and any jarvis-owned types sharing the database. " + + "Search the knowledge graph for nodes of any type it holds — what this deployment ingested (on a swarm: the code parsed from its repositories — File, Function, Endpoint, … with written descriptions — plus documents, concepts, tasks, …) and strut's own workflows, steps, runs and chats. " + + "Narrow with `type` to find one kind (e.g. 'Function,File,Endpoint' for code). " + "Provide at least one of `q`, `input_q`, `output_q` — they can be combined, each acting as its own " + "retriever fused into one ranked result set. " + "Each result includes an `edges` map ({EDGE_TYPE: count}) showing how connected the node is and " + diff --git a/src/steps/lib/graph/walk.ts b/src/steps/lib/graph/walk.ts index d70433c..43b7fe4 100644 --- a/src/steps/lib/graph/walk.ts +++ b/src/steps/lib/graph/walk.ts @@ -552,7 +552,7 @@ const EXAMPLE = `- id: gather export default defineStep({ type: "graph/walk", description: - "Walk the strut knowledge graph to GATHER CONTEXT for a goal. Seeds from ref_ids (start) or a graph search (query), then hop by hop " + + "Walk the knowledge graph to GATHER CONTEXT for a goal. Seeds from ref_ids (start) or a graph search (query), then hop by hop " + "expands one node's neighbors while a small decision model judges each neighbor's relevance (kept or not), which node to expand next, " + "and whether enough has been gathered. Traversal is code and the model only answers typed choice/boolean questions, so it is cheap and " + "bounded (maxHops decision rounds, maxNodes kept). Output: { goal, nodes: [{ref_id, node_type, name, relevance, hop, via, properties}] " +