October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run ScanOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk7 min

Project Sentinel: One Morning Digest for Every Failure in Our Data Stack

Project Sentinel collects health metadata from every layer of a data stack and sends one morning Slack digest, with an AI agent summarizing deterministically filtered failures.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Project Sentinel is a custom pattern for answering one question each morning from a single place: is the data behind our dashboards current, complete, and correct? Instead of checking the orchestrator, the ingestion jobs, the transformation layer, and the BI tool one at a time, a small set of collectors writes health metadata for every layer to a shared store, and an AI agent turns the qualifying failures and anomalies into one Slack digest. The approach is described by its author in a first-person DEV Community write-up by gentjan_likaj, indexed as published September 29, 2026. It is a practitioner’s account of an implementation, not an independent evaluation.

The question that motivates it is the one stakeholders ask most often: “The dashboard looks off. Is the data updated?” A green orchestration run does not answer that. As the author puts it, “Green pipelines don’t mean correct data.”

As an Amazon Associate I earn from qualifying purchases.

Why a green pipeline is not enough

Most data teams already monitor their jobs. An orchestrator marks a DAG as successful, a load finishes without raising an error, and a transformation model builds. Each of those signals is true and each is narrow. None of them tells you whether the row count dropped by half, whether a revenue KPI moved for reasons unrelated to the business, or whether a Tableau extract still reflects yesterday’s source.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The author’s example makes the gap concrete. A pipeline can report success while its output is wrong in three distinct ways: the volume of rows has changed, a business metric has shifted unexpectedly, or a report-level value no longer matches the source of truth. Sentinel is built to surface those silent failures alongside the loud ones.

The stack the example monitors

The example pipeline is AWS-centered. APIs and databases feed AWS Glue jobs, which load Amazon Redshift; dbt transforms the data inside Redshift and builds a further layer there; Tableau reads the output. Airflow coordinates the runs. Each layer fails in a different way, which is why a single job-status check is not sufficient.

Layer Tool in the example Typical failure that stays hidden What Sentinel checks
Orchestration Airflow A run finishes late, retries silently, or misses its deadline Latest state, duration against average, task retries, owner, SLA status
Ingestion AWS Glue A job succeeds but one partition or file was skipped Recent run status, duration, error message, per-run parameters
Transformation and sources dbt, Redshift sources Source data is stale or row volume collapses Model executions and errors, source freshness, row volume against the same weekday last week
Business metrics Warehouse KPI tables Costs, leads, sessions, or orders shift without a pipeline error Core KPIs against the same day last week, skipping very small values
Reporting Benchmark source of truth A report drifts from its source or history gets restated North Star KPI compared with a benchmark
Presentation Tableau An extract refresh fails and the dashboard shows stale numbers Failed extract refreshes, mapped to datasource owners

How the pieces fit together

Sentinel separates collection from reporting. Producers and consumers never talk directly; they meet at a common store of JSON health files. The sequence runs as follows.

  1. Collectors write health metadata. Each collector writes a JSON health file for its layer to Amazon S3.
  2. A thin internal API exposes the files. A small HTTP service reads a requested health file from S3 and returns it as JSON.
  3. Airflow starts an agent session. After the collectors finish, Airflow launches a short-lived agent session with a version-controlled prompt and shell access.
  4. The agent queries the gateway. It calls the gateway endpoints for each layer and retrieves the health records.
  5. Failures and anomalies are filtered and mapped. Qualifying records are filtered, mapped to their owners, and noisy errors are reduced to a probable root cause.
  6. One Slack post is composed. The post is either an all-clear or a grouped list of issues with owners tagged.

Because the health files sit in S3, the author presents several side benefits: producers are decoupled from consumers, payloads can be inspected and replayed, and any HTTP-capable consumer can use the same data. These are design claims from the author. The write-up does not test them independently.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What each layer reports

Airflow

