The system's code is the code implementing the specification, and its tests
The system's code is the code implementing the specification outside its guidelines, written by hand or generated from its nodes, and the tests verifying that code. The repository's configuration, its own tools and the tests of those tools are not the system's code. A project's own checks and generators are among those tools (§s-km4x4s26kv7pjze). The two are told apart by where each lives.
Code and its tests are written together, the test first (§s-rah8b37kytb682y). A rule counts as implemented only by a symbol carrying its tag together with a passing test carrying its sid (§s-6fw72j65jkqrfpf), so the tests belong with the code they verify. Code generated from a node is part of the system as much as code written by hand. The repository's configuration and its own tools serve the work on the system, not what the system does. Where a file lives reads the same to every check, so it decides on which side the file is.
The links it makes
The links made to it
- cites ← Every symbol carries a tag, and what carries no rule says so
- cites ← A checked rule is implemented or exempted
- cites ← What is checked, when, and what a failure costs
- cites ← In a draft, untagged code is refused only where a commit changes it
- cites ← A specification is put live once
- cites ← A project's own checks and generators are tested against the rule listing them
- implements ← Where the files are
- implements ← Tags on the system's code
- cites ← The review of a commit
- cites ← The project's own tools in a git hook
The decisions taken on it
- Problem
Nothing said what the system's code is, while the base names it throughout, and the repository's tools, its configuration and every test were exempt from tags by where they live.
- Ruling
The owner: the system's code is the code implementing the specification, its tests included, since they are written first; the repository's configuration, its own tools and their tests are not.