Context
ADR-003 gave the SOTA scheme seven topics and the LIT scheme those seven
plus five more, on the ground that “the reading list covers ground the
practice registry does not”. ADR-020 then found that sentence true of two of
the five and false of two others, and scoped the recommendations by kind of
claim rather than by domain.
What neither decision did was look at whether the seven are enough. They are not, and the evidence is already in the record rather than hypothetical.
Seven practices about serving, filed under four different topics:
| practice | filed as | about |
|---|---|---|
| SOTA-005 | model-stability | running statistics at inference |
| SOTA-023 | model-architecture | multi-query attention for memory bandwidth |
| SOTA-105 | attention-techniques | PagedAttention for batch inference |
| SOTA-113 | systems-optimization | continuous batching |
| SOTA-115 | systems-optimization | prefill/decode overlap |
| SOTA-163 | systems-optimization | microscaling quantization formats |
| SOTA-185 | systems-optimization | error-compensating post-training quantization |
Six about adaptation, across four more: SOTA-038 (model-architecture),
SOTA-123 (data-pipeline), SOTA-151 (attention-techniques), SOTA-154 and
SOTA-184 (training-optimization), and the preference-training pair.
A reader who wants to know what this record says about serving has to visit four pages and guess. That is a category that exists in the corpus and not in the list, which is the second test in DP-009.
The LIT scheme has had the right words for both since ADR-003:
inference-optimization and adaptation-and-tuning.
Decision
Add inference-optimization, adaptation-and-tuning and
representation-and-encoding to record/practices.d/tags.yaml, taking the
practice vocabulary from seven topics to ten, and retag the practices above
onto them.
The third arrived differently from the first two and the difference is the interesting part — see How the third topic was found, below.
Both words are already the LIT scheme’s, which is the point: where the two
vocabularies name the same kind of claim, they should use the same word.
Amended in #114. That sentence was true of the first two topics and this
decision did not act on it for the third. representation-and-encoding was
added to the practice vocabulary alone, so from here until #114 the two
vocabularies named the same kind of claim with a word only one of them had —
exactly what the paragraph above says not to do. The topic is now in
record/literature.d/tags.yaml as well.
It surfaced the way these things do: a NOTE on a tokenization paper had no
topic to take, because NOTE inherits LIT’s vocabulary. LIT-003 — the BPE
paper — had been filed under model-architecture for want of anything better,
and is retagged.
What stays LIT-only is generative-modeling and vision-and-graphics,
because those name a domain rather than a kind of claim, and ADR-020’s
argument against domain topics is unchanged — a topic spent naming the domain
is a topic not spent naming the claim.
analysis-and-evaluation is not added. It is the third kind-of-claim word
in the LIT extras, and there is no practice in the record that wants it: the
evaluation-adjacent notes (LPIPS, BIG-bench, the lottery-ticket pair) carry no
instruction. Adding a category to hold zero documents is DP-008’s corollary
run backwards. It goes in the moment a document needs it.
Alternatives considered
- Leave the seven and let serving practices scatter. What has been happening, and the scatter is the argument against it. It also produces the reverse error this decision is a response to: with no home for a serving claim, the reflex is to read a paper about serving as out of scope, which is DP-009’s reading (1).
- Add one broader topic —
deploymentor similar — covering both. Fewer categories, and it merges two decisions that are made by different people at different times: how to adapt a trained model, and how to serve one. TheLITvocabulary already separates them and nothing has gone wrong with that. - Add
analysis-and-evaluationtoo, for symmetry. Rejected above: no documents. - Add a representation or encoding topic. Deferred, and flagged rather
than ignored: LIT-064, LIT-086 and LIT-111 all carry input-encoding or
representation claims with nowhere to go, and the record’s existing encoding
practices are scattered the same way serving was (RoPE under
attention-techniques). The difference is that no practice has been filed on those yet, so the retagging evidence this decision rests on does not exist. The honest move is to file one and see where it wants to live.
How the third topic was found
The first two topics came out of a search over practice titles for words
like inference, serving, fine-tune. That query works and it has an
obvious defect, which is DP-004’s: it finds the categories you already
suspect, because you have to name them to search for them.
The third came out of a query that names nothing. Take the declared relation
graph — extends, corrects, compared_against and their converses — find
its connected components, and ask whether each component sits inside one
topic. A lineage is a set of practices the record has asserted belong
together; a topic is a set it has declared belong together. Where those
disagree, one of them is wrong.
Twelve components span more than one practice. Three crossed a topic boundary:
- SOTA-063, SOTA-151, SOTA-153 — RoPE, extending context by rescaling it,
and dropping it from the global-attention layers. One argument about
positional encoding, filed under
model-architecture,adaptation-and-tuningandattention-techniques. Adding SOTA-179, which truncates the rotary low frequencies, makes four practices across three topics, and SOTA-007 on tokenization is the same shape. That is the evidence this decision’s other two topics rest on, and nobody had to think of the word “encoding” to find it. - SOTA-145, SOTA-146, SOTA-154 — the GRPO baseline, its correction, and
the evolution-strategies alternative it is compared against. This crossing
was created by the first draft of this decision, which moved SOTA-154 to
adaptation-and-tuningand left the other two behind. Repaired here: all three are post-training. - SOTA-085, SOTA-161 — use flash attention, and keep the attention output in FP32 because flash attention. Genuinely both an attention technique and a stability claim, and left crossing. Not every disagreement is an error; some are the vocabulary being lossy, and a check that cannot say so is a check that will be ignored.
After the retagging, one of twelve components crosses, and it is the third.
The check is worth having as a check. It needs no new machinery —
luria.edges.graph() already builds the cross-scheme relation graph, and
Graph.inbound() already exists — and unlike DP-009’s second test it
does not depend on somebody guessing the right search term. Proposed to
luria rather than built here, because every record with relations and
tags has this question.
Consequences
luria lint enforces exactly one primary topic per practice, so the retagging
is mechanical and checkable, and the tag pages regenerate.
The two new pages will be small at first — seven and six entries — which is the right size for a category that was already there implicitly.
This is the third decision in a row about the same vocabulary (ADR-003 set it, ADR-020 stopped it being read as a domain boundary, this one widens it), and that is worth naming as a pattern rather than a coincidence: a vocabulary written once for a corpus of 119 practices is now governing 185 across a wider subject, and the seven categories were transcribed from a 2024 document that predates most of what the record now holds. Expect a fourth.