SpecSheriff
rule · _guidelines/spec/5.3 · s-jsqxdx47wkkj7gp

A procedure that writes the specification is idempotent

Checkedconfirmed by its owner

Every procedure that writes the specification, or what is generated from it, is idempotent: run again on what its previous run left, it gives the same result and changes nothing, so running it again is always safe. A procedure needed only once, such as bringing existing documents into the model, is removed once it is done, since it is idempotent only on the state of the specification it was written for.

Why

Whoever works on the specification may run such a procedure at any time, by hand or as part of a check, without knowing whether it has run before; one whose second run changed anything would damage the specification the next time it ran. A procedure written for one state of the specification can damage a later one.

The links made to it

The decisions taken on it

2026-10-27 · textual
Problem

Safety to run again was stated of the commands of one toolset, in words that did not name the property they meant.

Ruling

The owner: it is stated of every procedure that writes the specification, by its standard name, idempotent.

The tests bound to it