A checked rule is implemented or exempted
Every checked rule is implemented: a symbol of the system's code carries its tag, and a test carries its sid and passes. A tag or a test naming a rule that implements it, directly or through rules that implement those in turn, counts for it.
This holds for every rule of the specification but those of the SpecSheriff guidelines, of the project's own guidelines and of the technical debt (§s-2r7k2aeyusgy6fw).
A node of the project's own guidelines exempts a rule from being implemented through an exempts link to the rule, or to a section it stands under (§s-sn6au3vcr9uy5pm), and gives the reason in its own text.
A checked rule states what holds of the system it specifies, what the system does or how it is built, so one the system's code does not carry out leaves the specification stating what does not hold of it. A tag shows where the code carries the rule out (§s-kgbzk2ph9e6jfb4), and a test naming the rule shows that the code does what the rule says, but only while it passes, as every test of the system's code must before a commit is shared (§s-jau82aq9juv9zzh); only both together show it by a check. A tag or a test of a rule implementing it counts, since an implementing rule is how the rule it implements is carried out (§s-sn6au3vcr9uy5pm).
The SpecSheriff guidelines are carried out by the tools and the skills that apply them, never by code a tag binds: a project does not hold that code, and the repository writing them exempts it from tags by where it lives (§s-kgbzk2ph9e6jfb4). A project's own guidelines, which hold what only its specification needs (§s-bsya3febm6u64ab), are carried out by those tools and skills and by people, not by the system's code; and a rule of the technical debt describes a problem set aside, which is not required of the system and goes once it is solved (§s-2r7k2aeyusgy6fw). A rule the system's code cannot carry out, or that no test can verify, would be reported for as long as it stands, so it is exempted; the exemption is a node, which its owner confirms with its reason.
The links it makes
- cites → The technical debt holds the problems of the default implementation set aside
- cites → A link carries its type
- cites → Every symbol carries a tag, and what carries no rule says so
- cites → What is checked, when, and what a failure costs
- cites → A project's own guidelines refine or implement the SpecSheriff guidelines
The links made to it
The decisions taken on it
- Problem
Nothing reported a checked rule that the system's code did not carry out: a test was required only once a commit changed a rule's code, so a rule nobody reached stood unnoticed while the specification stated it.
- Ruling
The owner: every checked rule is implemented — a symbol of the system's code tagged with it and a passing test carrying its sid, a tag or a test of a rule implementing it counting — or is exempted by a node of the project's own guidelines with an exempts link; the SpecSheriff guidelines, the project's own guidelines and the technical debt are outside it, where the guidelines are written as well.
The tests bound to it
- skills/tools/test/unit/binding.test.ts · s-6fw72j65jkqrfpf counts a tag and a test of a rule implementing it, through rules implementing those in turn
- skills/tools/test/unit/binding.test.ts · s-6fw72j65jkqrfpf leaves out a rule a node of the project's own guidelines exempts, by a link to it or to a section above it, and the guidelines and the technical debt
- skills/tools/test/unit/binding.test.ts · s-6fw72j65jkqrfpf reports a checked rule no tagged symbol or no test that runs carries out, and refuses nothing for it