Skip to content

Commit cbcc61b

Browse files
committed
docs: strengthen value proposition and expand why-it-matters section
1 parent 593c561 commit cbcc61b

1 file changed

Lines changed: 23 additions & 15 deletions

File tree

docs/cloud/features/ci.mdx

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,36 @@ sidebarTitle: "PR / MR Review"
55

66
Every time a developer changes a dbt model, there's a question no one can easily answer before merging: _is this safe to ship?_
77

8-
Elementary's PR / MR Review answers that question automatically. When a pull request touches your dbt models, a comment appears with everything your team needs to review the data quality impact — test results, active incidents, and downstream blast radius — without leaving the PR.
8+
Your dbt tests tell you if the code compiles. They don't tell you if the model you just refactored has been failing tests for the past week, whether it feeds a dashboard your CEO looks at every morning, or whether there's already an open incident on it that your data team is investigating.
99

10-
![Elementary PR review comment posted on a GitHub pull request](/pics/cloud/pr_impact_example.png)
10+
Elementary's PR / MR Review answers all of that automatically. The moment a pull request touches your dbt models, a structured comment appears with everything your team needs to make a confident merge decision — without leaving the PR.
11+
12+
![Elementary PR review comment](/pics/cloud/pr_impact_example.png)
13+
14+
## Why it matters
15+
16+
Data quality issues are exponentially cheaper to catch before merge than after. But today, most teams have no visibility into data health at review time — reviewers check the SQL, not the data. By the time a broken model hits production, it's already in dashboards, downstream models, and stakeholder reports.
17+
18+
Elementary closes that gap by bringing live data quality context directly into the code review workflow.
1119

1220
## What you get on every PR
1321

14-
- **Test history** — pass/fail counts for each changed model over the last 7 days
15-
- **Active incidents** — any open data quality issues affecting those models right now
16-
- **Downstream impact** — which models, pipelines, and dashboards depend on what you're changing
17-
- **Health summary** — a clear signal on whether it's safe to merge
22+
- **Test history** — pass/fail counts for each changed model over the last 7 days, so reviewers know if they're touching something that's already fragile
23+
- **Active incidents** — any open data quality issues on those models right now, before the change lands on top of them
24+
- **Downstream blast radius**exactly which models, pipelines, and dashboards depend on what's changing, two levels deep
25+
- **Health summary** — a plain-language signal on whether it's safe to merge, powered by Claude
1826

19-
The comment updates automatically on every new push, so the review stays current without cluttering the PR thread.
27+
The comment updates automatically on every new push, so the review always reflects the latest state. No noise, no duplicate comments.
2028

2129
## How it works
2230

23-
The review is powered by [Claude](https://www.anthropic.com) connected to the [Elementary MCP server](/cloud/mcp/intro). When a PR is opened:
31+
The review is powered by [Claude](https://www.anthropic.com) connected to the [Elementary MCP server](/cloud/mcp/intro). When a PR is opened or updated:
2432

2533
1. A CI job detects which models changed using `git diff`
26-
2. Claude queries Elementary for live data quality context on those models
27-
3. A formatted summary is posted as a comment on the PR or MR
34+
2. Claude queries Elementary for live data quality context on those exact models
35+
3. A structured Markdown summary is posted as a comment on the PR or MR
2836

29-
No custom scripts, no webhook setup, no infrastructure to manage.
37+
No custom scripts. No webhook setup. No infrastructure to manage. Two secrets and one file.
3038

3139
## Setup
3240

@@ -84,7 +92,7 @@ That's it. Open a PR that touches a model file and the review comment appears au
8492
|---|---|---|
8593
| `models-path` | `models/` | Path to your dbt models directory |
8694
| `diff-filter` | `ACM` | File changes to include: A=Added, C=Copied, M=Modified |
87-
| `claude-model` | `claude-haiku-4-5-20251001` | Claude model to use. Switch to `claude-sonnet-4-6` for deeper analysis |
95+
| `claude-model` | `claude-haiku-4-5-20251001` | Claude model to use. Switch to `claude-sonnet-4-6` for deeper analysis on complex changes |
8896
| `base-ref` | PR base branch | Branch to diff against |
8997

9098
```yaml
@@ -122,16 +130,16 @@ Open an MR that touches a model file and the review comment appears automaticall
122130

123131
**No comment appears after the job runs**
124132

125-
For GitHub, make sure `pull-requests: write` is set under `permissions` in the workflow. GitHub Actions requires this to post PR comments.
133+
For GitHub, make sure `pull-requests: write` is set under `permissions` in the workflow file. GitHub Actions requires this explicitly to post PR comments.
126134

127135
**`git diff` returns no changed models**
128136

129-
Make sure `fetch-depth: 0` is set on the checkout step. Without full git history the runner cannot compare branches.
137+
Make sure `fetch-depth: 0` is set on the checkout step. Without full git history the runner cannot compare branches and the diff will be empty.
130138

131139
**The comment says the MCP server is unreachable**
132140

133141
Verify `ELEMENTARY_API_KEY` is correctly set and the MCP server is enabled for your account. See the [MCP setup guide](/cloud/mcp/setup-guide).
134142

135143
<Warning>
136-
If a model has never been synced through Elementary, the comment will note that no history is available yet. Results appear automatically after the next Elementary sync.
144+
If a model has never been synced through Elementary, the comment will note that no history is available yet. Results populate automatically after the next Elementary sync.
137145
</Warning>

0 commit comments

Comments
 (0)