A skip is recorded, but it is not an execution
"When did this last actually run" is the question a trigger's record exists to answer, and it has to survive any number of skips in a row.
The rule
Normative: this is the rule
- A trigger keeps, per trigger, the time it last ran, the number of times it has run, and a history.
- Recording an execution advances all three.
- Recording a skip appends a history entry carrying the reason for the skip and leaves the last-run time and the run count untouched.
- The history is newest-first and holds at most the ten most recent entries from either writer, so an unattended trigger cannot grow its record without bound.
- Stored state that is not in the shape expected is read as absent (no last run, a count of zero, an empty history) rather than failing the trigger.
Rule identifiers are permanent and are never renumbered. Each implementation publishes its own standing against these rules; this specification does not.spec 1.0-draft · TRIG-3 · changed in spec 1.0