A node is cited by its sid, and its id is its address
A node carries a sid, given to it once and never changed, and is cited by it everywhere: in the links between nodes, in the code, in the tests and in commits.
Its id is its address: the part it stands in, followed by its place there — for a section or a rule, its number among the sections and rules under the same parent; for a term, the term. The header of a domain is addressed by the domain's name alone, and the node at the top of a file of the guidelines, of the technical appendix or of contracts by the part's name and the file's; each file of the guidelines and of the appendix is numbered under that address of its own, while contracts, like a domain, is numbered under the part's name straight through its files.
The address is computed from where the node stands, never written by hand, and nothing refers to it.
A reference to a place breaks whenever the place changes, and a specification that grows is reordered and has its rules moved between domains for as long as it grows. A sid is not a place, so a move cannot break a reference that holds it: moving a node changes its address, never its sid. The address stays where a person reads, computed so that it can never disagree with where the node stands.
The links it makes
The links made to it
The decisions taken on it
- Problem
A test in a language whose names cannot hold a hyphen declares its sid by a mark rather than in its name.
- Ruling
The owner: a sid is cited in the tests, however a test declares it (§s-rwqzepmrt77rv35).
The tests bound to it
- skills/tools/test/unit/model.test.ts · s-kag2m9tzdnduxdx addresses a domain's header by its name and numbers its sections straight through its files
- skills/tools/test/unit/model.test.ts · s-kag2m9tzdnduxdx addresses the node at the top of a file of contracts by the part's name and the file's, and numbers the rest of contracts straight through its files
- skills/tools/test/unit/model.test.ts · s-kag2m9tzdnduxdx computes for every node of the SpecSheriff guidelines the address it stands at
- skills/tools/test/unit/reindex.test.ts · s-kag2m9tzdnduxdx computes every node's address from where it stands