--- id: INT-9 family: RT-INT level: extended profiles: [runtime, storage-api] posture: normative-target added: "1.0" changed: "1.0" source: https://flowdrop.io/spec/rules/rt-int/int-9 specification: FlowDrop Workflow Specification 1.0-draft licence: CC BY 4.0 --- # INT-9 — One execution has at most one stored snapshot *RT-INT (Part II) · level: extended · profiles: runtime, storage-api · added in 1.0* ## The rule > **Normative.** This is the rule. > > 1. Storing a snapshot is an upsert keyed by execution identifier: an existing record for the same execution is overwritten in place, so one execution never accumulates two snapshot records. > > 2. Cleanup deletes records created before a given time and, where a set of statuses is given, only those whose status is in it, answering with the number deleted, zero when nothing matches. > > 3. Access to a snapshot is enforced at the API boundary and enforced once there, not repeated by the layer that stores them. > > 4. A scheduled cleanup runs with no principal and deletes on the predicate above alone. ## Related rules - Names: INT-6 - Referenced by: INT-6 --- 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.