Product
Root-cause detection
When a run fails, Tessel walks the lineage graph back to the first step that went wrong and sends one alert, not forty.
How it works
Most pipeline alerts tell you where a failure surfaced, which is rarely where it started. A late source table makes a staging model fail, which fails twelve marts, which fails four dashboards, and your Slack channel gets seventeen messages before anyone has finished their coffee.
Tessel reads the run logs and the dbt manifest after every run, rebuilds the dependency graph and marks each failure with what it depends on. Failures that share a cause become one incident, pinned to the earliest broken node, with the error, the last good run and what changed in between: code, schema, volume or timing.
Each incident names an owner from your dbt meta tags or CODEOWNERS file, so it lands with the person who can fix it rather than in a channel everyone has muted.
Step by step
-
Collect
After every run Tessel reads run logs, the manifest and warehouse metadata. Read-only, no query results.
-
Trace
It walks upstream from each failure to the first node that failed, slowed down or changed shape.
-
Explain
One incident with the cause, the blast radius and the owner, posted to Slack and the Tessel dashboard.
By the numbers
- fewer alerts per incident
- 68%
- Median across customers in their first month
- from run end to incident
- 90 s
- Median, measured in September 2026
- cause types recognized
- 6
- Code, schema, volume, freshness, permissions and infrastructure
Our alert volume dropped by two thirds in the first week, because forty downstream failures now arrive as one incident.
Questions about root-cause detection
Does it need column-level lineage to work?
No. Model-level lineage from your dbt manifest or Dagster asset graph is enough to group failures. Column-level lineage makes the explanation sharper when it is available.
What if the cause is outside our pipelines?
Tessel says so. If a source table stopped arriving or a warehouse role lost a grant, the incident names the source and the last time it was healthy, even though there is no code to fix.
Can incidents go to the right team automatically?
Yes. Tessel reads owners from dbt meta tags, Dagster asset owners or your CODEOWNERS file, and routes each incident to that person or channel.
See it on your own pipelines
A 30-minute demo on a copy of your project, or start free with up to 25 models.