--- id: TRIG-3 family: RT-TRIG level: extended profiles: [runtime] posture: normative-target added: "1.0" changed: "1.0" source: https://flowdrop.io/spec/rules/rt-trig/trig-3 specification: FlowDrop Workflow Specification 1.0-draft licence: CC BY 4.0 --- # TRIG-3 — A skip is recorded, but it is not an execution *RT-TRIG (Part II) · level: extended · profiles: runtime · added in 1.0* "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. > > 1. A trigger keeps, per trigger, the time it last ran, the number of times it has run, and a history. > > 2. Recording an execution advances all three. > > 3. Recording a skip appends a history entry carrying the reason for the skip and leaves the last-run time and the run count untouched. > > 4. 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. > > 5. 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. This specification carries no implementation status: each implementation publishes its own standing against these rules. Licensed CC BY 4.0.