ARCHIT ROY / TECHNICAL NOTES / 003 / JUL 2026 / 7 MIN

Pigeon: the last mile of an alert

Why analytical correctness and operational communication should be separate systems.

REPORTINGEMAILOPERATIONS

An alert is not a row

Watchdog could produce correct persisted states and still fail the person receiving them. An operator needs to know what changed, how severe it is, where to look first and whether silence means healthy, failed or not yet evaluated.

Pigeon owns that last mile. It is a common reporting service, not a second analytical engine. The separation makes both responsibilities easier to test.

This is a public-safe account of the work. Internal identifiers, proprietary thresholds, prompts, infrastructure details and operational commands are intentionally omitted.

The successful-run gate

Before reading alerts, Pigeon verifies that the requested evaluation finished successfully and was marked for publication. It never treats a failed run as all-clear. When a valid run contains no alerts, it can send an explicit all-clear rather than leaving recipients to infer meaning from silence.

This is a small state-machine decision with large trust consequences. Once a system sends one misleading green report after a failed job, every future message becomes suspect.

Designing for email's worst decade

The report uses email-safe tables and compact inline styling because modern web layout support is unreliable across clients. Summary cards lead into severity counts, affected markets, ranked rows and relative impact bars. A causality note reminds readers that an anomaly is a starting point, not a diagnosis.

The first version was also reduced in size to avoid inbox clipping. Attractive reporting is useful only if the important rows survive the client.

Preview before send

Pigeon supports saved-data previews and a no-send path. Rendering, MIME construction and recipients can be checked without contacting production databases or mailing a broad list. Delivery is enabled only after the report is inspectable locally.

The broader lesson is simple: outputs deserve the same engineering care as inputs. A reliable analytical system ends when the receiver can understand and act—not when a database write returns success.

Written by Archit Roy. This is a public-safe account of the work.