When green runs still miss delivery

A successful job status is not the same as a timely dataset. Here is how we separate scheduler success from consumer freshness.

Server racks glowing softly in a cool room

Automated data operations teams often celebrate a night of green checkmarks while a finance extract sits twelve hours late. The scheduler told the truth about process exit codes. It said nothing about whether the table a product team opens at 09:00 actually refreshed.

In Sheung Wan engagements we start by naming the consumer promise in plain language: which dataset, by which clock, for whom. Only then do we map scheduler success to that promise. The mismatch almost always lives in a silent branch โ€” a conditional skip, a partial load treated as complete, or a downstream cache that nobody invalidates.

Application analytics for automated data operations means instrumenting the path the consumer cares about, not only the job that ops finds convenient to watch. When those two diverge, green runs become a false calm.

A practical next step is a freshness probe attached to the published table, not the DAG node. Pair it with an ownership line so the alert reaches the person who can reopen the load โ€” not a shared inbox that wakes nobody.