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.

Network of glass nodes joined by light trails, one node glowing red

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

  1. Collect

    After every run Tessel reads run logs, the manifest and warehouse metadata. Read-only, no query results.

  2. Trace

    It walks upstream from each failure to the first node that failed, slowed down or changed shape.

  3. 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.
Sneha PillaiData Platform Manager, Qanat

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.

Chat on WhatsApp

Cookie preferences

Cookie policy