Graph
The typed entity-relation graph that connects code, work, and data into one ontology.
The graph source is the typed entity-relation graph that connects every other source into one ontology. It is not an external data source — it is derived from the code source and enriched by relations from work items, commits, and databases.
What it contains
- Entities — typed nodes: modules, symbols, tables, columns, work items, commits, PRs, documents. Every entity has a kind, a name, and a ref.
- Relations — typed, directional edges: "calls," "imports," "writes_to," "reads_from," "implements," "references." Each relation names its source entity, its target entity, and its type.
- Cross-plane edges — the relations that connect the three planes (code, work, data). "This module writes to that table" and "this commit resolves that ticket" are cross-plane relations.
How it is built
The graph is built in layers:
- Deterministic layer — parsers extract the code structure; catalog introspection extracts the database schema. This layer is reproducible.
- Derived layer — cross-references are resolved: a commit message mentions a ticket ID, a code comment references a table name. These are matched by rules, not by a model.
- Interpreted layer — a model classifies ambiguous references and infers relations not stated explicitly. Every interpreted relation is labeled as such and carries a confidence score.
Why the graph matters
A search index finds documents that mention a thing. The graph tells you what the thing *is*, what it depends on, and what depends on it. "What breaks if I drop this column?" is a graph traversal, not a keyword search.
Searching the graph
You can search the graph source specifically to find entities and their neighborhoods:
curl -X POST "$ECHO_URL/projects/$PROJECT_ID/knowledge/search" \
-H "X-API-Key: $SERVICE_KEY" \
-H "Content-Type: application/json" \
-d '{ "query": "session token validation", "sources": ["graph"], "top_k": 5 }'Graph hits include the entity's relations, so you immediately see what depends on the matched entity.
Next: Docs.

