Skip to main content
The dbt™ impact assessor is a DinoAI agent that answers the question every reviewer asks before approving a model change: what breaks downstream? For each changed model, it walks the dependency graph with Paradime’s dbt™ Discovery tools, reads the SQL of every directly downstream model, checks which exposures (dashboards, reverse ETL) consume the affected columns, and writes an impact report with the highest-blast-radius consumers at the top. You add it to DinoAI Code Review as a custom reviewer, so the report lands on every pull request (or merge request on GitLab) that changes a model.
PrerequisitesEstimated time: 15 minutes.

Steps

1

Create the agent

In the Agent app, open Agents, select New agent, and choose Start from scratch. Fill in the builder fields below, and leave Model on Auto. See Build an agent in the UI for a tour of the builder.Name: impact-assessorRole:
Goal:
Backstory:
Allowed tools (everything else is refused, see the Tools Reference):
  • get_lineage, get_exposures, get_node_details, get_model_health
  • read_file, search_files_and_directories, ripgrep_search
  • run_sql_query
The agent is read-only: it has no write or terminal tools, so it can never change the repository. Paradime gives it the changed files and the findings format, and posts the report itself. See Custom reviewers. Reading the downstream SQL on top of the graph catches explicit column selections that graph-level lineage alone would miss.
2

Deploy the agent

Select Deploy and choose where the agent lives. Just here saves it to the workspace and makes it live at once. Open a pull request commits it to your repository as .dinoai/agents/impact-assessor.yml, so it is governed as code. An agent deployed with a pull request is available as a reviewer after that pull request merges. See Creating Agents in the App.
3

Add it as a custom reviewer

In the Agent app, select Code review, then New reviewer:
  1. Name: Impact assessor.
  2. Target branches: your production branch, for example main.
  3. Reviewer agent: select Custom reviewer, then select impact-assessor in Agent.
  4. When to review: Automatic.
  5. Block merging on findings: off, so the report informs reviewers without blocking. Turn it on if a breaking change should block the merge.
  6. Select Create reviewer.
See Add a reviewer.
4

Open a pull request and read the report

Open a pull request into main that changes a model. DinoAI posts a review headed DinoAI review · Impact assessor, with the report in the summary and an inline comment on each line with a breaking-change risk.To run it again on request, for example after the production run refreshed the artifacts, comment @paradime review. You can also run the agent ad hoc: select Chat on the agent’s row, and ask:
On a pull request that changes a model, the review shows exposures first (each dashboard or sync consuming the model), then every downstream model with the exact columns it selects and a risk flag for removals and type changes. A model with no downstream consumers gets a short all-clear instead. A pull request that changes no dbt™ files is not reviewed. If the agent reports no lineage data, the workspace has no Bolt runs with dbt™ artifacts yet: run your production schedule once first.

How it works

On each push to a pull request into main, Paradime starts a session with impact-assessor, with the changed files in its first message. Graph-level lineage tells you that fct_revenue depends on fct_orders. It does not tell you whether it selects the column you are about to drop. The agent layers the metadata and the code: get_lineage and get_exposures enumerate the consumers from your Bolt artifacts, get_node_details and get_model_health add each consumer’s columns and current run and test status, then it reads each direct consumer’s SQL to find the columns it references. Exposures always lead the report, because stakeholders notice a broken dashboard before dbt™ notices a broken model. Paradime posts the final message as the review. Pair it with the end-to-end PR reviewer as a second reviewer on the same branch. Each reviewer posts its own review, and they share one Paradime Code Review check.

Run it from a GitHub Actions workflow instead (optional)

If DinoAI Code Review is not on for your company, or you want the trigger in your own workflow, run the agent from GitHub Actions. The workflow triggers the agent through the API and posts the report as a pull request comment. Use either Code Review or the workflow on a repository, not both. For the workflow version, change the agent’s Goal so it reports on the models named in the trigger message, add post_slack_message to its allowed tools, and set its Slack channel on the Output step (for example #analytics-eng). You also need an account API key with the DinoAI agent API capability, and admin access to the repository on GitHub to add Actions secrets. Goal for the workflow version:
1

Store Paradime credentials as GitHub secrets

Generate an account API key with the DinoAI agent API capability. Copy the API Endpoint shown when the key is generated, the key itself (it starts with prdm_cmp_), and the workspace_token of the workspace the agent lives in (see Company & workspace token).In your dbt™ repo on GitHub, go to Settings → Secrets and variables → Actions and add three repository secrets:
If you already set these up for the end-to-end PR reviewer in the same repo, skip this step: the same secrets work for both workflows.
2

Add the GitHub Actions workflow

Create .github/workflows/dinoai-impact-assessor.yml in your dbt™ repo. The workflow runs on every PR, and also on direct pushes to main that touch a model (where the report goes to Slack only, since there is no PR to comment on):
.github/workflows/dinoai-impact-assessor.yml
Then add the trigger script as scripts/pr_impact.py. It works out which models changed, triggers the agent with a structured task, waits for the run to finish, and posts the report as a PR comment on pull request events:
scripts/pr_impact.py
Authentication uses an account API key (api_secret starting with prdm_cmp_ plus workspace_uid), which requires paradime-io 6.0.0 or later. See Install and authenticate the Paradime Python SDK.
3

Read the report

Open a PR that changes a model. The workflow triggers the agent, and when the run completes the report lands as a comment on the PR under CHANGED MODELS / DOWNSTREAM IMPACT / RISK ASSESSMENT / RECOMMENDATIONS, and in your Slack channel. On a direct push to main, the report goes to Slack only.You can also run the same agent ad hoc: select Chat on the agent’s row, and ask:

Next steps

End-to-end PR reviewer

Impact as one part of a full review.

Custom reviewers

What a custom reviewer receives and the findings format.

dbt™ Discovery tools

The lineage and exposure tools this agent uses.

Programmable Agents reference

The agent schema, tools, and API.