One WhatsApp sentence defined what a P&L is — then an audit caught me
One WhatsApp sentence defined what a P&L is. Three days after I designed for it, my own audit caught production doing the forbidden thing: 0 builders among 24 mart models.

The €100 Lakehouse — 11/12
One WhatsApp sentence defined what a P&L is. Three days after I designed for it, my own audit caught production doing the forbidden thing: 0 builders among 24 mart models.
Verbatim: "Do it however you like, as long as past months stay static." If June's margin changes in August, July's number was never a result — a running total wearing a month's name.
So fct_monthly_result freezes closed months; the open month, still a forecast, recalculates nightly. Frozen can be wrong — a late payment won't show; restatements are signed.
The audit, 2026-08-01:
→ the table existed, freeze apparatus complete
→ no builder in the mart, 0 of 8 publish targets, unread by the dashboard; only writer: a 54-row demo fixture
"The decision is recorded and the behaviour it forbids is the behaviour in production."
The fix: gold recalculates all 33 months nightly, blind to closures; the publish MERGE skips closed rows; a database trigger refuses everything else — the app isn't the only writer, so not the only guard. Drift is free: live recalc vs frozen row, reported, never acted on.
Seed closed months from the legacy? No — 22 of 32 matched within 2%, one to the cent. The divergence is the instrument; seeding destroys the comparator.
A decision log nobody audits against production is fiction.
What's the shortest client sentence that ever turned out to contain your system's deepest requirement?
Databricks · dbt · Airflow · Terraform · AWS
P.S. New tech post every Wednesday.
#100EuroLakehouse #dbt #AnalyticsEngineering
Comments