Skip to main content
The Column-Level Lineage Tool allows DinoAI to trace how individual columns flow through your data pipeline, giving you precise visibility into data dependencies. This tool lets DinoAI answer questions about where a column originates and what it feeds into downstream, so you can understand data provenance and assess the impact of changes before you make them. It reads the same lineage graph as the Catalog.

Capabilities

get_column_level_lineage traces one column’s value path. Identify the model by name or by its unique_id, name the column, and optionally set how far to walk: It returns the edges of the value path. Each edge names where the value came from, where it went, how it was transformed, and the expression responsible, for example SUM(amount). Endpoints are written <unique_id>.<column>; an endpoint with no column means the value affected which rows came back rather than the value in a specific field. An answer is capped at 150 nodes and 400 edges. Past that the tool says it truncated and how to narrow the question, rather than silently returning part of the graph.
Scope is your production environment plus any connected integrations, including dbt™ Mesh projects. For lineage at model grain, which models depend on which, use the dbt™ Discovery get_lineage tool instead. The two are split on grain, not on data source.

Where you can use it

  • Copilot, in the right panel of the Code IDE.
  • Agents: programmable agents, the Slack agent, and Bolt agents. In the agent builder the tool sits in the Lineage group.
  • MCP clients, over the MCP server, which requires the production lineage access right.

Using the Column-Level Lineage Tool

  1. Open DinoAI, or message an agent that has the tool.
  2. Provide the model name and the column you want to trace.
  3. Add your prompt describing what you want DinoAI to do with the lineage results.
  4. Review DinoAI’s findings and apply them to your development work.

Example Use Cases

Tracing a Column’s Upstream Sources Prompt
Result: DinoAI traces that column back through every upstream model and source that contributes to it, with the transformation applied at each hop, so you can understand data origin and spot potential issues. Understanding Downstream Impact Prompt
Result: DinoAI maps the downstream path, surfacing every model and column that would be affected by a change to that field. Impact analysis from Slack Prompt
Result: the agent traces the column and reports the downstream fields at risk, without anyone opening the IDE.

When the tool cannot answer

The tool distinguishes between the ways a trace can come up empty, because the next step differs for each: Nodes whose SQL was only partly parsed carry that parse status into the answer, so a gap in the graph is never presented as a complete one.

Working with Other Tools

The Column-Level Lineage Tool works well alongside DinoAI’s other capabilities to support your full development workflow:
  • Combine with the Catalog Search Tool to first discover the right model or column, then trace its lineage
  • Combine with the SQL Execution Tool to validate query logic against columns you’ve traced through lineage
  • Combine with the Google Docs Tool or Notion Tool to cross-reference lineage findings against your data modeling specs
  • Use alongside Git Lite to commit and push lineage-informed changes before opening a pull request

Best Practices

Be specific with model and column names. An exact model name avoids the disambiguation round trip. If you already have a unique_id, for example from a catalog search, pass that instead. Start shallow. The default depth of 2 answers most impact questions. Raise it only when the trace stops short of what you were looking for, since a deeper walk costs more tokens and is likelier to hit the cap. Build the catalog first. Lineage comes from your catalog build, so a column added very recently may not appear until the next one has run. Verify complex graphs. For models with many upstream dependencies, review DinoAI’s lineage summary carefully before making structural changes.