For each DAG, Sentinel records the latest pipeline state, how the current duration compares with the average, the number of task retries, the owner, and SLA status. SLA deadlines are set as times of day. A failure callback writes a meaningful error line to S3 on a best-effort basis, so the digest can explain a failure rather than just flag it. Because the callback is best-effort, a missing error line should be treated as a gap in the context, not as evidence that nothing went wrong.

AWS Glue

For each job, Sentinel captures recent run status, duration, and the error message. Jobs that run many times a day need more than the latest status. The author retains per-run parameters so the report can identify which partition or file failed, which turns a vague “ingestion failed” into a specific retry target.

dbt and source tables

Sentinel records model executions and errors from dbt. It also checks source freshness and compares row volume with the same weekday in the prior week. Comparing against the same weekday, rather than the previous day, is what allows the check to account for ordinary weekly cycles.

Business KPIs

Core metrics such as costs, leads, sessions, and orders are compared with the same day last week. The author skips very small values, because a small absolute movement can look like a large percentage change and produce noise. The write-up does not supply a threshold formula, so teams adopting the pattern will need to set their own cut-off and justify it against their own data.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The sample digest line in the write-up reads “~50% of last week,” which illustrates how a volume comparison is phrased. It is an example of output format, not a measured result.

North Star reconciliation

A reporting table is compared against a benchmark. This is how the pattern catches drift from a source of truth or a restatement of historical figures, which a pipeline status check would never flag.

Tableau

Sentinel identifies failed extract refreshes and the owner of each datasource so the issue can be routed to the right person rather than posted to a general channel without an owner.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Running the agent safely

The agent’s job is summarization and triage, not detection. Detection is deterministic. The author’s most important design choice follows from a failure they describe: in an earlier iteration, the model received the full payload and the input was truncated, so records were silently dropped and the digest reported a clean state that was not true. The lessons below are the author’s, and each addresses a specific way an LLM step can fail quietly.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Filter deterministically before the model reads anything

Do not ask the model to decide what to discard from a large payload. Filter every record with a deterministic step first; the author uses jq for this. The model then receives only the smaller set of qualifying records to summarize. The rule is simple: the model explains failures, it does not decide which failures exist.

Treat empty or broken replies as failures

An empty response from the agent, or a reply that does not parse, should fail visibly. Reporting success on a blank reply is the same silent-failure problem Sentinel exists to catch.

Do not blindly retry billable, non-idempotent steps

A retry of a step that posts to Slack or calls a paid API can create duplicates or extra charges. The author’s recovery for a failed post is to wait for the next scheduled run rather than retry automatically.

Tear down agent sessions

Each session should be closed after success or failure. A session left open after a crash consumes resources and keeps shell access alive longer than necessary.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Keep the prompt in version control

The prompt is code. Changes go through review in the same way as pipeline changes, so a wording change that alters what the digest reports can be traced and reverted.

Report partial outages instead of suppressing the digest

If one source cannot be reached, the digest should say so and deliver the results it has. Suppressing the whole digest because one source is down would hide the failures that are still visible.

What the author reports, and what is not established

According to the write-up, morning triage moved to a single Slack message; silent issues such as low volume, KPI shifts, and report drift became visible; owners were tagged on each issue; and the health metadata could feed other reports and agents. These are the author’s observations about their own environment.

The write-up does not provide measured alert accuracy, noise reduction, mean time to detection, time saved, or any comparison with other approaches. It is a single practitioner account, so it does not establish that the pattern will reduce noise or detect failures in another stack. Treat it as a worked design to adapt, not a benchmark.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Criteria for evaluating your own version

If you are deciding whether to build a pattern like this or adopt a monitoring product, these criteria follow from the failures described above:

  • Breadth of source integrations across orchestration, ingestion, transformation, and BI
  • Support for freshness, volume, KPI, and report-level checks, not only job status
  • Retention of failure context, such as per-run parameters and owner mapping
  • Deterministic filtering and an audit trail for what the summary was built from
  • Behavior during partial outages, including whether the digest still ships
  • Controls against duplicate posts and retries of billable steps
  • Operational overhead: who maintains the collectors, the gateway, and the prompt

“

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.