In a draft, untagged code is refused only where a commit changes it
While a project's specification is a draft, a symbol of the system's code outside its tests that carries no tag is reported rather than refused as long as a commit does not change it.
A project taking up the method holds code written before its rules, which are checked only as its owner reviews them, and adding a tag is a change to a symbol's code, which must then name a checked node (§s-kgbzk2ph9e6jfb4); refusing every untagged symbol would refuse every commit until all the code had its rules. Only the symbols a commit leaves alone are relieved, so nothing unconfirmed is implemented and every change to code is reviewed, and what is reported is what is left to tag.
The links it makes
The links made to it
The decisions taken on it
- Problem
A project adopting the method with code it already has could not commit while its rules were agreed, since every untagged symbol was refused and a tag added had to name a checked node.
- Ruling
The owner: a project's specification is a draft or live; first, a draft relaxed every check binding the code, then, the reviewer apart finding that against two principles, narrowed: a draft relaxes only the refusal of an untagged symbol a commit does not change, which is reported; a changed symbol is held as when live.
- Problem
The system's code came to include its tests, which carry a sid rather than a tag.
- Ruling
Following the owner's ruling on §s-hheus6f395ynqvc: a symbol of the system's code outside its tests.
The work deferred on it
A draft is above all work on the specification, and the tests and the code are secondary in it. While a draft, a test a commit does not change and that names no node is reported rather than refused, as untagged code is, and the tests of the system's code need not run at a push, to keep the work quick. A project with tests can then commit its setup before every test is tied to a node. The task that makes a test carry a tag takes it up.