The glossary does not count as implementation
- Created
- Decided
- Versions
- History
Context
Under ADR-0003 a document is implemented when it is accepted and some spec page includes it. The glossary is a spec page, and its includes list is filled in by the same means as any other: the shipped glossary template tells an author that the RFC which named or renamed a term belongs there, and archdoc term add --from writes it.
Citing the RFC that named a term therefore marked that RFC as built. The tool reported as implemented whatever it had just instructed someone to cite, and the index named the glossary as the page where the work had been done.
Decision
Inclusion by the glossary does not make a document implemented. A document is implemented when it is accepted and some spec page other than the glossary includes it, and the index's Implemented in column lists the same pages the fact is derived from.
The included_in list keeps the glossary as written. Which spec pages reference a document is a separate and factual question from whether it has been built.
Alternatives
- Counting the glossary like every other spec page. This was the first form. It made
archdoc term add --from RFC-0001, which the glossary template asks for, enough on its own to report RFC-0001 as built.
Whether anything other than the form it replaced was weighed is not recorded.
Consequences
Easier:
- A document is reported as implemented only where a page describes the behaviour it specifies.
- Citing the RFC that named a term carries no consequence beyond the citation.
Harder:
- The glossary is a spec page under every other rule, so this exception has to be restated wherever implementation is described.
Constrained:
- The two readings of
includeswill be kept apart: the full list answers what references a document, and the filtered list answers whether it is built. Anything deriving one will have to say which it means.
Sources
- 24f2f7a makes the change and sets
createdanddecided. Its message states that the glossary template asks for the RFC that named a term to go inincludes, so the tool reported as built whatever it had just told someone to cite. internal/repo/derive.goat 24f2f7ad, the comment onImplementedand the docblock onImplementedIn, state the reasoning and the separation of the two lists.internal/index/index.goat 24f2f7ai, theImplemented incolumn, states that the column has to agree with the fact derived from the same list.internal/template/glossary.mdat 24f2f7ag carries the instruction the reasoning rests on.
Source adr/0014-the-glossary-does-not-count-as-implementation.md · commit aa43057 · exported