DATA OPS
PR-time Snowflake schema contract check on dbt model changes
When a pull request changes a dbt model, it compares the model's declared output columns against the live Snowflake table it will replace and blocks the merge with a GitHub check…
How it runs
The automated pipeline, trigger to output.
- TriggerPull request opened or updatedGitHub
- ActionParse proposed output columns from changed dbt modelsGitHub
- ActionRead live table column shape from SnowflakeSnowflake
- LogicClassify changes as additive, breaking, or approved
- OutputPost pass/fail schema-contract check to the PRGitHub
What it does
It shifts drift detection left to code review. When a PR touches a dbt model, the workflow reads the model's intended output columns from the changed SQL and compares them to the column shape of the table currently in Snowflake. Breaking changes that aren't accompanied by a contract update get posted as a failing GitHub check with a line-by-line diff, so reviewers see the blast radius before merge.
When to use it
Use it on warehouse repos where analysts ship model changes directly. It stops accidental column removals and type narrowing from ever reaching production instead of catching them after deploy.
How it works
- 1A GitHub pull request event triggers the run.
- 2Read the changed dbt model files from the PR and derive the proposed output column set.
- 3Query Snowflake for the current production table's column shape.
- 4Diff proposed vs. live to classify each change as additive, breaking, or contract-approved.
- 5If breaking changes lack a contract update, post a failing GitHub check with the diff; otherwise post a passing check.
Set it up
What you configure once, before turning it on.
- 1Connect GitHubRepos, issues, pull requests, actions.
- 2Connect SnowflakeWarehouses, queries, shares.
- 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
Snowflake column type-drift sentinel with Linear fix ticket
Snapshots the data types of every column in your tracked Snowflake schemas on a schedule, diffs against the last snapshot.
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.
BigQuery dropped/renamed column sentinel with PagerDuty incident
Detects when a column is dropped or renamed in your governed BigQuery datasets and, because that breaks downstream queries hard, pages the on-call via PagerDuty and posts…
Agent-triaged warehouse drift with impact analysis and runbook update
On a webhook from your warehouse audit log, an agent investigates the changed column, traces which downstream models and dashboards depend on it.
Cross-warehouse replication schema mismatch reconciler
Compares the column shape of mirrored tables between BigQuery and Snowflake and, when a replicated table has drifted out of sync between the two, opens an Asana task for the data…
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.
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.
