Skip to content
MAX GOLDBERG
← ALL WORK/

CASE / 03 OF 7

2025 · Retained client + editorial systems

Self-Healing Reporting Pipelines

SELF-HEALING

IN PLAIN TERMS

A report that sends itself once is easy. A report that keeps sending itself for a year is not: credentials expire, APIs change shape, things break on Saturday. I built reporting and monitoring pipelines that ship on schedule, warn me before their credentials die, and when something does break, spawn an AI session that writes the fix and hands me the diff to review.

The situation

Recurring reports and monitors are trust products. A weekly cross-channel paid media report for a retained client, daily local-news digests, breach and pipeline monitors: the failure mode is never dramatic. A token expires on a weekend, a schema changes, and the Monday report just does not arrive. Every silent miss costs credibility exactly where credibility is the product.

My job

Make scheduled delivery boring. Reports arrive on time without me touching them, problems announce themselves before a stakeholder notices, and a fix should not cost a morning.

What I built

  • Weekly cross-channel performance reporting assembled from the Google and Meta APIs, delivered by GitHub Actions on schedule since 2025, landing in a client marketing team's inbox every Monday morning
  • Credential health probes that run weekly and alert with expiry countdowns, so tokens rotate before they die instead of after
  • A daily digest pipeline whose morning health check, on failure, spawns a headless Claude Code session to diagnose the break, write the fix, commit it, and push it for my review
  • Standing monitors for data breaches, repository activity, and pipeline status across the portfolio

This is the live run history of one of them, pulled the day this page was built:

live run history · pulled 2026-07-31
$ gh run list -R maxgoldbergonline/la-digest --limit 7

  success   LA Daily Digest      manual run   11m10s   2026-07-31
  success   Dependabot Updates   auto PR      30s      2026-07-31
  success   LA Daily Digest      schedule     5m55s    2026-07-31
  success   LA Daily Digest      schedule     5m51s    2026-07-29
  success   LA Daily Digest      schedule     5m58s    2026-07-28
  success   Dependabot Updates   auto PR      35s      2026-07-27
  success   LA Daily Digest      manual run   6m17s    2026-07-27

Real run history from one pipeline, pulled the day this page was built. Green is the product.

What happens when something breaks

01
A scheduled run fires: report, digest, or probe
02
A failure exits loudly: nonzero status, alert sent, never a silent skip
03
The 7:20am health check catches anything the night broke
04
It spawns a headless Claude Code session with the failing logs
05
The session diagnoses, writes the fix, commits it, and pushes it
06
I review a diff over coffee instead of debugging before breakfast

The self-repair loop. Automated fixes arrive as commits with explanations, never as mysteries.

The results

5

pipelines live on schedule right now

reports, digests, monitors

2025

in production since

7:20

daily health check hour

AM, every morning

0

silent failures by design

every miss alerts loudly

  • Client reports have shipped on schedule through token rotations, API changes, and platform migrations
  • Credential expiries get caught days ahead by the probes, not discovered by a failed Monday send
  • Failures that once cost a morning of debugging arrive pre-diagnosed, often pre-fixed, as a reviewable commit
  • The pattern (deliver, probe, self-repair) runs across five live pipelines

Every marketing operations team owns reporting nobody wants to babysit. This is what it looks like when the babysitting is engineered away, and it is the first thing I would build inside any marketing stack that still checks its dashboards by hand.