Every change to the house leaves a dated, attributable row
Problem
A house full of scheduled jobs, alerts and hand edits, and no shared record of any of it. Asking "what did we change around then?" meant reconstructing events from commit history and memory, which is exactly the question an audit trail exists to answer in one query.
Action
One append-only table. Every run writes a row with its time, topic, status and structured detail; every notification writes one too, so the record holds everything the phone was told. A hand change leaves a note with a single command. The dashboard over it reads, and can append exactly one kind of row, an alarm stand-down, under a database role that allows nothing else.
Outcome
3,800+ attributable rows since July 2026. "What touched the network that week?" is a filter, not an investigation, and a quiet night reads as a row that says so rather than as silence that could mean anything.
The detail worth keeping: a run that fires its alerts and then dies has already woken somebody, so looking for it in the run rows alone finds nothing. Logging the notification as its own row is what makes the record match what actually happened, not what the code meant to happen.
Discuss your project
Email me with what your system does, what is failing or missing, and your timeline.
Limited slots, and a short discovery call to confirm fit, scope and timelines before anything is agreed.