Decision tags — What a decision is about, in the order the index shows them. Open, unlike the topics: a decision that needs a word it does not have simply gets one.

Mechanism — identifiers, generation, the lint.

16 of 66 decisions. Back to the full index.

#TitleSummaryStatus
ADR-005Replace the derived MLR identifiers with sequential codesMLR-2014-Kingma001-0001 was computed from author, year and position, so it was stable only while those were, and topic_id was a slug of the recommendation’s first five words — an identity that changed when you fixed a typo. Sequential codes with the title in frontmatter instead.Active
ADR-007One workflow commits generated files, and it marks its commits to skip CITwo workflows regenerated and committed to the same branch, and the second one landed after the job that linted the first — leaving the branch tip unchecked and opening a gated run nobody approves. Generation is now one job whose commit carries the skip marker. Rejected: keeping both and marking the generated files unscannable, which treats the symptom.Active
ADR-009Require a source of any kind for a note, not an arXiv identifierLIT required arxiv:, and the first technical report worth filing had never been posted there. The requirement is now a field group — at least one of arxiv:, doi:, url: — with a DOI remote so the second kind resolves like the first. Rejected: filing the report under its parent paper’s id, which cites the wrong document; and dropping the requirement, which is DP-001’s failure mode.Active
ADR-010A practice names every source it rests on, not onesource: held a single code while practices routinely leaned on several papers — SOTA-132’s body cites seven and its field named one — so the structured field disagreed with the prose and only the prose was true. It is now a list. Rejected: keeping one source and a see also convention, which is the state that hid 39 unsourced practices; and a separate corroborated_by:, which asks filers to grade evidence they have not weighed.Active
ADR-011 v2Lineage between documents is a field, not a paragraph repeated in every noteTen named chains — schedule, residual, Muon, sparse-attention — are the record’s most-cited content and exist only as prose, re-described in each participating note, so they drift: two notes both claimed a comparison did not exist and both were wrong on the same day. Proposes extends: and compared_against: alongside the existing superseded_by:, with the chain as a generated view.Active
ADR-012A practice declares its altitude, and one with no body cannot claim to be a design decision”Pin memory for CPU-GPU transfers” and “Use Muon in place of AdamW” are both SOTA documents with equal standing, and 103 of 144 practices have no body at all — the registry’s apparent weight is mostly one synthetic note’s bullet lists. Proposes a kind: field and a lint tying substance to altitude.Deferred — Deferred on 2026-09-23. It was never adopted, and no practice carries kind:. Its first motivation is gone, since every practice now has a body. Its second, that totals mix a library flag with a design decision, is still an open question.
ADR-014 v2A provisional status must say what would change it, and the condition names a kind of evidenceFour of 144 practices state a promotion condition, all in prose, none of them re-read when the evidence arrived. Two practices filed a day apart carried near-identical conditions, both were satisfied by the same paper on the same day, and only one promoted — because the condition counted papers when what mattered was what the papers were about. Adopts a required promote_when: on every non-active practice, phrased as a kind of result rather than a count of them.Active
ADR-015What the field thinks is a second axis, and this record’s endorsement is not itmHC is shipped at 1.6T in a production model, attacked by two independent groups within a month, and Proposed here — three facts crushed into one field, because status: is this record’s editorial position and has no room for the field’s. Adds a defaulted consensus: vocabulary, orthogonal to status, and declares practice-level lineage so an agreed trunk and its disputed forks stop rendering identically.Active
ADR-016Contested is a claim about specific other work, so it must name itADR-015 gave the record a way to say the field is arguing about a practice and no way to say who is arguing. The reason lived in consensus_note:, which is rendered nowhere and so — by Luria’s own rule for what counts as prose — carries bare, unlinkable codes. Adds contested_by:, a checked LIT reference required exactly when consensus: contested, on the ground that contested is the only value on the axis that asserts a specific other document exists.Active
ADR-018 v3Generated views are committed on main only, and a pull request writes noneRegenerating views on every pull request made two branches conflict on files neither had edited, and made a stacked branch re-conflict after each merge. Adopts luria’s split shape (LU-ADR-068): views on the default branch only, source repairs on the branch that authored them.Active
ADR-019 v2An automation that writes to shared state names its serialization, and a pacing failure is swept as a classTwo CI failures in one evening, both from writes to shared state that raced, and both invisible until the work went faster than a person reading. Requires every job that writes where others write to declare a concurrency discipline or say why it needs none, and requires the first such failure to be answered by an audit of every writer rather than a patch to the one that broke.Active
ADR-023A note carries its number, and answers to a readable second nameThe pre-migration ids said who and when; LIT-001 says neither. luria 0.13 can render an alias from a document’s own frontmatter, so LIT-Kingma-2014-001 now resolves wherever LIT-001 does. An alias rather than a code, because a code that encodes a fact rots when the fact is corrected, and an alias is recomputed on every read.Active
ADR-029A practice’s origin and its evidence are different relationssource: is one ordered list doing two jobs: naming the work that produced evidence about a claim, and naming the work the claim came from. ADR-017’s retraction test picks the first by construction, so the record reads as though every practice began with the paper it cites — SOTA-087’s recomputation is dated to FlashAttention (2022) and SOTA-060’s depth-scaled init to Megatron-LM (2021), and both recommendations are Child et al. (2019). Adds introduced_by: rather than reordering source:, because published: and the retraction test both depend on what the first entry currently means.Superseded — by ADR-030
ADR-037 v2Fail the build on source-mismatch, and take the source invariant upstreamTwo things about the check that binds a document to its paper. fail_on gains source-mismatch — at zero today, offline from the lockfile, and the check that would have failed the import in #138. And the invariant on source: that this decision first argued against is now argued FOR: a relation asserts a commonality and the invariant is how the record says what it is, which holds for a practice and its evidence as much as for two practices. It cannot be declared here yet — a chain over a cross-scheme relation raises KeyError in luria index — so it goes upstream as LU-#272 with the measurement rather than being dropped.Active
ADR-044 v2Citations are verified where merges serialize, and the lint keeps asking on the branchremotes.lock.json was written by luria lint, which runs on every branch, so every contribution that filed a paper carried a diff on it and two such branches conflicted over nothing. luria 0.28.0 moves the write to luria remotes --resolve; this record passes resolve: "true" on the push-to-main job, beside concretize and the views. The lint still asks on a pull request, so source-mismatch still fails before the merge. Rejected: promoting source-unchecked to a failure, which this record had already declined for a reason this session then demonstrated.Active
ADR-061Theories get a chain of their own: lines of explanationA third chain, theory, walks extends: and corrects: between THEORY documents and renders docs/theory-lines.md, “Lines of explanation”. It mirrors the two chains ADR-011 set up for papers and practices, with the same tags invariant. It has no sibling relation, because THEORY declares none, and is faceted by status alone, because a theory has no consensus field. On the record as filed it walks 11 lines, and every one is bound. Rejected: folding theories into the paper lineage, and leaving the relations unrendered.Active