read_pull_request, checks the linked Linear issue, verifies test and documentation coverage, traces downstream impact through get_lineage and get_exposures, and posts a single structured verdict (APPROVE / REQUEST_CHANGES / REJECT) to Slack.
Prerequisites
- Linear connected (the agent calls
get_linear_issueto fetch linked tickets). Recommended but not strictly required: if the PR has no Linear link, the agent notes it under SCOPE and continues. - Slack connected (the agent posts reviews to
#pr-reviewsviapost_slack_message). - Familiarity with programmable agents and running an agent with Bolt.
Steps
1
Create the agent
In the Agent app, open Agents, select New agent, and start from the Goal:Backstory:Model: leave Auto selected.Allowed tools (everything else is refused, see the Tools Reference):
dbt-model-reviewer template (or Start from scratch). Fill in the builder fields with the content below. See Build an agent in the UI for a tour of the builder.Name: pr-reviewer-e2eRole:list_pull_requests,read_pull_requestread_file,search_files_and_directories,ripgrep_searchget_linear_issueget_lineage,get_exposuresrun_sql_querypost_slack_message
#pr-reviews (or your team’s channel).read_pull_request means you do not have to collect and paste the changed-file list into the task: the agent resolves the PR and reads the diff itself. get_lineage and get_exposures (dbt Discovery tools) ground the IMPACT section in the real dependency graph, including dashboards, instead of a text search.2
Deploy the agent
Select Deploy and choose where the agent lives: Just here saves it to the workspace and makes it live immediately, Open a pull request commits it to your repo as
.dinoai/agents/pr-reviewer-e2e.yml so it is governed as code. Both appear in the Bolt agent picker. See Creating Agents in the App.3
Run it on every PR with Bolt
Add a Run Paradime DinoAI Agent command to a Bolt schedule and trigger it on pull request merge, so the reviewer runs on every PR. The command runs natively with no API keys to configure. See Run an agent with Bolt for the full walkthrough.Pick
pr-reviewer-e2e and set the Task:4
Read the verdict
After the agent runs, open 
#pr-reviews. The agent posts a single structured message with a clear verdict. It always cites the file and line number for every issue it raises, and it never returns APPROVE if either TESTS or DOCS is FAIL.
On a PR with full coverage that matches its Linear ticket, the review posts to
#pr-reviews with an APPROVE verdict. On a PR missing tests or docs, TESTS or DOCS reads FAIL and the verdict is REQUEST_CHANGES or REJECT, with each issue cited by file and line. If the PR has no Linear link, SCOPE notes it and the rest of the review still runs.How it works
The agent resolves the target PR (from the trigger message, or the most recently updated open PR), reads its full diff withread_pull_request, then works through the six review dimensions. For IMPACT it walks the dependency graph with get_lineage from each changed model and checks get_exposures for dashboards and apps that consume them, so “this change breaks the revenue dashboard” is a graph fact, not a guess.
Delegate test-writing (optional)
Instead of just flagging missing tests in the verdict, let the reviewer fix them: addtest-maintainer to this agent’s Squad in the builder and invoke_agent to its allowed tools. The reviewer then delegates to the dbt™ test maintainer, which writes and validates the tests and reports back via notify_parent_session before the final verdict is composed.
Block CI on a REJECT verdict (optional)
Bolt’s on-merge trigger reviews PRs after they merge. If you want the review to gate the merge instead, trigger the agent from your CI with the API and fail the job on aREJECT:
DinoAI agent API capabilities stored as CI secrets. See the API and SDK reference.
Next steps
Run an agent with Bolt
Trigger this agent on a schedule, on merge, or in Turbo CI.
dbt™ test maintainer
Delegate test-writing to this sub-agent from the reviewer.
dbt™ documentation backfiller
Backfill missing descriptions on the same PR.
Programmable Agents reference
The agent schema, tools, and API.