DATA OPS
dbt merge-request orphan guard with inline GitLab comment
On every dbt merge request, recomputes the model graph against the diff and comments on the MR if the change creates new orphan models, blocking dead code from landing.
How it runs
The automated pipeline, trigger to output.
- TriggerGitLab merge request opened or updatedGitLab
- ActionFetch manifest from MR and target branchesGitLab
- LogicDiff graphs to detect newly orphaned models
- ActionComment on the MR with orphan listGitLab
- OutputNotify author's team in SlackSlack
What it does
When a merge request touches the dbt project, it rebuilds the dependency graph from the branch's manifest and compares it to the target branch. If the diff introduces models that nothing downstream references — or strands an existing model by removing its only consumer — it posts an inline comment on the MR naming each newly orphaned model so the author fixes it before merge.
When to use it
Use it as a pre-merge guardrail so orphans get caught at review time instead of piling up for a later cleanup sweep. Best for teams that practice trunk-based dbt development with frequent MRs.
How it works
- 1A GitLab merge-request event triggers the run.
- 2Fetch the manifest from both the MR branch and the target branch.
- 3Diff the two graphs to find models that are newly orphaned by this change.
- 4Branch: if none, exit quietly; if any, continue.
- 5Post a GitLab MR comment listing each new orphan with its file path and a deprecation reminder.
- 6Notify the author's team in Slack with the MR link.
Set it up
What you configure once, before turning it on.
- 1Connect GitLabRepos, MRs, pipelines, registry.
- 2Connect SlackChannels, DMs, threads, mentions.
- 3Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
- 4Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
- 5Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.
More Data Ops workflows
BigQuery Per-Team Budget Breach Alert to PagerDuty
Tracks month-to-date BigQuery scheduled-query spend per team and, when a team crosses its monthly budget, pages the team's on-call in PagerDuty and snapshots the spend breakdown…
dbt orphan model detector with Linear cleanup tickets
Scans your dbt manifest for models that no other model, exposure, or BI tool consumes.
Weekly BigQuery Cost Trend Sheet and Exec Digest
Compiles week-over-week BigQuery scheduled-query cost by owner and dataset into a Google Sheet with trend columns.
Backfill Missing Owner Labels on BigQuery Scheduled Queries
Finds scheduled queries with no owner label, infers the likely owner from creator metadata and target-table lineage, proposes a label.
Daily BigQuery Scheduled-Query Cost Attribution to Owners
Each morning, totals the prior day's on-demand bytes-billed per scheduled query, maps each query to its owner from a label, and posts a per-owner cost leaderboard to Slack.
dbt source freshness watcher with severity-routed alerts
Checks Snowflake loaded-at timestamps against each dbt source's freshness SLA, then routes warnings to Slack and hard breaches to a PagerDuty incident so stale data never…
Run it inside a business
This workflow drops into a full company template. Import the org, and this is one of the playbooks its agents run.

Run this workflow in your colony.
14-day trial. No DevOps. No Sales call. Provisioned in under a minute.
