Three records, each answering a different question
A rule is bound to its implementation by three records: a tag carrying the node's sid, on the symbol in the code that implements it; the node's sid declared by the test that verifies it, so that a run of the tests reports it; and, in the node's metadata, the lists of that code and those tests. All three are written by hand, and they must agree.
Each answers a different question. The tag says what a symbol implements. The sid a test declares says whether the rule is verified, so that a run of the tests is itself a report of which rules are covered. The lists say what implements a rule, to a reader who has the rule open.
The links made to it
The decisions taken on it
- Problem
A test bound to its rule by the opening of its name cannot be written in a language whose names cannot hold a hyphen.
- Ruling
The owner: a test declares the sid of what it verifies however its language allows, so that a run of the tests reports it.
The tests bound to it
- skills/tools/test/unit/binding.test.ts · s-rwqzepmrt77rv35 holds a node naming the symbols in a file to them
- skills/tools/test/unit/binding.test.ts · s-rwqzepmrt77rv35 refuses a node naming the symbols in a file that leaves out one its tag stands on
- skills/tools/test/unit/binding.test.ts · s-rwqzepmrt77rv35 refuses a node's lists of code and tests that the tags and the tests' sids do not produce