The diff
Shows the line that changed. It says nothing about who reads that column downstream.
Callisto reads every GitHub pull request against column-level lineage and runtime metrics, then posts what the change will break in the PR thread.
PR #482Rename customer_id to cust_id3 readers breakA one-line rename. Who reads customer_id?
Breaks
ANALYTICS.ORDERSmart.revenue_by_regionRevenue by regionRuntime
stg_orders V0046 → V0059
Also read by
churn_features Inferred
01 · The problem
The diff, the catalog and the warehouse each hold a piece. The reviewer sees the diff, and agents now write more of them.
Shows the line that changed. It says nothing about who reads that column downstream.
| Name | Type | In this PR |
|---|---|---|
| stg_orders | dbt model | Not shown |
| ANALYTICS.ORDERS | Table | Not shown |
| mart.revenue_by_region | Table | Not shown |
| Revenue by region | Extract | Not shown |
Lists what depends on what as it stands today. It has no view of a change that hasn’t merged.
| Run | Status | Bytes scanned |
|---|---|---|
| Thu 23:45 | Success | |
| Wed 23:45 | Success | |
| Tue 23:45 | Success | |
| Mon 23:45 | Success |
Records what a job scanned after it ran. By the time it shows a jump, the change is already live.
02 · Who it’s for
Two people look at the same PR and ask different questions. Callisto answers both in the PR thread.
Asks
“What will this rename break?”
Keeps them up
Merging something that breaks a dashboard they have never heard of, then being the person who renamed the column.
What they get
Every downstream reader of the column across platforms, before review starts, and how the new job version runs.
Readers of customer_id
ANALYTICS.ORDERSmart.revenue_by_regionRevenue by regionAsks
“Which of our changes reach other teams’ work?”
Keeps them up
Finding out a change reached another team from that team, after the merge, with no record of who reads what.
What they get
One report on every pull request: what breaks, in which platforms, and which links are only inferred.
Readers of customer_id4 readers · 3 platforms
SnowflakeANALYTICS.ORDERSparsed
Snowflakemart.revenue_by_regionparsed
TableauRevenue by regionparsed
Notebookchurn_featuresinferred
Edges matched by name are marked inferred.
03 · How the report is built
Callisto’s agent reads the diff, lineage, versioned history and runtime metrics for every PR, then writes one report.
Start at the changed column and follow it through every table, job and extract that reads it. Lineage is parsed from each job’s SQL. Edges matched by name are marked inferred, and systems Callisto can’t read yet show as not mapped.
Callisto compares each affected job’s runtime metrics between versions. A new version that scans four times the bytes of the last one shows up in the report before it ships.
Versioned metadata history is read as of any point, so the report compares the change against what was true on the day, not only against today’s catalog.
One comment lands in the pull request: what breaks, how the job will run, and what to check by hand. It is read-only, so it posts comments and changes nothing.
stg_orders.customer_idDownstream readers (4)
04 · The difference
Without Callisto a reviewer checks the catalog, the orchestrator, query history and the BI tool by hand, for every pull request.
Without Callisto
4 tools · 0 joins
With Callisto
Rename customer_id to cust_id #482
Openwants to merge 1 commit into main
callisto bot 2 minutes ago
Renaming customer_id breaks 3 readers: ANALYTICS.ORDERS, mart.revenue_by_region and the Revenue by region extract. churn_features matches by name only.
1 pull request · 1 comment
05 · How it works
Title
Description
Step 01
Your team opens a pull request on GitHub the way it already does.
Step 02
Callisto reads lineage, metadata history and runtime metrics together.
IMPACT REPORT
stg_orders.customer_idrenamedANALYTICS.ORDERS+2churn_featuresinferredStep 03
You get what breaks, how the job will run, and what to check by hand.
06 · Is this you?
Fits
Not a fit
Callisto shows what a change will break. It doesn’t apply the fix: it is read-only outside the comments it posts.
For consultancies and SIs →Faster estate discovery, and a tool the client keeps using after handover.07 · FAQ
It checks a pull request against everything downstream of the code it changes, before the merge. Callisto traces the change through column-level lineage, compares runtime metrics between job versions, and posts the result as a comment in the PR.
GitHub only today. The pull request flow doesn’t support GitLab, Bitbucket or Azure DevOps yet.
No. Callisto shows what a change will break. It doesn’t apply the fix: it is read-only outside the comments it posts.
Callisto reads metadata, lineage and run history. It is a single-tenant deployment and read-only outside the comments it posts.
It compares how a job runs across versions, such as the bytes scanned. A new version that scans four times the bytes of the last one shows up in the report.
Snowflake, OpenLineage providers, dbt, Airflow and GitHub.
Edges matched by name are marked inferred, and systems Callisto can’t read yet show as not mapped. A reviewer can tell a fact from a guess.
In the pull request thread, where the report is posted.
Join the waitlist
Thirty minutes, your estate, one change you’re about to merge. Callisto reads it with you and changes nothing.
0–10 min
ConnectGitHub, Snowflake, dbt and Airflow, read-only.10–20 min
One pull requestA change your team is about to merge.20–30 min
Read the report togetherWhat breaks, how the job runs, and what is inferred.Single-tenant deployment. Callisto reads metadata, lineage and run history. It is read-only outside the comments it posts.