253 entries. All books.

Contents


Filing the first source that is not an arXiv paper, and moving to luria 0.8

2026-09-05 16:31:47 · curation · tooling

The Falcon-H1-Tiny blogpost (LIT-119) and what filing it required (ADR-009). The request was to add one technical blogpost to the corpus. It turned into three pieces of work, and the order they arrived in is the useful part.

Getting the text. The sandbox’s egress policy blocks huggingface.co, the Space’s hf.space subdomain, the Wayback Machine and the authors’ own sites, so the article could not be fetched. The Space’s page on huggingface.co is only a wrapper: it embeds the article in an iframe and carries none of its text, so pasting that page’s HTML yields metadata (created 2026-01-15, last modified 2026-01-16) and nothing else. A PDF export of the article, supplied by hand, did work — after two false starts. pypdf and pdfminer.six both import the system cryptography wheel, which is broken in this image (_cffi_backend missing, a pyo3 panic on import); pymupdf bundles its own renderer and extracted all 71 pages cleanly. Worth knowing before the next PDF.

Filing it. luria new lit scaffolds arxiv: '0000.00000', and the scheme required the field. The blogpost has no arXiv posting — its own BibTeX is @misc{falcon_h1_tiny} with no identifier — and the two ids it could borrow (the Falcon-H1 report, the learnable-multipliers preprint) name other documents. The wrong theory, briefly held: that the arxiv: field is what the ARXIV remote resolves, so a wrong id would at least be caught. It is not; the field is a plain required field, and the remote only resolves ARXIV- codes in prose. A borrowed id would have passed silently. Luria 0.7 ships field_groups with require = "at-least-one", in exactly this shape in its knowledge-base example, so the fix was configuration plus a decision record rather than code.

Upgrading. The workflow pinned luria 0.4.2 in three places (two action tags and a pip install); 0.8.0 and then 0.8.1 were published the same day as this entry, the second carrying the two fixes below. The upgrade’s one visible effect on the record: luria lint now reports a status: that carries a note, and luria repair moves the note to status_note: and the successor to superseded_by:. It did so for eleven documents, writing the successor as a one-item list under superseded_by:. A grep for the key showed the key alone, I read that as “empty”, and the scalar I filled in by hand sat above the list item — invalid YAML that took the next luria index down. The repair had been right; look at the file, not the grep. Two other repaired notes (LIT-031, LIT-042) named their successor only in prose, which the repair cannot read; 0.8’s lint asks for the code in superseded_by:, and they now carry it. Two luria gaps came out of LIT-031: an arXiv code in superseded_by: was truncated to ARXIV-2110 before the check saw it, and a # inactive-ok: comment in the frontmatter was not read, so the only acknowledgement that reached the field was file-scoped. Both are fixed upstream in 0.8.1 (dmarx/luria#163); the note now names both successors and excuses the rejected one at the field.

Tracing the references. The blogpost cites 56 works. Ten of them are invoked to justify a decision rather than to name a benchmark, a baseline, a data source or a serving tool, and none of the ten was in the corpus: the Falcon-H1 report the architecture and µP recipe come from, the learnable-multipliers preprint, the Muon scaling report, the looping paper that explains the chain-of-thought filtering, the three FIM papers, GRPO, Falcon-H1R for the reasoning data, and a tiny-model DPO write-up that is itself a blog post — the second url:-only note, filed a day after the rule that allows one. Left out at first: Olmo 3, cited only to describe the pipeline the authors depart from — and that was the wrong cut. An anthology that keeps what it stopped believing (DP-003) needs the predecessor filed, not only the successor, or the departure has nothing to be traced back to. Olmo 3 is now LIT-130, the three-stage recipe it states is SOTA-129, its

RL-Zero variation is SOTA-130, and the anti-curriculum names both. Left out still: SmolLM2, MobileLLM-R1, Gemma 3 and Qwen3 as comparison points; FineWeb and FineWeb-Edu as sources; and every benchmark paper. The abstracts had to come from search snippets — arxiv.org, its export API and Semantic Scholar are all blocked from the sandbox — so each note records what the paper establishes at abstract depth, and no practice is drawn from any of them yet.

Kimi K3, and the chain it closes. Added on request, and it turned out to be the far end of a chain the blogpost had opened. LIT-119 adopts Muon with weight decay and RMS matching from the Moonshot scaling report; Kimi K2 found that recipe lets attention logits run past 1000 at a trillion parameters and added QK-Clip; K3 keeps the result at 2.8T. So K3 came in with K2, and the Muon practice from the blogpost now names its successor rather than standing as the last word. K3’s architecture is likewise three published papers assembled — Kimi Linear’s interleaved delta-rule attention, Attention Residuals, and its own LatentMoE — and the record files the two papers rather than sourcing practices to the report, whose ablations I could not read. The K3 report is on arXiv, so nothing here needed the url: field; the abstracts again came through search, since arxiv.org is unreachable from the sandbox.

Qwen3.8-27B, and the correction it forced. Added on request. It has no report — the citation block on its GitHub page points at a blog post whose title is about a different model — so it is the record’s third url:-only note, sourced to the model card. Two things came out of tracing it. First, the predecessor is Qwen3.6-27B, not 3.5: the 3.8 configuration is byte-for-byte the 3.6 architecture, and the generation’s gains are post-training. Second, the architecture is the Qwen3-Next design of September 2025, which shipped the 3:1 Gated DeltaNet to gated-attention hybrid a month before Kimi Linear’s controlled comparison — so the hybrid-attention practice I had sourced to Kimi Linear and described as lacking independent replication had, in fact, been preceded in production by the other group. The practice keeps Kimi Linear as its source (it is the paper with the fair comparison) and now carries the sequence from the Gated DeltaNet paper’s own hybrids through Qwen3-Next to the two current lines. The two layer types got their own papers filed and a practice each. qwen.ai, alibabacloud.com and the model card are all unreachable from the sandbox; the numbers come from search snippets of the card and the post.

DeepSeek-V4, and the first practice filed already retired. Added on request. V4 sits at the end of three lines the record now carries: Muon (a third laboratory, reportedly without QK-Clip because QK-norm does the same job — marked as reported, since the report itself is unreachable), sparse attention (NSA → DSA → CSA/HCA, each DeepSeek’s own), and the residual. The residual line is the instructive one. ByteDance’s Hyper-Connections widened the stream with free mixing and reported gains; DeepSeek’s mHC paper says the free mixing broke identity mapping and could not scale, and constrains it. That is a supersession in the plain sense, so the

record files both: LIT-141 and SOTA-137 arrive Superseded by LIT-140 and

SOTA-136, with the reason in the status note — the first documents in this anthology filed retired on arrival, because a reader who meets mHC needs to know what it fixed, and DP-003 says the contrast is the content. mHC’s sibling, Attention Residuals, stays a separate Proposed practice; the two replacements for the residual have not been compared by anyone, and the record says so from both sides.

What the blogpost is worth. Single-run ablations at one size, on benchmarks the authors call noisy at 90M. Every practice from it is scoped to tiny models, and two are Proposed rather than Active — the learnable multipliers because the larger-scale evidence lives in a preprint not in the record, and the memorization window because the source itself says the study is future work. Filing a hedge as a hedge is what the status field is for.


Filing the schedule and parameterization the 2025 recipes assume, and retiring the cosine practice

2026-09-05 18:38:20 · curation

Seven papers the record was already leaning on. After the Falcon-H1-Tiny work merged, a pass over the corpus showed that every 2025–2026 report it holds trains with a stable-then-decay schedule and several with µP, while the corpus’s own schedule practice was still GPT-3’s single cosine cycle and µP appeared only as a word inside other notes. The recommendation was to file this group first, and this entry does: WSD as MiniCPM shipped it, the Hägele et al. study that measured it against cosine, the Power scheduler that sets its peak, Straight to Zero on how far the decay should go, and the µP → u-µP → CompleteP line for hyperparameter transfer.

The first retirement on later evidence. SOTA-039, “single cycle of cosine decay is sufficient”, was one of the 119 migrated practices. It is now Superseded by the WSD practice, with the reason in its status note and a short section in its body saying what it got right — one cycle over several — and what moved — the cycle’s shape. That makes the schedule chain

readable from warm restarts (LIT-042, retired at migration) through cosine to WSD, and it is the first time a practice this record inherited has been retired by a practice it added. DP-003 in action rather than in prose.

Statuses, and why two are Proposed. Linear decay to zero is one group’s study, and the production recipes already in the record still decay to a floor, so the record does not yet assert it. CompleteP is one group and no production run. Both say what would promote them. The Power scheduler is Active on the strength of Falcon-H1-Tiny adopting it independently, which is the kind of evidence the earlier entries kept asking for.

Method note. Abstracts again came through search snippets, arxiv.org being unreachable from the sandbox; each note claims that depth. The scaffolding fix from earlier today held: no HTML comments in frontmatter, checked strictly before pushing.


Checking twenty-five notes filed without a network, and what that says about which claims to distrust

2026-09-05 19:19:18

LIT-119 through LIT-143 were filed in a session with no outbound network. This entry is what came back when every one of them was checked against its source.

The headline is that the notes held up

All twenty-five arXiv identifiers resolve, and every resolved title matches the recorded title exactly. That is worth stating plainly because the prior was the opposite: the batch includes five works published after the filing model’s training cutoff, and identifiers are the easiest thing in the world to confabulate. They were not confabulated. Neither were the hard numbers. LIT-134’s Attention Residuals note gives GPQA-Diamond +7.5, Minerva Math +3.6, HumanEval +3.1, a 1.25x compute advantage and sub-2% latency overhead; all five are in the paper, verbatim. LIT-135 claims Qwen3.8-27B carries the same configuration as Qwen3.6-27B — every field of the two config.json files is identical, which is a stronger claim than the note makes. LIT-142’s indexer warm-up (1,000 steps, 16 sequences x 128K tokens, 2.1B tokens) is exact. LIT-139’s whole DeepSeek-V4 paragraph — 33T and 32T tokens, the 4K/16K/64K/1M ladder, dense warm-up for 1T tokens, sparse attention introduced at 64K — is exact.

Where it broke is more interesting than that it broke

Five errors, and four of them share a shape: the note is precise where its source is vague.

  • LIT-119 said Tulu3 was repeated “on the order of 400 times”. The blogpost says ”>=100 repetitions”. The direction of the error is invention of precision, not a misreading.
  • LIT-119 said learnable multipliers give “up to a 20% relative gain on MMLU, BBH and GSM8K” at 200 GT. The blogpost quantifies nothing here — it shows a plot and says “considerable and consistent”. The preprint has the numbers, and they do not support the sentence: the average moves +1.10 points, BBH +3.39 and GSM8K +2.61 carry it, and MMLU is flat, 47.98 against 47.96. A benchmark named as improving was the one benchmark that did not move.
  • LIT-131 gave Kimi K3’s context window as “1,048,576 tokens”. The report says one million. 2^20 is the kind of number that is right-looking rather than sourced.
  • LIT-140 read a single 6.7% overhead figure, stated once at expansion rate n = 4, as “6-7% at 3B, 9B and 27B” — the three sizes of a different experiment in the same paper, welded onto the one number.

The fifth is a naming error in the same family: LIT-131 attributed “MuonClip” to the K3 report, which never uses the word. It says “the weight-clipping mechanism introduced in Kimi K2”. The substance was right and the citation was not.

The lesson for the next offline batch is narrow and usable: prose about mechanisms survived without a network; digits did not. Where a note is vaguer than you expect, that is usually the source being vague, and sharpening it is where the error enters.

A hedge that was right, and worth keeping the habit

LIT-139 said DeepSeek-V4 drops QK-Clip and added “the report’s own wording has not been read”. The report’s wording is “Consequently, we do not employ the QK-Clip technique in our Muon optimizer”, and the reason is an RMSNorm on queries and compressed KV entries. The guess was correct, and the hedge still earned its place — it is what made the claim cheap to resolve rather than something to re-derive. That is the pattern to keep.

What the network turned up that no amount of care would have

Two papers, both from after the batch was written:

  • oHC (LIT-151) argues against SOTA-136 on its own terms. mHC’s doubly stochastic constraint bounds the mixing factor at one from above and nothing from below, and the paper proves the slack is spent shrinking the differences between streams — so the widened residual homogenizes with depth, which is the thing widening it was for.
  • The Qwen3.8-Next design report (LIT-152) runs mHC, Attention Residuals and its own Gated Residual in one harness. They come out level. LIT-134 and LIT-140 both said, correctly at the time, that no such comparison existed.

Neither retires anything. oHC is one model size from one group and says so; mHC ships in a 1.6T-parameter model. But SOTA-136’s reason is weaker than it was this morning, and a reader meeting it should meet both papers.

A finding outside this batch

The check was run over all 139 arXiv identifiers in the record, not just the new ones, and 53 of the pre-existing 118 fail. Some are truncations — LIT-100’s title is the real paper’s title with the subtitle dropped. Many are not: LIT-099 is filed as the PaLM 2 technical report against an identifier belonging to a paper on quantum secret sharing. These came in with the migration and are recorded here rather than fixed, because the right repair is per-entry and wants its own contribution.


A quarter of the practice registry rested on papers that do not exist

2026-09-05 20:00:44

Checking the newly filed notes against arXiv meant checking all of them, and the result was worse than the batch that prompted it: 53 of 139 arXiv identifiers did not resolve to the paper the note named. This entry is about the 31 that were not cosmetic, and particularly about the 16 that turned out not to be citation errors at all.

Two different failures wearing the same shape

The cosmetic 22 are unremarkable — a dropped subtitle, or a nickname the record had prepended, AdamW: in front of Decoupled Weight Decay Regularization. Worth fixing because a title is a claim about what was published, and one of them was materially wrong: LIT-031 read “Neural Networks are Surprisingly Modular” when the paper is “Pruned Neural Networks are Surprisingly Modular”, which is a different and much weaker statement.

The other 31 pointed at real papers on unrelated subjects. LIT-099 cited measurement-device-independent quantum secret sharing as the PaLM 2 technical report. LIT-059 cited electron losses in hypersonic flows for checkpointing advice. LIT-063 cited chromatic number and Hamiltonicity of graphs for compiler optimization. The identifiers were syntactically plausible and in the right year range, which is exactly why nothing caught them: 2111.09432 looks like a checkpointing paper from late 2021 if you don’t fetch it.

The part that mattered

Splitting the 31 by whether the recorded title named a findable work gave 15 that did and 16 that did not. The 16 share a signature:

  • a generic title of the form A Systematic Approach to X or X for Large-Scale Models, naming no specific contribution;
  • exactly four takeaway bullets, each a noun phrase, none a claim — “Pipeline optimization strategies”, “Memory management techniques”, “Bottleneck analysis”;
  • an author surname that is plausible for the field and unconnected to any such work. WebDataset was attributed to Amodei et al.

These were never citation errors. They are synthetic entries that entered with the pre-migration YAML, and 39 practices — a little over a quarter of the 139 in the registry — were sourced to them. SOTA-042 through SOTA-045 on data loading, SOTA-054 through SOTA-057 on checkpointing, SOTA-081 through SOTA-084 on compilers: real, sensible advice, resting on nothing.

Why we did not just retire them

The obvious move — mark the 16 Rejected, let the lint light up 39 practices — is what DP-1 seems to demand, and it is wrong. It converts a quiet problem into a loud one without fixing anything: the advice in those practices is not bad, it is unattributed, and deleting its attribution leaves the reader worse off than a wrong citation did. A registry with a quarter of its entries flagged is a registry nobody reads.

So each of the 16 was re-sourced in place to the work its practices actually rest on, with history: recording what the entry used to claim. The mappings were not hard to find once the question was asked properly — not “what paper has this title” but “what published work is this practice an instance of”:

  • checkpointing frequency, async writes, multi-level strategy → CheckFreq
  • operator fusion, memory layout, hardware mapping → TVM
  • fuse ops, align dimensions, memory access patterns → Data Movement Is All You Need
  • tar archives, sharded streaming → the actual WebDataset paper, which exists, and whose real title is High Performance I/O For Large Scale Deep Learning
  • loss spikes, gradient-norm ratios, NaN detection → GLM-130B, which is in the record precisely because it published its failures

Nine more practices did not need a new note at all: the right paper was already in the corpus and nobody had connected them. SOTA-050 says “scale attention weights by 1/sqrt(head_dim)” and is now sourced to Attention Is All You Need, which is where that comes from, and which the record has held as LIT-008 the whole time.

Two things found on the way

A repair can create a duplicate. Correcting LIT-105’s identifier landed it on 2302.06675, which LIT-090 already held — the migration had filed one paper twice, once under its title and once under the name of the optimizer it discovers. Nothing in luria lint looks at whether two documents name one source, so the corpus held a contradiction (one note Rejected, one Proposed, same paper) with a green build. Filed as luria#165.

Worse, LIT-090’s retirement reason — “a research direction without demonstrated practical impact” — had been written against the synthetic four-bullet summary rather than against the paper, which is the Lion optimizer with cross-domain results and a named production deployment. The status is left as found, because reversing it is a curation call and not a citation repair, but it is now labelled as inherited and unreviewed.

Retirement is sometimes the lazy answer. LIT-042 was Superseded with the note “single-cycle cosine decay proved better at scale” — a correct judgement, recorded against “SGDR++”, which does not exist. Retiring the note would have broken the schedule chain that PR #16 builds on. Re-sourcing it to the real SGDR keeps the chain and keeps the judgement, which now applies to the paper that actually made the claim.

What is left

Three places where a practice and its new source disagree are marked rather than smoothed over. SOTA-055 gives an epoch-based rule for saving optimizer state; CheckFreq’s whole argument is that iteration granularity is available and epochs are the wrong unit. SOTA-078 and SOTA-080 give a buffer size and a worker count that are operational folklore, not results in the WebDataset paper. SOTA-100 asks for warmup proportional to model size; its new source shows the need for warmup is a property of Post-LN and largely disappears under Pre-LN.

Those are re-readings for someone with the practices in front of them, not citation work. The point of leaving them visible is that they are now answerable: the practice names a paper you can go and read.


The schema could not represent the problem it had, which is why nobody saw it

2026-09-05 20:24:52

Two days of citation repair ended with a question worth more than the repair: why did a record built specifically to make evidence structural sit for two years with a quarter of its practices resting on papers that do not exist?

The answer is not that nobody looked. It is that the schema had no way to express the difference between a well-supported practice and an unsupported one, so looking would not have helped.

The cardinality was the camouflage

source: held exactly one code. That made every practice look identical in the only dimension that matters for judging evidence: each had one source, so each was maximally sourced.

The 39 practices that turned out to rest on synthetic notes were therefore indistinguishable from the best-supported practices in the registry. SOTA-121 (use Muon) has scaling-law evidence, a 1T-parameter production run and independent adoption at 90M. SOTA-044 (“pin memory for CPU-GPU transfers”) had a fabricated citation. Both had one source. Both passed the lint. Nothing could ask the question that separates them.

Meanwhile the practices with the most evidence were the ones the field served worst. SOTA-132’s body names seven notes; its source: named one. So the structured field was not merely uninformative for the strongest entries — it was actively misleading, reporting one paper where seven exist. That is DP-002’s failure mode with a twist: not a field that says nothing, but a field that says something false with confidence.

ADR-010 makes it a list. The immediate payoff is a query that could not be written before:

Proposed practices, by source count:
  [SOTA-122](../../record/practices.d/SOTA-122.md)  1   [SOTA-124](../../record/practices.d/SOTA-124.md)  1   [SOTA-125](../../record/practices.d/SOTA-125.md)  1   [SOTA-130](../../record/practices.d/SOTA-130.md)  1
  [SOTA-133](../../record/practices.d/SOTA-133.md)  1   [SOTA-136](../../record/practices.d/SOTA-136.md)  1   [SOTA-141](../../record/practices.d/SOTA-141.md)  1   [SOTA-144](../../record/practices.d/SOTA-144.md)  1

All eight sit at exactly one. That is the record obeying a rule it had written down in prose and could not enforce — LIT-121 and LIT-134 each say a practice “stays Proposed until a result from outside the authors’ group is in the record”. It was true, and until now, unverifiable.

The guard was fired before it was trusted

Following luria’s rule that a new check runs once on a real case first, three deliberate breakages, all caught:

  • source: LIT-999 → resolves to no LIT document
  • source: ADR-001 → is not a LIT code — a SOTA document’s source names a LIT document
  • a valid first element with a broken second → LIT-998 resolves to no document

The third is the one that matters, and is the reason many = true is not cosmetic. Without it luria stringifies a list and checks only its first element, so a practice could name one real note and three imaginary ones and pass. That is the exact failure this record just spent two days repairing, and it would have been reintroduced by a plural source: declared carelessly.

What was rejected, and why it was tempting

source: plus a separate corroborated_by: reads better and keeps the primary unambiguous. It was rejected because it asks the filer to grade evidence at the moment they are least able to: whether a second paper corroborates a practice or merely touches it usually becomes clear only when a third arrives. A flat list with a meaningful first element records the one thing reliably known at filing time — which paper this came from — and defers the grading. The graded version can be layered on; ungrading would mean re-litigating every entry.

The collision, and the thing luria already had

Two branches opened ninety minutes apart both minted LIT-144 and LIT-145 for different papers. Nothing would have caught it: each branch was internally consistent, luria lint had no reason to look, and git merges two files with different names and no conflict. It was caught because one session read the other’s pull request.

luria has had allocate = "merge" and temporary codes for exactly this the whole time, and this record had never turned it on — the default is filing-time allocation, and the default had been fine while there was one contributor. ADR-013 turns it on for all four schemes.

The lesson generalizes past numbering: the record adopted a tool and then used the parts of it that resembled what it did before. Field groups, reference typing with many, merge allocation, content pins — all of it was sitting in the configuration surface unused, and two of the four failures this week were things luria could already prevent. The next review should probably read luria --help against the record rather than the other way round.

Left open

ADR-011 (lineage as a field) and ADR-012 (practice altitude) are filed as Proposed rather than adopted, because both need something before they are safe: ADR-011 needs a chain view upstream, since a relation that is declared but never rendered looks maintained while rotting, and ADR-012 needs its three-value vocabulary tried on the practices whose filers are still reachable before it is imposed on the inherited 119.


The first backlog group corrected the practice it was filed to support

2026-09-05 21:51:38

Group 2 of #17 was catalogued as “extends the Muon chain”. It does, and it also does something the catalogue only hinted at: it takes a number out of a live practice.

The 2× was not wrong, it was unaccompanied

SOTA-121 recommends Muon, sourced to the Falcon-H1-Tiny blogpost and resting on LIT-122’s scaling-law claim of “roughly 2× the computational efficiency of AdamW”. Wen et al. tune ten optimizers separately — the baseline included — across 0.1B–1.2B and 1–8× Chinchilla, and measure at the end of training. They get 1.4× at 0.1B, falling to 1.1× at 1.2B.

Two of their methodological findings explain how a larger figure is reached honestly:

  1. Optimal hyperparameters do not transfer between optimizers. Handing the challenger the baseline’s schedule, or vice versa, is the ordinary way a comparison tilts, and it tilts toward whichever one the schedule was tuned for.
  2. Rankings flip mid-run. Two optimizers compared before the target budget can swap places by the end, because learning-rate decay has not finished. Any number read off an intermediate checkpoint is provisional.

Neither is an accusation against LIT-122 — different scales, budgets and baselines, and Moonshot’s runs are at a scale Wen et al. never reach. But the record was quoting one number as though it were the answer, and it is the high end of a range whose low end is 1.1×.

The practice did not move; the number did. 1.1× at 1.2B is still free once the recipe is in place; the optimizer-state saving and the hyperparameter transferability are not what that study measures; and every frontier adopter the record holds — Kimi K2, K3, DeepSeek-V4 — trains orders of magnitude above the largest model tested. What changed is that SOTA-121 now carries a “How much it buys” section with the range in it, and says plainly which figure to stop repeating.

This is the first time a backlog item has revised a practice rather than adding to one, and it is an argument for working the backlog rather than only extending the frontier: the papers that check earlier claims are less exciting to file and are where the corrections live.

A convergence worth the filing

The Hyperball follow-up and Learnable Multipliers (LIT-121) turn out to be about the same phenomenon, from groups citing different literatures.

Both start from the observation that under weight decay a matrix settles at an equilibrium norm determined by the hyperparameters rather than by the data. LRM concludes the scale should be learned and gives it its own parameter. Hyperball concludes the scale should be removed as a degree of freedom and pins the Frobenius norms to constants. Both report gains over the same baseline; Hyperball adds the claim that this equilibrium is why matrix optimizers’ advantage shrinks with scale, which — if it holds — makes the shrinkage an artefact of a tuning convention rather than a property of the optimizer.

Nothing here promotes SOTA-122. Its stated condition is a result from outside the authors’ group, and this is the same group with a different remedy. But the two notes now sit next to each other, which is the point of filing the predecessors.

Filing notes

Seven notes, all written from the papers. All six with arXiv identifiers pass source-mismatch against what the API serves, which is the first time that check has run on notes as they were written rather than on a corpus being repaired.

The Muon blog post is the third url:-only source after Falcon-H1-Tiny and BytePS, and the clearest case for ADR-009 yet: three laboratories pretrain frontier models with this optimizer and there is no paper to cite. LIT-122, SOTA-121 and SOTA-131 each described it as “not in the corpus”; three sentences deleted.

SOTA-121 is also the first practice to use ADR-010’s plural source: for what it was designed for — an entry whose body already leaned on four notes while the field named one.

What is left

Groups 3, 4 and 5 of #17: architecture (MoE, MLA, Mamba, MTP — about fifteen papers), data (five), post-training (seven). All 33 identifiers in the issue were verified against the API before any of this was written, and all 33 resolve. Two of the issue’s own titles were slightly off — 2501.00656 is titled “2 OLMo 2 Furious”, and the “seen by title only” guess for 2606.16899 was exactly right.


Filing the predecessors turns a list of models into a set of arguments

2026-09-05 22:21:21

Groups 3, 4 and 5 of #17 — 27 notes. The catalogue described them as gaps, and filling them mostly did what filling gaps does. Three things it did that a catalogue could not predict.

The record now holds a disagreement it was only half of

SOTA-124 says high-quality data can be repeated freely when its epoch size exceeds the model’s memorization window, which is how Falcon-H1-Tiny repeated Tulu3 a hundred times. It was filed Proposed with a note that this “compares with the standing guidance that repetition past about four epochs stops paying” — guidance the record did not contain.

It does now, and there are three positions rather than two:

  • Four epochs (LIT-166) — up to four epochs of repeated data changes loss negligibly against unique data; past that the value of added compute decays to zero. 400 runs, up to 900B tokens and 9B parameters.
  • Epoch size, not epoch count (SOTA-124) — one figure and an argument its own authors call early.
  • Augmentation (LIT-175) — autoregressive pretraining overfits severely under repetition, but the overfitting belongs to the objective and is removable, so hundreds of epochs become productive.

The third is the useful one because it makes the other two falsifiable in shared terms: if augmentation is what buys productive multi-epoch training, a recipe repeating a source a hundred times is either augmenting implicitly or paying an unmeasured cost. And the first two may not conflict at all — one repeats a whole corpus at fixed compute, the other one source inside a mixture where a small share means a long delay between repeats. Nobody has run the experiment that separates them, which is now written down where the practice is.

Two model reports explained a design the record had only observed

Kimi K3, Qwen3.8 and DeepSeek-V4 all ship a multi-token-prediction head that is later fine-tuned into an EAGLE-3-style draft model. Each report states it as settled fact. The record had recorded the arrangement three times without holding either paper.

Filed together, they explain it, and the explanation is a coincidence rather than a design: LIT-163 proposes multi-token prediction as a training objective that improves sample efficiency at no training cost, mentioning faster inference as a side-effect. LIT-185 designs a draft model whose structure happens to match what that objective leaves behind. Neither proposes the combination. The model reports discovered it, and which of the two motives is doing the work at frontier scale is not isolated by any of them.

The residual constraint is now the least defended part of its own practice

SOTA-136 recommends mHC — widen the residual into several streams, mix them with doubly stochastic matrices. Within one month two groups disputed the constraint, from opposite directions:

  • oHC (LIT-151): the doubly stochastic set is bounded above but not below, so mixing can only shrink what distinguishes the streams, and the streams homogenize with depth.
  • sHC (LIT-181): the same set is degenerate near the identity, and its non-negativity forbids subtractive feature disentanglement entirely.

Different arguments, same verdict, opposite remedies — a rotation group versus a spectral sphere. Meanwhile Qwen’s Gated Residual (LIT-152) drops the mixing matrix altogether and matches.

What all five papers agree on is untouched: widening the stream helps, and the mixing needs some constraint. That agreement is probably the practice the record should carry, and SOTA-136 currently carries something narrower and more contested. Left as a note rather than acted on — rewriting a practice to be about what its literature agrees on is a bigger move than a backlog pass.

My own check caught my own bug

Running luria lint over the finished 186-note corpus produced one source-mismatch:

`arxiv: 2404.19737` resolves to "Better & Faster Large Language
Models via Multi-token Prediction", not "Better & Faster Large Language
Models via Multi-token Prediction"

arXiv’s Atom feed serves escaped XML and the resolver never unescaped it. A false positive, and the kind that gets a category switched off — fixed upstream at the fetch rather than at the comparison, so the lockfile records a title rather than markup.

Worth recording as a pattern rather than a bug: every fixture had an ASCII title. The check was tested against invented data that shared an unexamined assumption with the code, and only a real corpus of 186 notes had an ampersand in it. This is the third time in two days that running something on the actual record found what the tests could not.

Costs

The lint now takes about a minute on a contribution that adds 16 notes, because network = "auto" fetches each unknown identifier with a courtesy delay. That is the design working — the alternative is a freshly typed wrong citation passing silently — but “bounded by how many citations a contribution adds” reads differently at 1 than at 27, and a batch this size is better served by running luria remotes --resolve once up front.


Two promotion conditions were met on the same day; only one of them should have been applied

2026-09-05 23:15:01

#18 asks for three things: deepen the notes written from abstracts, verify the claims marked as reported, and re-examine the Proposed practices whose promotion condition was “the larger-scale evidence lives in the preprint”. The third turned out to be the interesting one, and not for the reason the issue anticipated.

Two conditions met, one applied

SOTA-133 (Attention Residuals) and SOTA-136 (mHC) were filed a day apart with nearly identical conditions — one group, one paper, one production model; promote on an independent result. The Qwen3.8-Next design study (LIT-152) is an independent result for both: a different laboratory ran both designs in its own harness against its own competing one, and found all three level.

By the letter, both promote. Only one did.

SOTA-133 is now Active. An outside group with a rival design implemented AttnRes, measured it, and it worked — 1.762 against 1.789 for the pre-norm baseline. That is the strongest form the condition could have asked for, and there is nothing pulling the other way.

SOTA-136 stays Proposed, and the practice now says why in those terms rather than leaving the status as a silent non-decision. Two other independent results arrived in the same window and both attack the specific thing it recommends — the doubly-stochastic constraint. LIT-151 proves the Birkhoff polytope is bounded above but not below; LIT-181 names identity degeneration, an expressivity bottleneck from non-negativity, and unstable Sinkhorn projection. Opposite remedies, same verdict on the constraint.

So the practice’s claim has independent support and its mechanism has independent opposition, and “an independent result” cannot tell those apart. The condition was the wrong condition — it counted papers when it should have asked what they were papers about.

That is the transferable lesson: a promotion condition phrased as a quantity of evidence will eventually be satisfied by evidence pointing the wrong way. The conditions in this record should say what a result has to show, not how many there have to be.

The same failure, caught earlier, in SOTA-122

SOTA-122 asked for “an independent reproduction or a result above 1B”. LIT-153 is an independent group at 1.2B working on precisely the phenomenon the practice rests on — the weight-decay equilibrium that fixes a matrix’s norm by hyperparameters rather than data — who confirm the diagnosis and adopt the opposite remedy: pin the norms to constants rather than give the scale a learned parameter.

Confirming the mechanism while declining the fix satisfies the or and means nothing. The condition now asks for gains from learned per-row and per-column multipliers specifically. SOTA-144 gets the same treatment for the same paper’s depth-transfer result: two routes to one property is evidence the property is reachable, not that this route works.

The reported claims

Both outstanding items from #18’s checklist resolve against the primary sources, and both were slightly wrong in ways worth having caught:

  • DeepSeek-V4’s FP4 quantization-aware training does cover “MoE expert weights and the indexer QK path” — but the report places it in post-training. LIT-139 had it in a pretraining-infrastructure bullet. The distinction matters: LIT-186 shows quantization damage grows with how much data a model was trained on, so where in the pipeline the low precision sits is the decision, not an implementation detail.
  • Kimi K3’s gated MLA is not quite SOTA-134’s gate. The report says “an input-dependent, channel-wise full-rank output gate”; the practice’s source ablates a head-specific sigmoid. Same position in the block, same justification, finer granularity — so the practice covers it, and the granularity is a free parameter nobody has swept. LIT-138’s “appears to be the same idea” is replaced with what the report actually says.

What reading the report rather than the abstract bought

LIT-131 was the last note still declaring itself filed at abstract depth. Reading it turned up something no abstract would carry and that bears on a practice: Kimi K3 applies no positional encoding at all to its MLA layers, letting the interleaved KDA layers supply position sensitivity and recency instead.

The consequence the report names is the useful part — extending the context no longer means retuning a RoPE frequency base or applying YaRN, because there is no positional parameter in the global layers to retune. That is a second argument for the hybrid layout, independent of cost per token, and SOTA-132 was filed without it. It also makes SOTA-139’s staged context extension a smaller operation for anyone using the layout.

Which is the case for #18 in one paragraph: the abstract tells you what a paper claims, and the report tells you which of the record’s other claims it touches.


Nine promotion conditions, written honestly, and what writing them exposed

2026-09-06 00:31:50 · record

The rule ADR-014 adopted is that a promote_when: names a kind of result, not a quantity of them, and the test is: could this be satisfied by a paper that would not actually change my confidence? Writing nine of them was supposed to be the real test of the rule. It was, and the interesting part is how often the honest answer was narrower than the practice’s own body suggested.

Three of the nine had to be written as exclusions, because the evidence that does not count had already arrived:

  • SOTA-122 (learnable multipliers) waits on a group training with them. LIT-153 confirmed the weight-decay equilibrium the practice diagnoses, at 1.2B, from an independent group — and adopted a different remedy. Confirming a diagnosis is not adopting a treatment.
  • SOTA-144 (CompleteP) waits on a group training under CompleteP. LIT-153 again: depth transfer reached by pinning weight-matrix norms instead. Two routes to one property is evidence the property is reachable.
  • SOTA-136 (mHC) waits on an answer to the Birkhoff-polytope objection, not on a further independent evaluation — one of those arrived and is the reason this practice’s condition had to be rewritten at all.

Two turned out to be waiting on something the field may never produce in the form the practice asked for:

  • SOTA-120 is Deferred because the claim is settled and its adoption is not, so its condition asks for a report that states the choice rather than leaving it implicit in a config. Most reports do not.
  • SOTA-141 (decay to zero) had to exclude a comparison that shares one peak learning rate across schedules, because that compares peaks, not schedules — which is the whole methodological point of the source paper.

And one — SOTA-124, the memorization window — turned out to be waiting on a second measurement of the same quantity, which nobody has published. The practice rests on one data point plus an assumed linear scaling in parameters. Writing that down as a condition is the first time the record has said so plainly.

The count that matters: before today, four of 144 practices stated a condition anywhere, all in prose. Now every practice that is not in force states one, in a field, and the lint will not accept a new provisional practice without it.


Ten consensus readings, and the 134 the record admits it has not made

2026-09-06 17:16:57 · record

The new axis is only worth having if the values are defensible, so the editorial rule was: assign where the record already carries the grounds, and leave everything else unassessed. That produced ten, and the shape of the ten is itself informative.

Four unreplicated — SOTA-122, SOTA-124, SOTA-125, SOTA-144. All four are one group, one result, and in every case the record already said so in the body; what it could not say is that nobody has disagreed either. That is the distinction Proposed was hiding, and it is the difference between “waiting for someone to look” and “people looked and differ”.

Two contested — SOTA-136 and SOTA-130. Both have credible published opposition: two independent critiques of mHC’s constraint within a month, and LIT-167 undercutting the attribution RLVR-Zero rests on. Neither is a doubt this record invented; both are arguments happening in public.

Two emerging — SOTA-133 and SOTA-141. Moving, not arrived. SOTA-141 is the more interesting: nobody argues decay-to-zero is wrong, the frontier recipes in this record simply still decay to a floor. “Not adopted” and “disputed” are different states and now say so.

Two at the top — SOTA-001 universal and SOTA-120 converged.

SOTA-120 is the one that justifies the whole change. It is Deferred — the record declines to assert it — and converged, because AdamW is the default optimizer and decoupled decay is what nearly everyone runs whether or not they chose it. High consensus, low editorial confidence. One axis cannot hold that, and the practice has been sitting in an uncomfortable status for weeks because of it.

What I deliberately did not do: file the trunk practice. LIT-181 says the record should probably carry “widen the residual stream, constrain the mixing somehow” eventually, and turning that hedge into an assertion is a judgement someone should make on purpose rather than a side effect of building the mechanism to hold it. The fork renders without it.

The number to watch is 134. Most of this corpus has no consensus reading, and the default makes that visible rather than papered over — but it also means the axis is one person’s ten judgements until somebody does the rest.


GRPO enters the practice registry, in two pieces

2026-09-07 03:34:46 · practices

Two notes had already asked this question and left it open on purpose. LIT-168: “whether GRPO’s successors warrant a practice of their own depends on whether the anthology wants to carry RL algorithm choice as practice, and nothing does yet.” LIT-180: “the RL-algorithm question stays out of the practice registry until the record decides it wants to carry it.”

The record has decided. The gap those notes were describing is precise: SOTA-129 and SOTA-130 argue about when to run RL with verifiable rewards — three stages, or skip the SFT one — and neither names an algorithm, while GRPO is cited by five notes and is what all of them actually run.

Why two documents and not one

Filing “use GRPO” would have asserted something this record’s own evidence contradicts. LIT-168’s standing section says it outright: “‘we ran GRPO’ is under-determined: three papers within a year each found a different defect in it worth naming.”

So the evidence was split where it actually splits.

Agreed: drop the critic, take the baseline from a group of samples for the same prompt. LIT-119 runs it at 0.6B, and LIT-167, LIT-168 and LIT-180 each examined this objective closely enough to publish a correction — and not one of them proposed bringing the critic back. That is what converged records: not that nobody looked, but that people looked hard and changed something else.

Unsettled: the rest of the objective. Dr. GRPO’s length bias, DAPO’s decoupled clip and dynamic sampling, GSPO’s sequence-level importance ratio. Three defects, three fixes, no two the same, and no comparison.

The word that did not fit

The fork looked like contested — an agreed trunk with disputed branches is the phrase in consensus.yaml itself. It is not.

contested means credible groups publicly disagree, and these three are not arguing with each other; each found a real defect, published a real fix, and left the others alone. ADR-016 is what made the difference legible: it requires a contested practice to name what contests it, and there was nothing honest to put in the field. Three sources agreeing that a thing is broken are not evidence against the practice that says so.

emerging — several independent groups, moving toward a default without being there — is the accurate reading, and the guard is what forced looking for it.

What would move it

The promote_when: asks for a comparison of the three corrections on one base and one dataset, or a frontier recipe naming which it runs and why — explicitly not a fourth paper naming a fourth defect. Three already exist, and that is the problem rather than the evidence.


Two Active practices that disagreed, and the paper neither of them knew about

2026-09-07 03:48:18 · practices · corrections

Looking for practices hidden from the graph the way GRPO was turned up something worse than an absence.

The record was arguing with itself

SOTA-023Active”Use multi-query attention for decoder-only models”
SOTA-024Active”Keep key/value projections shared across heads” — the same paper, the same claim
SOTA-109Active”Prefer GQA to MQA or MHA”

All three in force at once. Two of them recommend the thing the third recommends against.

None of this was visible to any check. Each document is individually valid — a real source, a resolvable code, a status from the vocabulary — and nothing in the record compares two practices’ claims. The lint cannot know that “use MQA” and “prefer GQA to MQA” are the same question answered twice.

All three were migration stubs: a title, a source line, no body. That is what made it survivable for so long. A practice with no body has nothing to contradict.

And the successor was sitting in the corpus

LIT-174 is DeepSeek-V2, the MLA paper. Its own standing section says filing it “closes the largest single hole the architecture half of the record had” — and then no practice was drawn from it. Meanwhile SOTA-132 already recommends a layer layout defined in terms of MLA layers, so the record was recommending a ratio of a thing it had never defined.

MLA is filed Active, emerging. Active because four models across two labs from 236B to 1.6T is unusually strong evidence for an architecture choice. emerging because two labs is not the field: Llama, Qwen and Mistral still ship GQA, and the record is out slightly ahead of consensus here, which is the corner ADR-015 added the second axis to be able to say.

It does not supersede GQA. They are compared_against: two answers to the KV cache that give up different things, and GQA stays the default for a model not paying MLA’s implementation cost.

Two attributions that were simply wrong

first_author: 'Dao' on Shazeer’s “Fast Transformer Decoding”. 'Yang' on Ainslie’s GQA. Both propagated into three practice summaries.

Checked against the arXiv API rather than corrected from memory, which is the same standard the id repair held itself to. Worth noting what the existing guard does and does not cover: luria lint compares recorded titles against arXiv, so both notes passed every run. Nothing checks authors.

What the temp code hid

SOTA-145 cites SOTA-146 in prose without an acknowledgement, and that finding could not appear until after the merge that concretized the codes.

This entry first said that was because “there was no document for it to have a status”, which is wrong: the file existed throughout and carried status: Proposed in its own frontmatter. The real reason is two independent blind spots, and both had to be true for the finding to stay hidden.

The document was not loaded. Scheme.documents() keyed by number and skipped any file it could not get one from, so a temp-coded document never reached load_docs(). The status checker held no record of it at all.

The citation was not scanned. ref_status.CODE_RE required digits — [A-Za-z]{2,10}-\d{1,4} — so a temp-tailed code was not read as a citation site either.

So a merge-allocated document was invisible to the status checker from both ends, and the asymmetry was the interesting part: the link checker handled temp codes fine, which is how luria link --fix wrote these references in the first place. Reference resolution and reference standing disagreed about whether a temporary code is a code, and only one of them said so.

Filed upstream as dmarx/luria#203 and fixed in luria 0.10.4, which loads merge-allocated documents alongside the numbered ones and admits the temp tail to the citation pattern. This record has pinned that version since #53.


The premise a dozen recommendations rested on

2026-09-07 04:05:01 · practices

LIT-170 left this open with an argument, not a shrug: whether the anthology should carry MoE routing as practice “is not obvious… since the choice is upstream of almost everything it does recommend.”

That argument is worth answering rather than dismissing, because it is half right. Being upstream is exactly why the record should say it — once, plainly — rather than leave it as the unexamined premise of everything downstream. SOTA-146 is what made the cost visible: it carries a caveat that the RL objective is unstable on mixture-of-experts specifically, qualifying an architecture the registry had never recommended. A caveat with nothing behind it.

What the corpus actually supports

The claim is filed Active, converged, on four labs and every frontier model the record holds from 2024 on — DeepSeek, Moonshot, Alibaba, NVIDIA. The one dense frontier recipe in the corpus is Llama 3, from 2024.

The evidence is ratios rather than scores, which is how an efficiency claim should be read: DeepSeekMoE 16B matching LLaMA2 7B at ~40% of the compute, 145B approaching the same team’s dense 67B at 28.5%.

The design half is separate and weaker — emerging, not converged. Fine segmentation plus a shared expert is DeepSeek’s shape, taken further by Kimi K3’s 16-of-896, and the record does not know whether Qwen or NVIDIA segment this finely. You can accept sparsity and reject fine segmentation, so the two are filed apart.

The part that was wrong, and then was not

LIT-170 did not introduce mixture-of-experts. It diagnoses “conventional top-K-of-N routing, as in GShard” and improves on it — and the corpus held no GShard, no Switch Transformer, no Shazeer 2017. The trunk practice was drafted sourced against #17’s own rule that a practice names the paper that introduced the change, naming the paper that measured it instead.

That gap is closed in the same contribution rather than deferred. All three are filed, the practice is sourced to Shazeer et al. (2017), and the record holds the line end to end:

the sparsely-gated layer      2017   capacity without compute, and the
                                     auxiliary balancing loss
  GShard                      2020   into the transformer, sharded; top-2
    Switch Transformers       2021   top-1, float32 router, a trillion
    DeepSeekMoE               2024   many small plus one shared

Reading it as a line is what makes it worth holding. GShard says route to two experts, Switch says one, DeepSeekMoE says many small ones and take more of them — three answers to how finely the router should choose, and the record recommends the third.

The same span covers load balancing, which is the nicer find. Shazeer’s paper introduces an auxiliary loss for balance because the gate self-reinforces; SOTA-148 recommends taking that loss back out seven years later. The record now holds both ends of one argument that ran for the whole history of the technique.

Three documents, one family

SOTA-148 gains an extends: so the chain page shows what LIT-171 predicted — “three practices’ worth of material with nowhere to sit” — now sitting somewhere:

make the layer sparse            (Active, converged)
  keep the experts balanced      (Proposed, unreplicated)
  cut the experts up finely      (Active, emerging)

Three claims a reader can accept or reject independently, which is why they are three documents.


Reading the primary sources for the five claims #18 flagged

2026-09-07 05:54:03

The session that filed those notes could not reach arxiv.org, huggingface.co or the model cards — every request returned an egress 403 — so five claims were written from secondary coverage and labelled as such. This session can reach all of them. Full HTML for all three arXiv reports, and the Hub for the Qwen configs.

All five hold. That is worth saying plainly, because the interesting outcome of a verification pass is usually a correction and this one has almost none. The record was accurate about what it had, and honest about where it got it.

What changed is the standing of the claims, and in two places their precision:

  • The Qwen3.8-vs-3.6 configuration claim was the weakest of the five, resting on somebody else’s comparison of two files. Fetching both and diffing them makes it the strongest: they differ in exactly one key, transformers_version, which records the library that serialised the file. Every architectural field — model_type, all 64 entries of layer_types, the head counts on both attention paths, attn_output_gate, the vision block — is identical. “Same configuration” understated it.
  • DeepSeek-V4’s refusal of QK-Clip was the claim most likely to have been garbled in transmission, because it inverts a practice this record holds. It is not garbled: the report has a heading for it and one sentence that says exactly what the note said it did.

The one thing that was wrong was a guess about what a paper contains

LIT-131’s Standing said the K3 report’s “ablation tables are still unmined”. Nobody had looked. The report has five tables — an architectural comparison with K2, two benchmark tables, an in-house web-development comparison, and third-party evaluations — and not one component ablation.

That matters more than the sentence did. The headline claim is roughly 2.5× the scaling efficiency of K2, read off fitted scaling-law curves on held-out out-of-distribution data, and the report credits it to the architectural, data and training changes collectively. There is no number in it that apportions the gain to Attention Residuals, or the KDA/MLA hybrid, or the LatentMoE. A future reader tempted to cite K3 as evidence for any one of those components has to know that, and now the note says it.

The general lesson: “the ablations are unmined” and “there are no ablations” look identical from outside a paper, and only one of them is a promise the record can keep.

A finding that is not this issue’s

Reading K3 §3.2 turned up a controlled comparison the record needs to answer for. The team argues that comparing warmup-stable-decay against cosine under one hyperparameter set is unfair — the two schedules’ optimal peak learning rates and batch sizes differ substantially even at matched size and budget, so a shared setting silently favours whichever it suits. They run an independent scaling-law search per schedule, and under each schedule’s own optimum cosine decay consistently reaches the lower final loss. K3 adopts cosine.

SOTA-140 says to use WSD, is Active, and its summary claims WSD is “the schedule of every 2025–2026 report in the record”. A July 2026 frontier report that ran the fairer comparison and went the other way is exactly what ADR-016’s contested_by was added for. The finding is in LIT-131 here, where it belongs; what it costs the practice is a judgement about the state of the field rather than a fact about a paper, so it is filed on its own.


The transcribed Falcon numbers hold, and no Proposed practice moves

2026-09-07 06:05:02

Two items off #18, both of which could have gone either way and both of which came back mostly negative. Negative results are the ones that go unrecorded, so they are recorded here.

The spot-check found no misalignment

#18 flagged that the benchmark figures in SOTA-121 – SOTA-128 came from a PyMuPDF extraction of the Falcon-H1-Tiny blogpost’s PDF export, and that table extraction can silently misalign columns. The rendered post is reachable now, so every figure the record attributes to it was checked against the HTML tables.

They all hold, and the column assignments in particular hold:

  • SOTA-123’s IFEval pair, 50.1 vs 40.8 before DPO and 66.1 vs 53.5 after, maps onto the post’s four columns — SFT 40.77, SFT-DPO 53.47, SFT-pretrain 50.11, SFT-pretrain-DPO 66.08 — in the right order, which is exactly what a misaligned extraction would have got wrong.
  • SOTA-123’s reasoning row (AIME24 6/30 vs 3/30, AIME25 9/30 vs 2/30, MATH500 0.4 vs 0.2), SOTA-126’s 40.8 to 53.5, LIT-119’s post-GRPO AIME24 75.0 and MATH500 94.0: all exact.
  • The prose numbers too: SOTA-125’s 27-layer/512-hidden mid config against the 50-layer deep one, the “roughly a 2x decrease for training throughput”, the reduction from 27 layers to 24 to land on 90M — all verbatim from the post’s own config listings.

One thing did not survive. SOTA-122 quoted “up to a 20% relative gain on MMLU, BBH and GSM8K” and dropped the four words that follow it in the source: from random values. At 90M those three benchmarks sit near chance, so a fifth of the distance above chance is a much smaller claim than a fifth of the score. That is not a transcription error of the kind #18 worried about — the table was fine — it is a summarisation error, which is the failure mode reading a rendered table would never have caught.

None of the Proposed practices moves

#18 asked for the practices whose promotion condition was “the larger-scale evidence lives in the preprint” to be re-examined now that the preprints are readable. SOTA-133 turns out to have been promoted to Active already. Of the rest:

SOTA-136 (mHC) was the interesting one. Half its condition asks for “a production report at depth whose streams stay distinct”, and DeepSeek-V4 is the production report at depth — 1.6T, shipping mHC. Read in full, it does not answer the objection. Its argument for the doubly-stochastic constraint is that projecting onto the manifold bounds the spectral norm at 1, so the residual transformation is non-expansive and both passes are numerically more stable. That is the property LIT-151 grants and then turns around: a mapping that can only contract can only erode what distinguishes the streams. V4 reports no stream statistic, and homogenize, diversity and distinct appear nowhere in it. So the condition is unmet by the report most likely to have met it, and the practice now says so — because a reader who knows mHC ships at 1.6T will otherwise assume shipping settled it.

SOTA-141 (decay to zero) gained a sharper version of its own consensus_note. DeepSeek-V4 decays to exactly 10% of peak, which is the customary floor LIT-147 names in its first sentence and argues against. Not a team that weighed decaying to zero and declined — a team that used the default, at 33T tokens.

It also gained a trap worth naming. K3’s schedule study looks like the second half of SOTA-141’s promotion condition, which asks for “a second group’s schedule comparison with the peak retuned per schedule”. K3 is exactly that. But it runs the comparison “under a fixed minimum learning rate”, and the minimum is this practice’s variable. A study can satisfy the methodology a practice demands and still not be about it, and a promotion condition written in terms of method rather than question is how you fail to notice.

SOTA-122 (learnable multipliers) and SOTA-144 (CompleteP) both need an independent group adopting the technique. Nothing in the four reports read this session does. Searched, not found, and that is the whole result.


The reference pass, and what it found the record leaning on

2026-09-07 13:08:11

The last item on #18: run mechanically, for the other model reports, the “which works does this paper lean on to justify its decisions” pass that was done by hand for LIT-119. Result filed as #40. This entry is the method and the two things worth remembering about it.

Semantic Scholar was not the way in

#18 named api.semanticscholar.org, and it is reachable but rate-limits an unauthenticated caller hard — roughly one request in three succeeded, with no key available. That turned out not to matter, because the better source was already local: every one of these reports has an arXiv HTML build, and the build carries the bibliography as markup. Parsing li#bib.bibN out of it gives titles, arXiv identifiers and — this is the part a citation API does not have — the sections each reference is cited from.

152 entries for K3, 257 for Olmo 3, 125 for Falcon-H1, 103 for DeepSeek-V4. Subtract the corpus by arXiv id and by normalised title, drop benchmarks and datasets, and what remains is the gap list.

The back-references are the whole filter, and two builds do not have them

K3’s and V4’s builds carry “Cited by: §2.1.1” on each entry, so a reference can be scored by where it is used: a work cited from §2 (Architecture) is a design justification, and one cited only from §6 (Evaluations) is a baseline. That is exactly the distinction #18 asked for, and it is free.

Falcon-H1’s and Olmo 3’s builds have none — 0 of 125 and 0 of 257 entries carry them. The first run reported “0 design-cited references missing” for both, which read like a clean result and was an artefact of a filter with nothing to match. Caught by asking why two large bibliographies would have exactly zero, which is the shape a broken filter makes and a real answer almost never does. Those two were re-run on titles alone and #40 says so.

What the pass is actually good at

Not “find every missing paper” — a title filter cannot tell a method from a benchmark reliably, and judgement is still required per row. What it is good at is the multiply-cited absence: a work that two independent labs both reached for, and the record does not have. Six of those, and they are the top of #40’s list.

The other thing it surfaced is sharper than any single paper. SOTA-134’s headline benefit is that the gate removes the attention-sink pattern, and the phrase “attention sink” appears in exactly one file in this record — LIT-138’s own summary. The record recommends removing a phenomenon it has never described. A reference pass looking for what the corpus leans on found a hole in what the corpus explains, which is not what it was pointed at.


Mining the lineages out of the prose

2026-09-07 17:02:07

The record documented two lines of work and four lines of practice. The question was whether more were hiding in the topology. They were, but not where I first looked.

What the graph does not tell you

The obvious move is connected components. It does not work, for a reason worth writing down.

Components over source: find bundles, not chains: LIT-051 is cited by seven practices, LIT-119 by six. That is one paper fanning out into several recommendations — co-derivation. Nothing succeeds anything.

Components over prose citations find one blob. The practice corpus has a single connected component of 25 documents and two small ones; the literature corpus has one of 94. Recent documents cite recent documents, and “cites” is not “descends from”. Mutual prose citation — both documents naming each other — narrows it to 212 pairs in the literature, which is still an order of magnitude more than the real lineages.

Topology alone cannot distinguish succession from adjacency, because the record does not encode the difference anywhere the graph can see it.

Where it actually was

## Sequence. Seven practices carry a section by that name, and it does exactly what the relation was declared for — spells out an order, step by step, in a paragraph:

Muon → weight decay and RMS matching so AdamW’s hyperparameters transfer (SOTA-121) → QK-Clip so the attention logits stay bounded at scale (this practice) … Each step keeps the one before.

One of those seven declared `extends:`. Six did not. The structure was in the record the whole time, written by hand, in the one form nothing can traverse — which is the exact failure ADR-011 was filed to prevent, reopened by accretion.

So the mineable signal was not the graph. It was prose that describes an edge the frontmatter does not declare, and a grep for one section heading found more than any component analysis did.

What declaring costs, and what it buys

Two things fell out that prose had been able to avoid.

It caught an error I shipped a week ago. LIT-194 said GLA was one of Gated DeltaNet’s two parents. Writing `extends:` forces the question “which document, exactly” — and the answer is that Gated DeltaNet’s own abstract names Mamba2’s gate and DeltaNet’s rule, and its title is Improving Mamba2 with Delta Rule. GLA is not in that line. Prose could gesture at “the data-dependent gate”; a code cannot.

It broke the renderer, correctly. Declaring Gated DeltaNet’s two parents made the first real DAG in any luria record, and the chain page — which carries nesting as indentation and ordered steps by `(depth, code)` — started asserting that Kimi Linear descends from Mamba-3. Fixed upstream before landing this, because the alternative was to drop a true edge to keep a view honest. LU-#206.

What I did not declare

SOTA-129 and SOTA-130. Its summary says it was filed “so its variations (SOTA-130) and its tiny-scale successor (SOTA-123) have something to be traced back to” — an explicit invitation. But `compared_against` means a comparison was run, and SOTA-130’s own `promote_when` asks for exactly the head-to-head that does not exist. Declaring it would assert the evidence the practice says is missing.

That is a gap in the vocabulary rather than in the record: there is no way to say “rival answers to one question, nobody has compared them”. Worth a decision before it gets invented ad hoc.

Model-report genealogies. V3.2 → V4, K2 → K3, Qwen3-Next → 3.8. The mechanisms descend; whether the reports do is a different question, and answering it by hand in a mining pass would commit the record to a whole dimension it has not decided on.


The positional line was two lines and a missing paper

2026-09-07 17:56:21 · lineage · literature

Asked to find a lineage containing RoPE and NoPE. The record held five of the six documents it needed and none of the edges.

What was already there, unconnected

LIT-045 (RoFormer), LIT-048 (ALiBi), LIT-192 (Position Interpolation), LIT-193 (YaRN), and two practices — SOTA-063 “use RoPE” and SOTA-151 “rescale it”. The chain page rooted the rescaling line at Position Interpolation, because nobody had declared the edge to the thing it interpolates. Position Interpolation’s own first sentence says it extends the context window of “RoPE-based pretrained LLMs”; the method is a rescaling of RoPE’s position indices and is meaningless without them. One line of frontmatter, and the line roots where it belongs.

SOTA-151 extends SOTA-063 was missing for the same reason and is the same shape: rescaling RoPE is what a model that used RoPE does next.

The paper that was not there

NoPE appeared in four documents — LIT-131, LIT-193, SOTA-132, SOTA-151 — plus two changelog fragments, always as a thing Kimi models do. No note, no source, no author. The anthology’s own rule is that a practice names a source; this slipped past because NoPE was never the subject of a practice, only a paragraph inside two of them.

The document that did not mention it is the tell: LIT-133, Kimi Linear, whose paper gives NoPE a design section, an ablation table and the citation everything else here rests on. The note was written about KDA, so the positional half of the paper went unrecorded, and every later document then attributed NoPE to K3 — the model report that adopted it — rather than to the method paper sitting in the record already. LIT-133 gains the paragraph.

Kazemnejad et al. (2023) is the source, and Kimi Linear cites it directly (reference [49]). Filed as LIT-207. The thing worth knowing about it, which the “K3 doesn’t need YaRN” framing loses: it is a controlled study — five positional schemes, identical hyperparameters, one model configuration — and it comes with a theorem saying a decoder-only transformer can represent absolute and relative position with no encoding at all. NoPE is not a model told less; it is a model not told which function to use. It is also 107M parameters on synthetic tasks, which is the honest limit on it.

What was deliberately not declared

LIT-133 compared_against LIT-045. Kimi Linear does run NoPE against RoPE — Table 5, a Kimi Linear (RoPE) baseline at matched 48B configuration — and it was tempting to declare, because it is the scale evidence the 2023 paper lacks.

It is the wrong relation. ADR-011 defines compared_against as “this work evaluates itself against that one”, and what Kimi Linear ran is an ablation of its own design: itself with the encoding and itself without. That is evidence about the RoPE/NoPE question, not a comparison against RoFormer, and it belongs in prose — where it now is, in the new note and in SOTA-132.

Declaring it anyway was tried, to see. It collapses the page: compared_against joins components, so one edge fused the positional line into the delta-rule line, six sections became five, and the merged section was titled “From RoFormer” with eleven members including Mamba. Worth knowing before someone declares a cross-family sibling for a good reason — the relation is right for a rival within a family and expensive for a rival that already belongs to another one.

Left open

There is a practice-shaped hole: apply NoPE to the global-attention layers of a linear-attention hybrid. SOTA-132 carries it as “a second benefit the practice was filed without”, which is the shape of a recommendation living inside somebody else’s document. The evidence exists — Kimi Linear’s ablation, K3 at 2.8T, Falcon-H1’s near-NoPE base frequency, and SwanGPT’s RoPE/NoPE interleave, which is named in Kimi Linear’s related work and has not been read here. Not filed here, because filing a recommendation is an editorial act with a status and a consensus level attached, and this contribution was asked for a lineage.


The bibliography of a paper already in the record held two papers the record needed

2026-09-07 18:15:53 · literature · method

The NoPE practice was going to be filed on one laboratory’s evidence — Kimi Linear’s ablation and K3’s deployment — at Proposed and unreplicated. It is filed at Active and emerging instead, on three, and the difference came from four lines of a related-work paragraph.

What happened

Deciding the consensus value meant deciding whether anyone outside Kimi had done this. Kimi Linear’s related work says its findings “align with prior results [110, 7, 19]” and mentions SwanGPT [76] by name. Resolving five bracketed numbers against the bibliography took one command and produced:

  • [110] Yang et al., Rope to Nope and Back Again (Cohere, January 2025) — the paper this practice most wants, whose title is the lineage.
  • [76] Puvvada et al., SWAN-GPT (NVIDIA, April 2025) — the same layout again, independently.
  • [7] Barbero et al., Round and Round We Go! What makes Rotary Positional Encodings useful? — not filed, but the obvious next candidate.
  • [19] DeepSeek-V3, whose decoupled RoPE head is the partial-RoPE version of the same idea.
  • [126] Falcon-H1, already in the record as LIT-120, cited here for a base frequency near 10^11 that pushes it to a near-NoPE state — a fact the record’s own Falcon-H1 note does not carry.

Why the earlier passes missed them

The reference pass in #40 worked from the citation graphs of five model reports — what cites what — and these three were sitting in a sentence of prose that says “others found this too”. A citation graph cannot distinguish a paper cited for its result from one cited in passing, and the numbers it ranks by are the ones a bundled reference list produces. Reading one related-work paragraph on a paper the record already holds found more, faster, than the graph pass did.

And one of them was a correction

SWAN-GPT converts an existing 8B RoPE model pretrained on 15T tokens to a NoPE-global architecture by continued pretraining, at parity on short benchmarks. SOTA-151 had been asserting that a model which already exists cannot take the NoPE option, and that assertion was doing real work: it was the stated reason the two practices are not filed as contesting each other. The reason survives, weakened — conversion costs a continued-pretraining run, which most readers will not do — but the claim as written was false, and it was written twice, in two practices, before anything checked it.

The general shape is worth keeping: a claim about what is impossible is the most expensive kind a record can hold, because nothing routine ever tests it. The lint checks that citations resolve and that statuses are current. It has no way to notice a confident negative.


A retraction test for whether a citation belongs in source:

2026-09-07 18:37:53 · method · literature

#58 needs a rule sharp enough to apply thirty-two times without drifting. ADR-010 says source: holds every paper a practice rests on, and SOTA-132 supplies the working distinction — support and corroboration go in source:; contrast and alternatives stay in the body. That is right and still leaves the hard cases undecided, because most citations read as vaguely supportive.

The test that worked:

If this paper were retracted tomorrow, would the practice need rewriting?

It separates the batch cleanly.

  • SOTA-122 without LIT-121 has no claim left — the blogpost validated something, and the something is in the paper. Add.
  • SOTA-124 without LIT-120 has no memorization window, which is the quantity the whole recommendation is stated in terms of. Add.
  • SOTA-129 without LIT-127 says “some other RL algorithm” and carries on. Body. Without LIT-119 it loses an arithmetic aside in its conditions. Body. Without LIT-172 its third stage has no origin. Add.
  • SOTA-124 without LIT-166 loses the position it argues against, which makes the practice less interesting and not less supported. Body — and this is the case the vague version of the rule gets wrong, because a paper you spend two paragraphs on feels like a source.

The one that was already right

SOTA-128 cites LIT-124 and LIT-125 and should not name them. It cites them for what they do not say — whether to mask the loss on a FIM sample’s prefix and suffix is “left unstated in one and only implicit in the other” — which is the reason the source’s own two 90M runs are worth reporting. A citation can be load-bearing and still not be support.

What the pass is actually finding

Not sloppiness. Every one of these was filed when source: took exactly one code, and each names the single most defensible one. SOTA-130’s body says it outright — Olmo 3 “remains the source” — in the singular, months after ADR-010 made the field a list. The schema changed and the documents written under the old one did not get revisited, which is the ordinary way a record goes stale: not by being wrong when written, but by being right under rules that have since moved.

Worth checking after the pass: whether consensus values set while the source list understated the support are still correct. A practice reading unreplicated on a one-entry list that should have held three is not reporting the field, it is reporting the field it was written next to.


Eleven edges gain a sign, and tail hid two findings for a day

2026-09-07 20:32:15 · lineage · process

ADR-017 said succession gains a sign and named the mechanism: a second relation, once a chain’s spine could walk more than one. LU-#211 shipped that in 0.11.0, so this is the decision becoming the record’s shape.

What the sign changed, and what it did not

Not the pages. Six literature lines and eight practice lines, every step nesting exactly where it did before — because extends: and corrects: are one spine and the walk cannot tell them apart. That is the correct outcome and worth stating plainly: the information gained is structural, not visual.

What it did change is what a document can be asked. LIT-140 now reads corrected_by: [LIT-151, LIT-181] — two independent groups naming defects in mHC’s constraint, legible from mHC itself without opening either. SOTA-121 reads corrected_by: [SOTA-131], so “Muon needs QK-Clip at scale” is a fact about Muon and not only a fact about QK-Clip. Getting the converse for free is why this was a second relation rather than an attribute on extends:.

Where the sign is still invisible

The lineage page renders code, title and facets, and says nothing about which relation a step arrived on. So the record knows the difference and the reader of the generated page does not. Filed upstream as LU-#213 rather than worked around: it was an open question in LU-#211 and the implementation deliberately left it out, so the walk could land without a rendering decision attached to it.

The process failure worth keeping

Two findings shipped in #64 and survived a merge because the lint output was being read through tail -3. luria lint prints its warning headline first and the individual findings under it, so a tail shows the last classes and hides the first: a code resolving to nothing and a Proposed practice cited unacknowledged were both above the cut, in the same PR that introduced them.

This is the second instance today of the same shape — the first was luria index >/dev/null 2>&1 hiding a config error, recorded upstream. The general rule is the same and now has two witnesses: do not truncate the output of a command you are running in order to decide whether something is clean. A summary line is not a substitute for the findings, and the cheap habit that hides them is the one that feels like tidiness.

Both are fixed here rather than filed, because they are small and they are ours.


What the source pass found, and what it cost

2026-09-07 21:01:55 · method · literature

#58 is done: thirty-two practices examined, seventeen changed, fifteen correct as filed.

The shape of what was wrong

Not sloppiness, and not one mistake repeated. Three distinct causes, in roughly equal measure.

The schema moved and the documents did not. Most of it. Every practice corrected here was filed when source: took exactly one code, and each named the single most defensible one. SOTA-130’s body still said Olmo 3 “remains the source”, singular, months after ADR-010 made the field a list.

The prose already knew. In nearly every case the missing source was argued for, at length, in the body of the document that failed to name it. SOTA-140’s Source section named Hägele’s controlled comparison from the day it was filed; the frontmatter named only MiniCPM. SOTA-138’s Conditions counted NSA’s from-scratch result as evidence in the same sentence that the field omitted it. SOTA-145 enumerated four works and put three in the field. The pass was mostly transcription, not discovery.

Adoption was doing a job nothing had assigned it. SOTA-132 carried four production lines in source: while reading as unassessed on the consensus axis — the evidence for “the field does this” filed under “this is why it is true”. That one needed a decision before it could be fixed, which is why ADR-017 came in the middle of the pass rather than before it.

What the decision was worth, measured

The first thirteen practices took two batches under a rule invented for the occasion. The last nineteen took two more under ADR-017, and the second half went roughly twice as fast per practice — not because the cases were easier, but because “did this work run the comparison, or did it ship the design?” is answerable by reading one paragraph, while “does this feel like support?” is answerable only by argument.

The decision also made the only removals in the pass possible. Every batch before it could add a source; none could take one out, because nothing said what did not belong.

Two the record got right before the rule existed

Worth naming, because they are the argument that the rule was discovered rather than imposed. SOTA-151 says of LIT-210: it “explains why the problem exists; it does not evidence that rescaling is the answer, and the sources of a practice are what its recommendation rests on.” SOTA-152 says Olmo 3 and DeepSeek-V4 “both cite this work, which is adoption rather than replication — neither reports what it did for them.” Both were written before ADR-017 and both state its two halves exactly.

What is left

The consensus values. SOTA-132 gained one in this pass because the evidence moved out of source: and needed somewhere to go, but the other sixteen changed practices had their support lists altered without their consensus readings being re-derived — and several were set while the list understated the support. That is a smaller pass than this one and it wants the group count LU-#209 asks for, since every consensus value in this record is a hand-count of laboratories that nothing can recompute.


A pass can only find the defect its method is shaped like

2026-09-07 21:14:28 · method · literature

The consensus re-derivation was supposed to be a small tidy-up after #58: seventeen practices had their support lists changed without their consensus readings being re-read. Two of those readings needed work. The pass found something else on the way, and the something else is the more useful half.

What re-reading the notes found

SOTA-141 was emerging while its own note ended “the field has not moved”. emerging means “several independent groups, moving toward default”; the note says the opposite in plain words, three lines below the value. It is now unreplicated, with the note saying precisely what LIT-145 corroborates (the endpoint) and what it does not (the claim).

SOTA-125 said “at one scale” while its sources span 90M and 1.5B. The value survives — two scales from one group is still one group — and the note did not.

That is two out of twenty-two, which is roughly what a tidy-up should look like.

What the method could not see

#58’s candidate list was codes cited in the body that source: does not name. Every batch could therefore add a source and none could remove one, because a code wrongly present in the field produces no body-only citation to flag it. SOTA-132 was caught in the last batch only because it happened to be missing a source as well.

Asking the opposite question — which source: entries are model reports? — returns nineteen practices, and most are fine: Falcon-H1-Tiny is a blogpost full of its own ablations, and a report that ran the experiment is a source whatever else it is. Three were not fine, and one of them says so itself:

Then four generations of adoption rather than one result: — SOTA-147, The evidence

All four were in its source list. The practice wrote down the distinction ADR-017 would later make, and then filed against it.

The lesson, which is about passes and not about sources

A pass finds the defect its query is shaped like, and is silent on the inverse. Nothing about #58 was wrong; it was a search for absence, so it could not see presence. The check ADR-017 shipped has the same shape — source: ⊆ the body — and the same blind spot, which is worth knowing before someone treats a clean run as a clean record.

The general form: after a pass over a relation, run it once in the other direction. It is cheap, it takes minutes, and here it found three practices whose consensus readings could not be checked against their own evidence because the evidence and the adoption were in the same list.


Proposed is where a recommendation waits, and declining to file is not the same as filing a doubt

2026-09-07 21:50:40 · method · record

The first batch of #56 was filed as four notes and zero practices, and that was wrong. The three papers with a recommendation in them are now SOTA-156, SOTA-155 and SOTA-154, all Proposed. Writing down why the first pass went the other way is worth more than the correction, because the mistake was not about these papers.

The rule I applied, and why it is the wrong rule

The reasoning was: a practice needs the thing to work, and somebody at the relevant scale to be doing it. All three papers fail the second half — Schedule-Free’s evidence tops out far below where LIT-131 and LIT-145 disagree, DiLoCo is 8 workers on C4, ES is two tasks at 8B and below — so none of them became a practice.

That sentence is a correct description of the bar for Active. It was applied to the question of whether the document should exist, and those are different questions. statuses.yaml says so in as many words:

Proposed — early results are good, validation at scale is missing — the old experimental flag

That is a description of all three papers. The vocabulary already had the slot; the filer used the top of the scale as the entry requirement.

Why the error is not cosmetic

A refusal has nowhere to put the thing that would reverse it. Each of the three notes ended with a sentence naming what would change the answer, in prose, in a LIT document. ADR-014 exists because that exact arrangement failed before: a promotion condition living in prose is invisible when the evidence arrives, and it was found last time only because somebody happened to be re-reading two practices the same afternoon. Declining to file the practice reproduces the failure ADR-014 fixed, one layer up — the condition is now not merely prose, it is prose attached to the wrong document. promote_when: is a required field on a Proposed practice, and it was sitting empty because no practice existed to require it.

Consensus is a per-practice field, so a paper with no practice cannot accumulate one. ADR-015 put consensus: on SOTA deliberately: it is a claim about how far the field has moved on a recommendation. The second lab to publish a Schedule-Free run has nowhere to be recorded if there is no node to move from unreplicated to emerging. A refusal does not just withhold an endorsement; it removes the counter that would have earned one.

And it starves the status vocabulary. DP-2 is that a field every record shares is not a field. If only practices that already clear the Active bar get filed, Proposed fills up with nothing but the cases somebody filed optimistically and never revisited — which is precisely the distribution the lint’s inert-status check exists to catch, arrived at from the other direction.

What the notes were right about

The refusals were well-argued as statements of what is missing, and that content survives intact — it moved into promote_when: and the “what is not established” sections, where a machine can point at it. Two things also stayed literature-only for a reason that holds up:

  • The Veo 3 note reports emergent capability and recommends nothing. There is no instruction to file.
  • The JEPA line is vision self-supervision, and tags.yaml gives SOTA seven primary topics, none of which is a vision category. The practice scheme is scoped to language-model training by construction — which is a much better reason than the one first given, and worth knowing about.

The rule that replaces it

File the practice whenever the paper contains an instruction; let status: carry how much you believe it. The question at filing time is “is there a recommendation here”, not “would I put my name on it today”. A Proposed practice with an honest promote_when: costs a paragraph and creates the node that everything later attaches to. A refusal costs nothing now and costs the node forever.

Two mechanics of the acknowledgement directive, learned the slow way

Filing three Proposed practices meant three new inactive-citation findings to acknowledge, and it took three lint cycles because the directive is stricter than it looks:

  • It must name the code it vouches for. inactive-ok-block: followed by a prose reason and no code acknowledges nothing — the finding stays, and the comment reads to a human as though it had been handled.
  • It must be contiguous with the block. A blank line between the comment and the paragraph ends the block, so the directive covers only itself.
  • And a corollary: a code written inside the comment is itself a citation at that line. Vouching for two codes takes two directives stacked, not one comment mentioning both — which is what the existing sites in this record already do, and now I know why.

One more, found by deleting the comment to see what happened: journal entries are not subject to the check at all. The directive this entry originally carried was doing nothing. It is removed rather than left in place, because a directive that vouches for nothing is the same failure as a field every record shares — it looks like a handled finding and is not.


Every practice in the registry says “autoregressive transformer” and none of them writes it down

2026-09-07 21:56:31 · method · literature

Filing LLaDA (#56, batch B) turned up something about the registry rather than about diffusion language models. The paper’s argument is that the capabilities everyone attributes to LLMs are attributed to autoregressive modelling specifically, and that the attribution is unearned: hold the paradigm fixed, swap only the factorization, and an 8B model is competitive with LLaMA3 8B. Whether or not that holds up, writing the note required asking what the record would have to change if it did — and the answer was not obvious, which is the finding.

The qualifier nothing needed until now

Every practice here is advice about training an autoregressive transformer. Not one of them says so, because nothing in the corpus has ever been anything else. The assumption is not hidden, exactly; it is ambient, which is worse, because an ambient assumption cannot be cited, contested, or scoped.

Sorting the registry against it, the practices fall into two groups that are easy to name and were not obvious before the sort:

  • Indifferent to the factorization. AdamW’s decoupled decay, µP and CompleteP, warmup-stable-decay and the peak-LR power law, MoE routing and expert granularity, best-fit packing. These are about optimization and capacity. A diffusion language model would want all of them.
  • Load-bearing on it. Fill-in-the-middle training, multi-token prediction, speculative decoding, KV-cache compression, context extension by RoPE rescaling. These exist because generation is left-to-right and cached. Under a masked-diffusion decoder some are unnecessary and some are incoherent.

Where the sort now lives

The sort above is a first pass by one reader, and it has the shape of a thing that will look obvious and be wrong in places — the boundary runs through the attention material in particular, where a practice can be about the cache (load-bearing) or about the attention pattern (not).

It is written into the diffusion practice itself, under the heading “what adopting this would cost, which nobody has costed”, rather than left as a journal observation. A recommendation whose adoption cost is unknown should say so at the point of recommending; leaving it here would have implied the cost was zero, which is the thing the sort exists to deny.

That the practice exists at all is the other half of the same correction. The first pass filed these four papers as notes and no practices, on a rule — “somebody at the relevant scale has to be doing it” — that describes the bar for Active and was applied to whether the document should exist. The companion entry for batch A works through why that is wrong; the short form is that a paper with no practice has no node, and a node is what accumulates consensus: and carries promote_when:.

The three that stay literature-only, and one good reason

Three of batch B’s four notes carry no practice, and only now for reasons that survive scrutiny.

The Veo 3 note recommends nothing. It reports emergent capability in a closed model and draws an analogy. There is no instruction in it to file, so there is nothing for a Proposed practice to say.

The JEPA line cannot be filed, structurally. tags.yaml gives SOTA seven primary topics — training, systems, stability, distributed, data, attention, architecture — and none of them is a vision category. LIT has five more, including vision-and-graphics, which is how these notes are filed at all. So the practice scheme is scoped to language-model training by construction, and a vision self-supervision recommendation has no primary topic to take. That is a much better reason than “no adoption at scale”, and it is a live question rather than a closed one: if the record ever wants vision practices, the change is to the primary-topic vocabulary, which ADR-003 made binding.

The temptation with all three is to skip the note: no practice will cite them, so what is a note for?

What a note is for, here, is the boundary. Each of the three says in its Standing section what the record does not hold and what would move the paper inside. That turns “the anthology has nothing on video” from a silence — which reads identically to an oversight — into a filed position. Luria has a design principle for this shape (an absence reads like success); the anthology’s version of it is that a subject nobody filed and a subject somebody declined to file look the same from the index, and only the second one is a decision.


The registry was missing nodes at both ends, and only one end had a story

2026-09-08 00:16:16 · method · record

Auditing the curation log for practices skipped the way batch A’s were found three, and then found two more by the opposite failure. The first three are the pattern already named: a recommendation refused because nobody at frontier scale has adopted it, which is the Active bar applied to the question of whether the document should exist. The other two had no story at all, and that is the more interesting half.

The three refused for adoption

  • The hyper-connections trunk. ADR-015 says outright: “The trunk practice that paragraph describes is deliberately not filed here… converting a hedge into an assertion is an editorial act.” But Proposed is the hedge, so filing it converts nothing. This one is the worst shape of the three, because the record had already filed both branches — the doubly-stochastic constraint and the free mixing it replaced — and not the trunk they fork from. The disputed part had a node and the agreed part did not, which is how the record ended up recommending a layer ratio defined in terms of a structure it had never stated.
  • Data mixing laws (LIT-201): refused because “none of the frontier reports in this record says it used a mixing law”. The note itself draws the parallel to SOTA-142, which sets the peak learning rate by a fitted power law and is filed. Same move, one filed and one not.
  • Mamba-3 (LIT-165): “Nothing in the record ships Mamba-3, so it stays a note.”

The two nobody refused, because nobody noticed

Deduplication and multi-token prediction were not skipped by an argument. No note says “not filed as a practice” about either. They simply never came up, because a step everyone agrees on generates no debate to notice.

LIT-202’s own standing section had said it plainly for weeks — “the foundation under a step that appears in every pipeline this record describes and had no source” — and the sentence reads as a compliment to the paper rather than as a hole in the registry. LIT-163 is the same: five model reports ship an MTP head and each mentions it as settled, so there was nothing to argue about and therefore nothing to write.

The shape, which is the useful part

The two failures are mirror images and they have opposite tells:

refusedunnoticed
Triggera paper too new to endorsea technique too settled to discuss
Tella sentence saying “not filed as a practice”silence
How foundgrep the record for the refusalask which notes no practice sources

Only the first leaves evidence. Grepping for refusals is a complete method for one half of the problem and finds nothing at all of the other — which is the same lesson the earlier entry drew about passes finding the defect their query is shaped like, arrived at again from a different direction. The inverse query here is which notes does no practice source?, and it returns 115 of 218.

Most of those 115 are correct: the pre-migration vision and generative corpus, which the practice scheme cannot express because tags.yaml has no vision category, and the model reports, which are adoption rather than evidence (ADR-017). Narrowing to post-migration notes carrying a SOTA-eligible primary topic leaves 38, of which these five are the ones the curation log pointed at. The other 33 are a sweep, filed as an issue rather than done here, because each needs the same judgement — is there an instruction in this paper — and thirty-three of those in one sitting is how a taxonomy gets baked in badly.

One thing the lint got right

SOTA-132 was cited with an inactive-ok-block: written from memory of when it was Proposed. It is Active now, and the lint said so: “annotation no longer applies”. That is the acknowledgement mechanism working in the direction nobody designs for — catching a vouch that has outlived its reason, rather than a citation that lacks one.


Two trunk practices in one day, found by different routes and missing for the same reason

2026-09-08 00:23:00 · method · record

The first cluster of the #73 sweep produced three practices, and the useful finding is that one of them is the same shape as the one filed an hour earlier for a completely different subject.

The hyper-connections trunk was found by grepping ADR-015 for a refusal. The matrix-preconditioner trunk was found by asking which optimizer notes no practice sources. Different subjects, different search methods, identical defect: the record had filed the branches and not the thing they fork from.

The shape, stated once

  • SOTA-136 and SOTA-137 are two answers to how to constrain the mixing in a widened residual stream. The width itself — which all four papers agree on — had no document.
  • SOTA-121 is Muon. The class it belongs to — precondition with matrices rather than entrywise — had no document, while two separate notes argued in prose that the class is where the win lives. LIT-157: “what SOAP supplies is the argument that the win belongs to the class rather than to the particular algorithm.” LIT-156: “every fastest optimizer — Muon and SOAP among them — preconditions with matrices… That is a real structural finding and it survives the fair comparison.”

Why trunks go missing, which is not the same reason branches do

A branch gets filed because somebody published it: a paper arrives, it has a name, it makes a claim, and the claim becomes a practice. A trunk has no paper. It is what several papers agree on, and agreement is nobody’s contribution — so there is no arrival event to prompt the filing.

That makes trunks a third category alongside the two the previous entry named. Refusals leave a sentence to grep for. Too-settled techniques leave silence. Trunks leave prose in the notes saying the trunk is the interesting part, written by whoever noticed, in a document that cannot carry a practice’s status.

Which suggests the query: where does a note’s Standing section make a claim about what several papers agree on? Both of today’s trunks would have been caught by it, and neither was caught by the other two methods.

A smaller thing, twice

Two directives in this batch were written from memory — SOTA-131 and SOTA-132 acknowledged as Proposed when both are Active now — and the lint rejected both with “annotation no longer applies”. That is three instances today of writing a status from recall rather than reading it. The fix is not to try harder: it is that the acknowledgement is cheap to add and the lint always checks, so the cost of the mistake is one cycle. Worth noting only because the same failure would be expensive anywhere the guard did not exist.


Three of the four papers were already load-bearing, and none of them carried a practice

2026-09-08 01:19:15 · method · record

The precision cluster produced four practices, and the thing worth writing down is what these four papers were already doing in the record before today. Three of them are what the frontier reports cite for decisions the record already records:

  • Kimi K3 keeps the attention output in FP32 and redesigns its kernel to absorb the doubled footprint. LIT-131 says so. LIT-198 is the paper it is citing, and without it the choice reads as caution rather than as a fix for a named failure mode.
  • DeepSeek-V4 and Kimi K3 both quantize to “FP4” and “MXFP4”. LIT-197 is what those words mean — a 4-bit element in a 32-element block with a shared power-of-two scale, not a bare 4-bit float.
  • SOTA-034 is contested on the strength of LIT-200 and K3’s SiTU-GLU.

So the record was already using these papers to explain its own contents. What it could not do was state what a reader should therefore do — because the statement had nowhere to live except inside a note about a different paper.

A fourth category, or the second half of the third

The previous entry named three ways a practice goes missing: refused for adoption, too settled to discuss, and a trunk nobody publishes. This cluster adds a variant of the last one, and it is worth distinguishing.

A paper cited to explain somebody else’s decision is not the same as a paper nobody read. These four were read closely — the notes are detailed, they are cross-referenced from the model reports, and they carry the exact sentences the practices now carry. The failure is one step later: the reading was filed as exegesis of a model report rather than as advice, because the prompt to write it was “why does K3 do this” rather than “what should I do”.

The tell is a note whose Standing section explains another document’s decision. That is a different query again from the previous three, and it would have found all four of these.

And the trunk pattern showed up a third time

LIT-200’s own Standing section had already done the analysis: “Neither cites a problem with SwiGLU’s quality; both object to its range.” Two groups, two remedies, no comparison between them — so the record can state the agreement without picking a function, and could not before, because the only nodes available were SOTA-034 (SwiGLU, contested) and nothing.

Three trunks in one day, found by three different methods, in three unrelated subjects. That is no longer a coincidence about hyper-connections; it is what this record’s filing habit does. A branch has an arrival event and gets filed. Agreement has no arrival event and does not.

The acknowledgement mechanic, again, in the other direction

This batch wrote four directives vouching for documents that turned out to be Active — no acknowledgement needed — and the lint rejected all four with “annotation no longer applies”. Yesterday’s instance was the same mistake; today’s is at four times the rate, because I was writing acknowledgements defensively rather than from the report.

The fix is mechanical and worth stating: write the acknowledgement after running the lint, from the list of findings, not while writing the prose. The report says exactly which citations need one. Guessing produces both kinds of error — a missing vouch and a vouch for nothing — and only the first is the one anybody worries about.


Four conflict resolutions taught nothing, which is what a misplaced file feels like

2026-09-08 01:40:38 · method · mechanism

The tell was that resolving the conflicts was never interesting. Four times today two branches collided on generated pages, and four times the resolution was the same ritual: git checkout --theirs docs/, rerun luria index, re-stage, commit. Nothing was learned. No judgement was exercised. The correct content was a pure function of sources that were not themselves in conflict.

That is the signature of a file in the wrong place, and it took four repetitions to read it as one rather than as friction to be absorbed. Luria’s own principle covers this — a guard that keeps catching you is a bug report about the workflow — and the same shape applies to a merge conflict that keeps arriving with no information in it.

What the cost actually was

Not the resolutions. The resolutions were minutes. The cost was:

  • A recovery from a failed git stash pop earlier in the day, where regenerated views blocked the merge and four untracked notes had to be verified intact by hand before anything could proceed.
  • A second conflict on the same branch after the first merge, because the bot’s regeneration commit on main rewrites the same shared files — and that time luria concretize had also renamed the temp-coded documents the first merge numbered, so the second resolution was against files with different names.
  • A stack three deep that had to be collapsed and landed in one merge to avoid two more rounds of it.

None of that is inherent to the work. All of it came from regenerating shared files on branches.

The fix, and the thing that made it available

docs.yml now mirrors the shape luria uses on its own record: generate and commit views on the push to main, and on a pull request run the generate action with views: "false" plus the lint action in the same job, so source repairs land on the branch and no view is written.

Worth recording how close this came to being blocked. Checking whether the pinned action supported views: at all, the first attempt was git show 0.11.0:actions/generate/action.yml in a clone whose tags had never been fetched — the tag did not resolve, the command failed, the || echo "NOT PRESENT" fallback fired, and the answer read as a clean negative. It was wrong. views: is in 0.11.0.

A shell fallback that cannot distinguish “absent” from “the lookup failed” will report the second as the first, and it will do so in the confident voice of a successful command. The same shape as suppressing stderr, which this journal already records once. The version that would not have lied: resolve the ref first, then read the file, and let the failure be a failure.

What it changes for a contributor

Run luria index locally anyway — docs/reports/reference-status.md is what tells you which citations the lint is about to flag, and reading it before writing acknowledgements is the fix for the other recurring mistake this week. Then throw the views away before committing. A branch carrying views is not more up to date; it is a conflict with every other branch.


The record was arguing with two papers it had not marked itself as contested by

2026-09-08 01:48:07 · method · record

Filing the repetition cluster turned up a defect in a practice the cluster was not about. SOTA-124 said consensus: unreplicated, with a note ending “Nobody has contradicted it either” — and three paragraphs of its own body argue in detail with LIT-166 and LIT-175, both of which contradict it.

The frontmatter was written when it was true and never re-read when the body changed. That is the same failure the consensus re-derivation pass found in SOTA-141 a day earlier — a value set correctly, then outlived by the prose below it — and it is worth noticing that the pass which was designed to catch exactly this missed this one, because SOTA-124’s support list had not changed and so it was not on the candidate list.

A pass keyed to “what changed” cannot see a document whose surroundings changed instead. That is a third variant of the shape this journal keeps recording: a query finds the defect it is shaped like.

The cluster itself: a fourth trunk, of a different kind

The FIM practice is the fourth case this week of a refinement filed without the thing it refines. SOTA-128 — whether to mask the loss on the prefix and suffix of a FIM sample — has been in the record since the migration. The practice it is a footnote to, train with FIM at all, was filed today.

But the mechanism is not the one the earlier entries named. The hyper-connections and matrix-preconditioner trunks went missing because agreement has no arrival event. This one went missing for a different reason: the refinement was the part somebody in this project had measured. SOTA-128 is sourced to Falcon-H1-Tiny’s two 90M runs. FIM itself was established in 2022 and simply assumed. The trunk was missing not because nobody published it but because it was too old to feel like news when the corpus was being built.

So: agreement has no arrival event, and neither does a four-year-old default. Both are invisible to a filing habit that runs on arrivals.

Three positions on one question, and none of them is wrong

The nicest thing in this cluster is that the repetition disagreement is genuinely unresolved and now legible as such:

  • SOTA-124 — repetition is safe when epoch size exceeds the memorization window. One figure, one scale, authors call it early. Falcon-H1-Tiny repeated sources 100×.
  • The four-epoch practice — four epochs, then the value of added compute decays. 400 runs, released models and datasets.
  • The augmentation practice — repetition overfits severely, and the overfitting is a property of the objective, removable.

They are not measuring the same quantity: a whole corpus under fixed compute, against one high-quality source inside a mixture, against the objective itself. The third makes the first two falsifiable in the same terms, which is why it is the most useful of the three even though it is the least established. Filing all three is what lets a reader see that the question is open rather than picking whichever document they happened to find.


A temporary code is branch-local, and two parallel branches cannot cite each other

2026-09-08 01:53:13 · method · mechanism

The lint caught something the new workflow made possible. With views no longer generated on branches, two clusters can be worked in parallel off main instead of stacked — and the first time that happened, one practice cited SOTA-171, a temporary code that exists only on the other branch.

luria lint reported it as an unresolved code, which is exactly right and worth writing down as a rule rather than an incident:

A merge-allocated temporary code is branch-local by construction. It is a placeholder for a number that will be assigned when the branch merges, and two branches in flight have no way to know each other’s assignments — so a cross-branch reference is not merely unresolvable now, it would resolve to the wrong document later if it resolved at all.

The fix is to cite the note instead. LIT-166 is a real code on main; the practice drawn from it is not yet. Referring to “the four-epoch practice drawn from LIT-166” says the same thing, resolves today, and stays true after both branches land under whatever numbers they get.

That generalises: across branches, refer to the stable thing. Literature codes are stable because notes are filed before the practices that cite them; practice codes filed in the same contribution are not.

The trade the new workflow bought, stated plainly

Before, parallel branches conflicted on generated views, so the natural move was to stack — and stacking made every merge a re-resolution. Now branches are independent and the only thing they can collide on is a temporary code, which the lint catches at the citing site rather than at merge time.

That is a better failure: it is local, it names the file and the code, and it is fixed by writing a sentence differently rather than by re-running a generator and re-staging nineteen files.

The cluster

Two practices — filter by token horizon, and build synthetic data by editing human text — and two notes that now say why they keep none. Those two refusals are worth having beside each other, because the reasons are different and both are reusable:

  • LIT-184, FineWeb: scope. A dataset is not a technique. Its transferable content is an ablation methodology, and it lands in the filtering practice as the position that practice argues against.
  • LIT-125, Qwen2.5-Coder: ADR-017. A model report describes a recipe in full and isolates none of it. It supplies adoption, not evidence about a claim.

Neither is “nobody at frontier scale does it”, which is the reason the whole sweep exists to stop giving.


The principles were already written, scattered across a week of journal entries

2026-09-08 02:01:35 · method · record

Nothing in the four new principles is new. Every one of them was argued in full, at length, inside a devlog entry or a decision written in the last few days. What they lacked was the one property that makes a principle useful: being in the place a person looks before making the mistake rather than after.

That is worth noticing about the shape of this record. A journal entry is indexed by date. A decision is indexed by the choice it settles. Neither is indexed by the situation a future reader will be in — and “I have a paper with weak evidence and a real recommendation, what do I do” is a situation, not a date or a decision.

The selection criterion, since four were filed and several were not

The test used: would stating this in advance have prevented a specific mistake that was actually made this week? Not “is it true”, which too much is, and not “is it interesting”, which is how a principles page fills up with observations nobody applies.

Filed on that test:

  • Filing is not endorsement — would have prevented twelve practices being absent for months.
  • Agreement has no author — would have prevented three trunk practices going unfiled while their branches were documented.
  • Adoption is not evidence — would have prevented a support list of four model reports under a practice whose own prose called them adoption.
  • A vocabulary is a scope decision — would have replaced a bad reason for declining a vision paper with the real one.

Held back, and worth saying why, because both are true and neither passed:

  • “A pass finds the defect its query is shaped like.” The strongest general lesson of the week — it recurred three times, in the source pass, the consensus pass, and the refusal grep. It is a principle about method, not about what belongs in this record, and the four filed here are deliberately one subject. It should probably be filed, and as its own thing.
  • “Derived state belongs where writes serialize.” Genuinely earned by four merge conflicts, and it is luria’s decision to make rather than this project’s — ADR-018 adopts it wholesale and cites upstream. A principle restating a dependency’s principle is a copy that will drift.

The reflexive bit, which is not a joke

The reason these four principles went unwritten is the reason the practices they are about went unfiled: nothing prompts you to record what you already know. The trunk of a line of work has no arrival event; neither does the rule you have been following successfully for a week. Both get written down only if somebody goes looking on purpose.

Which suggests the same defence in both cases — a deliberate pass, run against a question rather than against a diff — and suggests running it after any stretch of work where the same correction was made twice.


Four merges in forty seconds, four failed runs, and a lost concretization

2026-09-08 02:22:05 · method · mechanism

I merged four pull requests in under a minute and every resulting run on the trunk failed. Nothing about the changes was wrong. The failure was entirely in the cadence, and it is worth writing down because the same mistake is available to anybody with merge rights and a queue of green branches.

What actually happened

Each merge starts a push run. Each push run regenerates the views and pushes them to the branch it ran on. Four of those started within seconds of each other, so three of them finished a regeneration only to find the branch had moved — and the recovery, pulling and rebasing their own regeneration commit onto the winner’s, conflicts by construction, because both commits rewrite the same generated files.

The log is unambiguous, and the ordering in it is the painful part:

rename record/principles.d/{[DP-008](../design-principles.md#dp-8).md => [DP-008](../design-principles.md#dp-8).md} (94%)
...
CONFLICT (content): Merge conflict in docs/curation/2026-09.md
error: could not apply 213771b... docs: regenerate views [skip ci]

The run had already done the concretization correctly. It numbered five principles, then lost all of it to a rebase conflict on generated pages it had also just rewritten. main was left carrying temporary codes, which is precisely the state the trunk guard exists to forbid, reached by the machinery meant to prevent it.

Why it was not caught by the fix that preceded it

An hour earlier the views moved to the trunk only, on the argument that a shared generated file cannot be edited by two branches at once. That argument was right and incomplete: it removed the conflict between two branches and left the conflict between two runs on the same branch untouched. Serialization by placement is not serialization in time.

That is worth stating generally. Making a file single-writer by location does nothing about concurrent writers at that location. The second half of the problem is invisible while merges are spaced apart by human reading speed, and arrives the first time they are not.

The fix, and the smaller lesson about cadence

concurrency: keyed on the workflow and ref, with cancel-in-progress: false, so runs for one branch queue rather than race. A burst of merges collapses to the run in flight plus one more, and the last one regenerates from the final source state — which is the only state that has to be right.

ADR-002 had already made this argument once, for the changelog collector: a per-merge bot commit races in-flight rebases, so collection runs on a cadence and never per merge. The reasoning transferred to a different job in the same workflow and nobody carried it across, which is the ordinary way a decision fails to generalize — it was filed against the job it was about.

The behavioural half is simpler and I should have known it: merging a stack is not a batch operation. Each merge is a deployment. Spacing four of them by twenty seconds would have cost nothing and prevented all of this.

And a second finding, from trying to ship the first one

The pull request carrying this fix started no CI run at all. Not a failure — nothing. The cause was in its own commit message, which quoted the CI log above, and the log line ends in the bot’s skip marker.

The workflow’s header comment had warned about exactly this trap and got the scope wrong: it said the marker suppresses a run “in the first or last line”. The marker here was on line 18 of 56, and the run was suppressed anyway. Amending the message to spell the marker in prose made the same tree build immediately.

Two things worth keeping:

  • The comment is now corrected, because a warning with the wrong precondition is worse than none — it invites exactly the reasoning I did, which was to check the position, find it mid-message, and conclude this could not be the cause.
  • Pasting a CI log into a commit message is the likeliest way to quote the marker by accident, and it is a thing anybody debugging CI will want to do. The failure mode is silent: no run, no error, no skipped-run entry. Looking for a red check finds nothing wrong, because there is nothing there.

That is the same shape as the earlier note about a shell fallback that cannot tell “absent” from “the lookup failed”: a diagnostic that reports nothing is read as a diagnostic reporting no problem.


The lowest-yield cluster was the one where the earlier work had already been done

2026-09-08 02:35:53 · method · record

Eight candidates, three practices. Every earlier cluster in this sweep converted at better than half; this one converted at three-eighths, and the reason is worth recording because it is the first evidence that the sweep is approaching its end rather than that it stalled.

Five of the eight are line members, and their notes had already said so in detail. Mamba’s selectivity is inherited by everything the record recommends. The state-space duality is a premise of the hybrid practices, not a rival to them. Gated Linear Attention is parallel invention that the record’s actual line does not run through. Griffin is the origin of the interleave and takes the other side of a fork the practice already argues. The gated-convolution paper is the origin of a unit SOTA-034 recommends a variant of.

None of those is a recommendation to file. All of them are things a reader meeting the practice should be told, and in three of five cases the practice already told them: SOTA-034 had a “Where the gate came from” section, SOTA-132’s Variations already carried the intra-layer layout and the parallel-head one.

What that says about the previous clusters

The four earlier clusters each found a defect. This one mostly found work already done — and the difference is not that this material is better tended. It is that the architecture half of the record has been worked on recently and repeatedly, in the reference pass and the two hybrid passes, while the data and optimizer halves had not been touched since the migration.

So the sweep’s yield is a measure of when a section was last read, not of how important it is. Worth knowing before reading a low-yield cluster as evidence that a subject is in good shape: it is evidence that somebody was here recently.

The one real gap, and it was two steps back

SOTA-132’s Sequence began at the Gated DeltaNet hybrids of 2024. The interleave starts at Griffin, and the delta-rule paper says so in as many words — its sliding-window hybrid “follows Griffin and Samba”. The practice had been describing a line from its middle.

The fork at that first step is the part that matters and was nowhere: Griffin puts local attention in the minority layers, the practice puts global attention there, and only global preserves exact retrieval at arbitrary distance — which is the entire reason the minority layers exist. A reader taking “interleave at 3:1” from the earlier work would get the ratio and lose the reason.

That is a fourth variety of the trunk problem: not a missing trunk, but a line entered halfway, where the steps before the entry point carry the argument for why the practice is shaped as it is.

A small one from the lint

A directive in SOTA-171 vouched for a citation that a file-scope directive at the top of the same file already covered, and the lint reported it as no longer applying. That is the guard catching a redundant acknowledgement rather than a stale one — a third thing it can find, after the missing vouch and the vouch for a document that has since gone Active. Cheap to fix and worth knowing the report means three different things.


What the sweep cost, what it found, and the number that says it worked

2026-09-08 02:50:54 · method · record

The sweep is done. Every post-migration note carrying a practice-eligible topic now either sources a practice or says why it does not, in its own Standing section, in terms a reader can disagree with.

The count

Twenty-four practices added across six clusters, 157 → 181. But the distribution is the part worth keeping:

beforeafter
Proposed1428
carrying a consensus: value2850

The provisional half of the status vocabulary doubled. That is the direct consequence of the entry rule this all started from — file the claim, let status: carry the belief — and it is the measurable version of what DP-006 argues. A vocabulary whose provisional values were used fourteen times in a corpus of 157 was barely a vocabulary; at 28 of 181 it is doing work.

What the sweep actually found, sorted by kind

Not one kind of defect. Six, and only the first was the one it went looking for:

  1. Refused for adoption — the Active bar applied to whether a document should exist. Three cases, all refused in writing, one of them in an ADR.
  2. Never noticed at all — deduplication and multi-token prediction, in every pipeline the record describes, argued about by nobody, filed by nobody.
  3. A trunk with its branches filed — three times, in three unrelated subjects, found by three different methods.
  4. A refinement filed before the thing it refines — the loss-masking footnote four months ahead of the practice of constructing a fill-in-the- middle sample at all.
  5. A line entered halfway — the interleave practice beginning two steps after the interleave does, losing the fork that explains its own shape.
  6. Exegesis filed as a note — four papers read closely, in detail, because a frontier report cited them, and filed as explanations of somebody else’s decision rather than as advice.

The through-line is in DP-007: the filing habit runs on arrivals, and none of these six had one.

What it cost, honestly

Six pull requests of content, plus three of infrastructure that the content work forced: views moved off branches, runs serialized per ref, and a skip-marker caution corrected. Two of those three were caused by my own mistakes — regenerating shared files on branches, and merging four pull requests in forty seconds — and both were the kind that only appear at a tempo a person would not have reached.

That is worth naming as a cost of working this way rather than as bad luck. Working faster than a human would find the same bugs faster, and it finds bugs a human would not have hit at all. Both halves are real, and the second one is not free: three of the nine contributions here were repairs to damage the pace caused.

The one number that says it worked

Not the practice count. Zero. That is how many post-migration notes with a practice-eligible topic now lack either a practice or a written reason — and it is checkable in about fifteen lines of Python, which is the property that makes it worth having. The count of practices will drift. The invariant either holds or it does not, and the next person can find out in a minute.

The invariant is also, per DP-004, evidence about exactly one query. It says nothing about the inherited 119 notes, which were never audited under these rules, and nothing about whether the practices filed are good. Those are different passes and they are filed as such.


The legacy flush: what came out, and what stayed

2026-09-08 04:14:09 · infrastructure

Issue #41 asked for the pre-record Python to go. It was three tools sharing one dependency: a README generator that assembled README.md and README_LLM.md from Jinja templates, a directory summariser that wrote per-directory prose into docs/, and a package-lock helper for a frontend that no longer exists. All three imported llamero; the workflows that ran them are gone with them.

Four things were checked before deleting anything, because each one could have made a deletion lossy:

  • Nothing in the record referenced the modules. The [luria.code] globs scanned src/**/*.py and docs/**/*.j2; with the templates gone the second glob names nothing, so it went too.
  • The templates were not templates. README.md and README_LLM.md were concatenations of static fragments — no Jinja expressions in any of them — so the rendered files already in the tree are byte-complete, and the generator was rendering nothing. Deleting it loses no content.
  • assets.logo.svg (the misnamed one at the repo root, a build artifact of an old workflow) is byte-identical to assets/logo.svg. Only the copy is gone.
  • src/scripts/migration/ stays. CLAUDE.md and ADR-008 both promise the import stays re-runnable, and to_record.py needs only the standard library and pyyaml — so pyproject.toml shrank to that one dependency rather than disappearing.

The surprise was the test suite. It looked broken — conftest.py imports scripts.registry, a module that has not existed for some time — so the first read was “the tests are already dead, delete them.” They were not: those imports are inside fixture bodies, and the two tests that run never request those fixtures. With PYTHONPATH=src the suite passed. The tests came out because the code they covered came out, not because they were broken; the distinction matters, because “already broken” would have been a reason to skip checking what else the deletion took with it.

README_LLM.md was rewritten rather than trimmed. It had described optional-dependency groups, a test suite, and a rule that “all workflows depend on tests passing” — none of which survive, and two of which had not been true for a while. A generated file that nobody regenerates decays into a confident description of a repository that no longer exists.


The inherited corpus, counted — and the duplicates it was hiding

2026-09-08 04:44:55 · curation

First pass at #85. Before auditing 118 notes one at a time, two cheap mechanical queries: what is actually in there, and does any paper appear twice.

The inventory. The issue estimated “roughly 87 pre-migration” of 115 unsourced notes. The real numbers, taking LIT-001..118 as the inherited set:

notes
inherited total118
sourced by at least one practice45
unsourced73
unsourced and in a topic the SOTA scheme can hold37

So the audit’s actual surface is 37 notes, not 87. The other 36 unsourced notes sit in generative-modeling, vision-and-graphics, analysis-and-evaluation, adaptation-and-tuning and inference-optimization — five topics practices.d/tags.yaml does not carry, which is DP-008 working as designed rather than a backlog. Confirming that reasoning applies is one paragraph, not 36 readings.

The duplicates. Grouping all 218 notes by arxiv: and by normalized title found three pairs. One (LIT-090 / LIT-105, Lion) was already deliberately retired in September. The other two were live:

  • LIT-006 / LIT-042, Loshchilov and Hutter’s SGDR. LIT-006 read Active and LIT-042 read Superseded, so the record asserted both about one paper. Nothing cited LIT-006; everything that mattered pointed at LIT-042, which carries the schedule chain. Retired LIT-006.
  • LIT-029 / LIT-114, Xiong et al. on layer normalization. Both Active. Retired LIT-029.

What the second pair was concealing, which is the part worth the contribution. The two notes reached the same paper from opposite directions, and that is why a year of lints never saw it. LIT-029 was filed with the right identifier and the wrong reading — a single migration-authored bullet claiming the paper shows “RMSNorm pre-norm permits stable training at scale”. Xiong et al. never discuss RMSNorm; that is Zhang and Sennrich, LIT-023, which the record already held. LIT-114 was filed with a fabricated title against an unrelated arXiv id and was repaired in September by re-sourcing it to Xiong et al. Neither repair could see the other, because no check compares identifiers across notes (luria#165).

The cost was not the extra document. SOTA-032 sourced LIT-029 and inherited its conflation: “Use pre-norm (RMSNorm) for transformer layers” — two independently adoptable choices, one citation, and that citation supports only the placement half. GPT-2 is Pre-LN with centered LayerNorm; nothing stops a Post-LN model using RMSNorm. Split into the placement practice (SOTA-032, now sourced to LIT-114) and the statistic (SOTA-182, sourced to LIT-023).

What this says about the query, per DP-004. The duplicate scan is exact and finds exactly duplicates — identical arxiv: or identical title. It cannot see the same paper filed under two different identifiers, which is what the LIT-029 / LIT-114 pair was until the September repair happened to converge them. That pair became findable by accident. How many others are still divergent is not something this query can answer, and a title-similarity pass is a different contribution.

It also says nothing about correctness. LIT-029’s bullet was wrong about its own paper and no check could have caught it; it was found because the duplicate scan put two readings of one work side by side. That is the second argument for luria#165 — a duplicate detector is a cheap correctness check you get for free.


The tag is not the scope boundary — and I applied that error twice in one hour

2026-09-08 04:59:40 · curation

Second pass at #85. The issue proposed that the inherited notes tagged generative-modeling, vision-and-graphics, adaptation-and-tuning, inference-optimization and analysis-and-evaluation are unfiled because practices.d/tags.yaml declines those subjects — DP-008, a stated scope decision rather than a backlog. About 36 notes, expected yield zero, one paragraph of confirmation.

That premise is wrong, and I got it wrong twice on the way to saying so.

The issue’s error. The record already holds twelve post-training and quantization practices — SOTA-126 on DPO epochs, SOTA-129 on the pretrain/SFT/RLVR staging, SOTA-154 on evolution strategies, SOTA-160 and SOTA-163 on quantization — filed under training-optimization and systems-optimization. Every one of them sources a post-migration note. So the anthology has not declined to hold fine-tuning, preference training or quantization. It holds them, under the seven topics.

The LIT scheme has twelve topics and the SOTA scheme has seven, and the extra five are not a scope boundary. The two vocabularies overlap; they do not nest. What happened is that post-migration papers on these subjects were read and filed, and pre-migration ones got a tag outside the practice seven and were never looked at again. The tag concealed them rather than excluding them. LoRA — one of the most widely adopted training practices in the corpus — sat unfiled for a year behind adaptation-and-tuning.

The second error was mine, and it was the opposite one. Having written that paragraph, I asserted that the 24 notes tagged generative-modeling and vision-and-graphics were “out of scope by construction” — from their tags, without opening one. Challenged on it, I accepted the challenge, rewrote the reasoning to say that domain never decides scope, and pushed that.

Then I read the record. DP-008 says, in as many words, that the recommendations are scoped to language-model training by construction — that a vision paper can be a note and cannot be a recommendation, “not on judgement, not on evidence, but because there is no category for it to take.” ADR-003 made that split deliberately and rejected the single-vocabulary alternative precisely because it “puts a diffusion sampler paper under training-optimization or model-architecture and makes both pages worse.”

So the conclusion was right and the reasoning was not, and then I replaced correct reasoning with wrong reasoning because I did not check. Which is the generator this whole audit exists to catch: a claim that sounds right, asserted without opening the source. Three of the migration’s errors were that. So was this.

What actually survives. ADR-003 justifies all five extra LIT topics with one sentence — “the reading list covers ground the practice registry does not.” That is true of generative-modeling and vision-and-graphics, and it is false of adaptation-and-tuning and inference-optimization: the record holds fine-tuning, preference-training and quantization practices under the seven, several of each. DP-008 names “vision, generative and theory work” and never claims otherwise. Five topics were bundled under a reason that holds for three of them, and the bundling is what made LoRA look declined rather than overlooked.

The corrected surface. Of 71 inherited notes that source no practice: 18 carry a written reason, 13 are retired, and 53 are bare. Of the 53, 23 are the generative and vision corpus, which DP-008 settles — they need a written reason each or, better, one statement in the index, not a reading. The other 30 need reading.

Two errors, opposite directions, one cause. The issue over-applied a scope decision to topics it never covered. I then under-applied it to the topics it does cover. Neither of us read ADR-003. A decision that is written down and not read is, operationally, a decision that was not made — which is DP-008’s own point about vocabularies, turned on the document that states it.

Filed two practices as the demonstration that the concealment in those two topics is real rather than theoretical, and left the rest for a pass that reads them.


Four notes read, and the difference between a gap and a decision

2026-09-08 05:11:15 · curation

The four notes deferred from the scope-correction pass, now read. All four were migration stubs whose bullets named the area rather than the method. Two attributions were checkable and one was wrong.

GPTQ (LIT-081) sources a practice. Error-compensating one-shot post-training quantization: round column by column and push each rounding error into the columns not yet done, using second-order information from a calibration set. 3–4 bits at 175B in about four GPU-hours, where reaching that before had meant quantization-aware training. Filed as the approach rather than the artifact — the specific search and ordering have been improved on many times since, and what converged is the shape.

Three notes carry no practice, and now say so. This is the distinction worth recording, because “no practice” covers two quite different situations and the record could not previously tell them apart:

  • P-Tuning v2 (LIT-055) is a decision. The record recommends low-rank adaptation for the same job, and recommending both would be recommending neither. But the note stays Active because the comparison is the content: deep prefix tuning is competitive on quality and lost on deployment shape — a prefix occupies context at every layer forever, where a low-rank update folds into the weight and disappears. A corpus holding only the winner cannot say that.
  • The lottery-ticket pair (LIT-019, LIT-039) is a gap, and a different gap than it looks. The record holds no sparsity or pruning practice at all, which is not a scope decision — sparsity is expressible in model-architecture and there is live work on it. But these two notes are not what would close it. LTH’s procedure costs a full dense training run before producing anything, so as an instruction it reads “train the model, then train a smaller one.” And Evci et al. is the deflation: a rewound ticket re-learns the solution the dense run already found rather than discovering a good sparse architecture. The record needs both, precisely so the hypothesis is not carried unqualified.

The attribution error is the interesting one. LIT-039 was filed as Frankle. It is a lottery-ticket paper, and Frankle wrote the lottery-ticket paper, so the guess is nearly right and completely wrong — Evci et al. This is the same generator as LIT-029’s fabricated RMSNorm bullet and LIT-082’s Askell: describing a work from its subject produces text that is plausible in every respect except being true. Three instances now, all from one migration.

On verification. The arXiv API stopped responding partway through this pass — three of seven lookups returned, then timeouts. Semantic Scholar answered the rest. Worth writing down because the alternative was to assert four attributions from memory, which is exactly the failure being repaired, and because “the check is unavailable” is a reason to stop rather than a reason to proceed carefully.


Widening the scope, and the axis I built and took back out

2026-09-08 05:36:27 · ontology

The scope was drawn around language-model training, and that turned out to be wrong in both directions at once.

Too narrow, already. SOTA-113 and SOTA-115 are Active recommendations about serving, filed under systems-optimization, and they had been sitting outside the written scope for a year with nobody noticing. So had the quantization practices. DP-008 asserted “scoped to language-model training by construction” as a fact about the record; it was a fact about the sentence.

Too broad, in the sense that mattered. A scope drawn by domain declines work whose transferable content is exactly the kind of claim the seven topics collect. EDM contributes a preconditioning scheme, a noise-level sampling distribution and a loss weighting. Segment Anything contributes a model-in-the-loop annotation bootstrap. Those are a training-optimization claim and a data-pipeline claim that happen to have been found in image models.

So: scope by the kind of claim. That is the whole decision, and it needed no new machinery — which is not where this started.

The part worth writing down is the axis I built and then removed. The first draft added a domain: field to the practice scheme: a many-valued vocabulary saying what a practice applies to, with domain-general marking what transfers. It survived a design review with the user, got sharpened (many-valued rather than scalar, because where a practice holds is a set that accumulates), was implemented, backfilled, linted and pushed.

Then the objection that should have come first: it lets a practice assert where it applies while naming no evidence for the assertion. In a record whose first principle is DP-001, and which had just spent a contribution establishing that source: holds the work that produced evidence about the claim. The draft demonstrated its own failure in the same diff — three of the eight backfills claimed domain-general, meaning “transfers across every modality”, each on the strength of one language-model paper.

Three more, any one sufficient:

  • It would be ~99% default. One note in 218 is a cross-domain transfer result. A field that is overwhelmingly default is not neutral: absence gets read as a value. consensus: gets away with it because you assess consensus while touching the practice; you cannot assess domain without reading papers in another field.
  • It aims at the weakest link. Blindness has a pipeline — never encountering a paper, refusing it on scope, filing a note and drawing no practice, filing a practice nobody finds. The scope widening fixes the second. #85 says the third is the binding constraint: 53 bare notes. The field addresses only the fourth.
  • DP-008’s own corollary — a category added to admit a single document is how a scope stops being one — applied to the decision that amends DP-008.

What I got wrong about the alternatives, too. I pitched “derive the practice’s domain from its sources” as the evidence-respecting option. It is not available: only two of the twelve LIT topics carry domain information at all, the other ten being kind-of-claim words. Deriving would mean first adding a domain axis to the notes — so that option is not cheaper than the one it was meant to replace, it is the same thing plus a second step.

The shape that would work is ADR-016’s: a value asserting that specific other work exists must name it. shown-to-transfer requiring a transfers_shown_by: reference needs no new machinery. Recorded in the ADR along with the three-row decomposition, so the next person inherits the reasoning rather than the field.

The convergence that settled it. The one cross-domain transfer result the corpus already holds is LIT-090 — Lion, reported across vision, vision-language, diffusion and language modelling. It sits Rejected, on an inherited retirement its own note flags as unreviewed. It is at once the evidence a transfer axis would need and a question the widened scope makes live. Read that first; if a second one turns up, build the axis.

Cost of the detour: one design, one implementation, one backfill, all reverted. Cheap in absolute terms and worth naming anyway, because the objection that killed it — what evidence backs this field? — is the project’s own first principle, and I applied it to every other field in the record before I applied it to the one I was adding.


The cluster the old scope hid, read

2026-09-08 07:12:38 · curation

Twenty-three notes in the generative and vision corpus had been set aside as out of scope by construction — twice, once by the issue and once by me, both times from the tag rather than the paper. ADR-020 removed that exit. This is the first pass over them with the question ADR-020 actually asks: does the work contain an instruction one of the seven topics can express?

Three do, and all three are claims that outgrow their domain.

EDM (LIT-075) contributes a preconditioning scheme, a training-noise distribution and a loss weighting. A denoiser does a different job at every noise level, so without adjustment the loss is dominated by whichever regime has the largest raw magnitudes. Wrap the network in level-dependent scalings so the target has unit variance everywhere, and sample the level from a log-normal concentrated where there is something to learn rather than uniformly. The shape generalizes past diffusion: when a network is conditioned on a variable that changes the difficulty of its task, normalize the target so the loss means the same thing at every value, and sample that variable where the signal is.

Segment Anything (LIT-096) contributes a three-stage annotation loop — assisted-manual, semi-automatic, fully automatic, retraining between stages. Nothing about segmentation. The claim is that when annotation binds, the right structure is a staged loop whose escalation is driven by the current model uncertainty, not a one-shot labelling contract.

Latent Diffusion (LIT-062) contributes a compute-allocation argument: likelihood models spend most of their capacity on imperceptible detail, so strip it with a cheap model first. Two stages — learn a compact representation, then model that — filed under model-architecture because that is what it is.

Eight carry no practice today, and the reasons split in a way worth noticing. The radiance-field and task-solution papers — Instant-NGP, K-Planes, 3D Gaussian Splatting, NeuS2, OnePose, Gaussian Shell Maps, OWL-ViT, MiDaS. Two are worth the specific reason rather than the generic one. 3D Gaussian Splatting is consequential and carries no training instruction because there is no network being trained; it is an optimization over primitives, and it stays as reading because the radiance-field line is unintelligible without it. MiDaS has a genuinely transferable half — mix many datasets under an objective invariant to their differing scale conventions — but the note carries no evidence about it beyond the released models, which is the ADR-017 case: shipping is not measuring.

Four of those eight are the vocabulary’s fault, not the paper’s. Where a claim has no category to take, that is a shortcoming of the topic set rather than evidence the literature is irrelevant — and Instant-NGP, K-Planes, OnePose and Gaussian Splatting are all declined on exactly that. The first three carry representation and encoding claims and the record’s encoding practices are scattered (RoPE in attention-techniques, quantization formats in systems-optimization); the fourth optimizes explicit primitives rather than network weights, with densification and pruning schedules the record has no comparable entry for. Written up as gaps to close, not as papers turned away. The first draft of this entry said the seven topics “cannot express” them, which reads as a verdict on the work and is the wrong way round.

A workflow note. The first draft closed each of the eleven notes with the same paragraph explaining that it had been read under ADR-020. The lint reported ten unacknowledged citations of a Proposed decision, which was the correct complaint about the wrong thing: ten identical directives would have been the fix, and eleven identical paragraphs were the actual defect. Removed them; the fact belongs here once, which is what a curation entry is for. The guard caught a repetition problem by way of a reference problem.

What is left. The generative half still has ten bare notes, and they are the harder ones: DDIM and DPM-Solver are sampler algorithms, which is the inference-shaped gap ADR-020 explicitly declined to open a topic for; Progressive Distillation and Consistency Models are training procedures that buy inference speed and probably do carry practices; Textual Inversion and DreamBooth are personalization methods that sit beside LoRA; ControlNet and T2I-Adapter are conditioning architectures; DALL-E 2 and Imagen are model reports where ADR-017 applies, though Imagen has a real capacity-allocation finding underneath it. Each needs a reading, and none of them is settled by a tag.


Ten topics, and a query that names nothing

2026-09-08 07:25:19 · ontology

Prompted by a correction: where a paper carries a claim the topic set cannot express, that is a shortcoming of the topic set, not evidence the literature is irrelevant.

I had been doing the opposite. The generative and vision pass filed eight notes as carrying no practice, and four of those declined the paper because “the seven topics cannot express” its claim — which reads as a verdict on the work and is exactly backwards. Corrected in that branch; the principle it violated is now written down as its own document, because it is more general than one pass.

The argument for the principle is that the two readings are not symmetric. When a document arrives with a real claim and no category, either the claim is out of scope or the vocabulary is short a category. The first is cheaper, requires no work, and is self-confirming: decline the document and the vocabulary still looks complete, because the evidence that would have shown otherwise has just been turned away. So the default has to be the second, and the burden sits on an argument about the kind of claim rather than on a shrug at the absence of a slot.

And the evidence was already in the record. Two counts, neither speculative:

  • Seven practices about serving, filed under four different topics — model-stability, model-architecture, attention-techniques and systems-optimization. Running statistics at inference, multi-query attention, PagedAttention, continuous batching, prefill/decode overlap, and two on quantization.
  • Six about adaptation, across four more. In-context learning, tiny-model pretraining, RoPE rescaling, evolution-strategies fine-tuning, low-rank adaptation, and the preference-training pair.

A subject scattered across four ill-fitting categories is a category that exists in the corpus and not in the list. That is a checkable test, and it is what the decision rests on rather than my judgement about what deserves a page.

The words come from the reading list. The LIT scheme has had inference-optimization and adaptation-and-tuning since ADR-003. Where both vocabularies name the same kind of claim they should use the same word, and what stays LIT-only is generative-modeling and vision-and-graphics — domains rather than kinds of claim, and ADR-020’s argument against domain topics is untouched.

What was declined, and why that matters here. analysis-and-evaluation is the third kind-of-claim word in the LIT extras and it is not being added, because no practice in the record wants it. Adding a category to hold zero documents is DP-008’s corollary run backwards, and a principle that says “expand the vocabulary” would be worthless if it could not also say when not to. The same holds for a representation or encoding topic: LIT-064, LIT-086 and LIT-111 all want one, and the record’s encoding practices are scattered the way serving was — but nothing has been filed on those yet, so the retagging evidence does not exist. File one and see where it wants to live.

And then a better query found a third topic. The first two came out of searching practice titles for inference, serving, fine-tune. That works and it has DP-004’s defect exactly: it finds the categories you already suspect, because you have to name one to search for it.

The second query names nothing. Take the declared relation graph — extends, corrects, compared_against and their converses — find its connected components, and ask whether each 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 they disagree, one of them is wrong.

Twelve components span more than one practice, and three crossed:

  • RoPE, rescaling it for context, and dropping it from global layers — one argument about positional encoding under three different topics. Add the low-frequency truncation practice and tokenization and it is five practices, which is the same evidence standard the other two topics met. Nobody had to think of the word “encoding” to find it, which is the whole point.
  • The GRPO baseline, its correction, and the evolution-strategies alternative — a crossing this decision’s own first draft created, by moving one of the three to adaptation-and-tuning and leaving the other two. Repaired.
  • Flash attention and keeping its output in FP32 — genuinely both an attention technique and a stability claim. Left crossing, because not every disagreement is an error and a check that cannot say so gets ignored.

After the retagging: one of twelve crosses, and it is the third.

The check wants to exist as a check. luria.edges.graph() already builds the cross-scheme relation graph and Graph.inbound() already exists, so it needs no new machinery — and luria site already calls the rendering of that graph “lineage”, which is the name this reframe arrived under. Proposed upstream rather than built here: every record with both relations and tags has this question.

A pattern worth naming. This is the third decision about this vocabulary in one day: ADR-003 set it, ADR-020 stopped it being read as a domain boundary, this one widens it. That is not coincidence. Seven categories transcribed from a 2024 document are now governing 185 practices across a subject that has widened twice since. Expect a fourth, and treat the next homeless claim as data rather than as a nuisance.


The invariant check, declared and read once

2026-09-08 16:16:10

luria 0.12.0 lets a chain name the field its relations are asserting a shared value in. Declared invariant = "tags" on both chains and read the report once, cold.

The practice chain had one finding and it was the one predicted. SOTA-085 (use flash attention) extended_by SOTA-161 (keep the attention output in FP32, because flash attention’s rounding bias compounds). An attention technique and a stability claim, joined by a relation, with nothing in either document naming the thing they are both about. Fixed with a flash-attention secondary tag on both — narrow, true of each independently, and it is what the relation was pointing at all along.

The trap: the fix cannot be the other primary topic. primary_topic is require = "exactly-one", so giving SOTA-161 a second tag from the vocabulary would trade one violation for another. Any remedy for an unbound relation is therefore either a new vocabulary word or a secondary tag outside the vocabulary — never a second topic. That constraint is what makes the check’s own framing land: it says the vocabulary is short a word, and the schema will not let you pretend otherwise.

The reading list had five unbound lines, and they are a worklist, not noise. Every LIT note carries exactly one topic and none carries a secondary, so a lineage crossing a fault line in the twelve topics is unbound by construction. The five:

  • Positional encoding. RoFormer and ALiBi under model-architecture; the six papers extending them — position interpolation, YaRN, length generalization, RoPE-to-NoPE, SWAN-GPT, “Round and Round We Go” — under attention-techniques. This is the same fault line the practice vocabulary already answered with representation-and-encoding, found by hand in ADR-021 before the check existed. The check found it again, from the other scheme, unprompted. That agreement is the reason to trust the rest of this list.
  • Linear attention and state space. Mamba, Mamba-2, Mamba-3 under model-architecture; Kimi Linear, Gated DeltaNet, parallel DeltaNet under attention-techniques. Whether a selective SSM is an architecture or an attention technique is a real question the vocabulary declines to answer.
  • Mixture of experts. GShard under distributed-optimization; Sparsely- Gated MoE, Switch, DeepSeekMoE under model-architecture. GShard is genuinely both, and the topic it holds is the half its neighbours do not.
  • Activations. GLU variants and gated convnets under model-architecture; PowLU under model-stability.
  • Fine-tuning objectives. DeepSeekMath under adaptation-and-tuning; evolution strategies for LLM fine-tuning under training-optimization.

Left as findings. The remedy for each is a vocabulary judgement, and #85 is already the reading that would make it — pre-empting it here would be retagging twenty-three inherited notes on the strength of a report skimmed in one sitting.


Verifying every arXiv id’s author against the API found five wrong names

2026-09-09 08:32:23 · provenance · tooling

LIT-052 was found by hand: five practices had no bodies, writing them meant reading the paper, and the paper turned out to be about something else entirely. That is an expensive way to find a defect, so the obvious next question was whether the same class could be found mechanically across all 223 notes.

Partly, yes. The check that works is first_author against the arXiv API’s author list, and it found five wrong names in 210 resolvable ids.

What the sweep can and cannot catch

arxiv: ids all resolve, and every declared title: matches the title at its id — 0 findings on both. That is the reassuring half and also the trap: LIT-052 passed both of those checks. Its title, id, author and year were all correct and mutually consistent. Only the content was another paper’s, and no API call can see that.

So the sweep is worth keeping, and it does not close the LIT-052 class. The bullets under a note are checkable only by reading, which is what the #107 body backlog turned out to be doing as a side effect.

The five

notedeclaredactualhow it went wrong
LIT-030NoamShazeergiven name in a surname field
LIT-086NerfstudioFridovich-Keila software project, not a person
LIT-087LiuXiea name belonging to nobody on the paper
LIT-107RanftlBirklright series, wrong paper’s first author
LIT-115BhardwajFua name belonging to nobody on the paper

LIT-107 is the instructive one. Ranftl leads the original MiDaS papers; arXiv:2307.14460 is MiDaS v3.1, whose first author is Birkl. A series where the first author changes between versions defeats the check a human does, which is “does this name sound right for this work” — it does.

LIT-115 is the one that cost something. Its wrong name was rendered into the prose of SOTA-110, SOTA-111 and SOTA-112, so “Bhardwaj et al.” appeared six times across the record for a paper with no Bhardwaj on it.

The trap in writing the sweep

The arXiv API does not return entries in id_list order. Pairing requests to responses positionally produced 166 “id mismatches” and, because the id check continued past the author and title checks, zero author findings — a result that looks like a catastrophe and a clean bill of health at the same time. Key results by the <id> in the response.

The tell was the shape, not any single row: 166 of 172 wrong is not a corpus with a problem, it is a script with one. A defect rate near 100% should always be read as a bug in the detector first. The same mistake in the other direction had already happened this session, where a body detector that accepted ## Known implementations reported zero remaining work while seven practices were empty.

What CI caught that I did not

The version bumps that came with these corrections were written by a script that inserted each new history: entry at the top of the list. luria lint requires history to end at the document’s current version, so four practices failed with “history: ends at version 2 but the document says 3”.

That is the guard working. What is worth recording is why it reached CI at all: I had been reading luria lint through head -8, and the violations print after the warnings and the pending-decisions line. The warning count looked unchanged, so the run looked clean.

luria lint is warn-first and its hard violations come last. Read the tail, or read all of it — a truncated lint is not a lint.

Also checked, no action

Three arXiv ids are each held by two notes: 2302.06675 (LIT-090, LIT-105), 2002.04745 (LIT-029, LIT-114), 1608.03983 (LIT-006, LIT-042). All three pairs were already triaged — one of each is Rejected or Superseded, and only LIT-114 is cited. Duplicate ids are worth a periodic look but are not currently a defect.

Seven notes declare a corporate author (Kimi Team, Olmo Team, Falcon-LLM Team) that the API returns with the words in the other order (Team Kimi). These are false positives of the surname check, not findings, and the sweep should special-case them rather than have someone re-triage them next time.

Re-running it

python -m src.scripts.audit.verify_arxiv

The script is committed rather than described, because a sweep worth running twice is worth not rewriting. It carries the two things that were expensive to learn — batch the id_list at 40 with the API’s own three-second pause, and key results by the returned id — and it special-cases corporate authors so the seven false positives do not come back.

Fired once against three deliberately re-introduced defects before being trusted: LIT-115’s wrong author, LIT-107’s wrong author, and a title swapped onto LIT-096. All three caught, both check types firing. On the corrected record it reports zero findings and the three known duplicate ids.


A version bump is two edits and I got the order wrong three times

2026-09-09 16:46:44 · tooling · workflow

Correcting a document in this record means two edits: increment version:, and append an entry to history:. I did that by hand about thirty times working #114, and three of them were wrong in exactly the same way.

The failure

The natural edit is to find the version: line and replace it with the new version plus a fresh history: block. That reads correctly and is wrong whenever the document already has a history, because the new block lands above the old one. Two outcomes, both caught by luria lint:

  • a second history: key, and YAML keeps the last one — so the new entry silently disappears;
  • or, where the insert merged, entries in descending order, which trips history: ends at version N but the document says N+1.

It happened on SOTA-034/110/111/112 (as one batch), on SOTA-086, and again on SOTA-111/112. The first time CI caught it, because I had been reading luria lint through head -8 and its hard violations print last. The second and third times I caught it locally, which is better and is not the same as fixing it.

The fix is not “be careful”

luria’s own working agreement says a guard that keeps catching you is a bug report about the workflow — one catch is the net working, the same catch twice means the hazard is upstream. Three times is not a discipline problem.

src/scripts/audit/bump_version.py:

python -m src.scripts.audit.bump_version record/practices.d/[SOTA-042](../../record/practices.d/SOTA-042.md).md \
    --note "What changed and why."

It finds the existing history: block and appends to it, starts one under version: when there is none, and refuses rather than guessing if it finds more than one history: key. Fired once on both paths before being trusted — a document with four history entries (appended as the fifth, order preserved) and one with none (block created, single key).

The part worth generalising

The bug was invisible in the diff. Adding a correctly-formatted YAML block in the wrong place looks exactly like adding it in the right place unless you read the surrounding lines, and I was writing these edits with str.replace on a version line whose neighbours I could not see.

Any edit that inserts structure near other structure of the same shape wants a tool that knows about the structure. That is the whole lesson, and the _history_span regex in the script is the only interesting line in it.


The #114 worklist was the whole at-risk set, and the census that proves it

2026-09-09 21:28:42 · curation · method

Before starting on the pending-decisions backlog I wanted to know whether #114 had actually finished the job or only finished its worklist. #114 read 23 LIT notes and found eight of them materially wrong. If the population it sampled from was much larger, that defect rate is a standing liability rather than a closed issue.

So: count. The signature #114 identified is a ## Key takeaways section whose bullets are all short noun phrases with no numbers, no code and no paper-specific terms — the shape a generated summary takes when nobody read the paper. Across 224 LIT documents, 52 still have that signature and no reading.

That number looks alarming until you ask the question that matters, which is not “how many notes are unread” but “how many recommendations rest on an unread note”. Cross-referencing every source: edge in the practice registry: of those 52, none is named as the source of any in-force practice. Zero.

A zero is exactly the shape of result that has burned me in this repository before — the arXiv audit’s 166 false id mismatches were a zero in disguise — so I ran it again from the other end: start at every Active, Proposed or Deferred practice, follow its source: edges, and ask whether the paper is unread and generic. Also zero, out of 150 source edges across 78 cited papers. Two independent traversals agreeing is worth more than one clean number.

The conclusion is that #114’s worklist was the complete at-risk set, and not by luck — it was built by asking which notes source practices, which is the same question. What remains is 52 papers in the corpus whose summaries are decorative: nothing cites them, so nothing is wrong because of them. Reading them would improve the browsing experience and would not correct a single recommendation.

Worth writing down because the obvious next move after #114 is “read the other 52”, and the measurement says that is a low-value use of a session. The high-value population is the one the lint already names every run: the pending decisions.

The census scripts were throwaway and deliberately so — the finding is a snapshot, and it will stop being true the moment someone sources a practice to one of the 52. If that becomes a recurring question it belongs in src/scripts/audit/ as a real check, not re-derived by hand.

The other trap, for whoever promotes a practice next

Promoting SOTA-120 from Deferred to Active broke eight inactive-ok directives across five files — every place that had cited it while acknowledging it was not in force. The lint caught all eight and named them, which is the net working.

But the directives were the easy half. Each one sat above prose that also asserted the status in words — “SOTA-120 is Deferred, which the reading does not settle” — and no linter can see that. Deleting the directive and leaving the sentence would have produced a record that passes clean while saying something false, which is worse than the finding.

So: when a status changes, grep for the code, not just for the directive. The directive tells you which files to open. The prose next to it is what you actually have to fix.


I measured that reading the 50 was low value, and I was wrong about what would come out of it

2026-09-09 23:16:29 · curation · method

Earlier today I ran a census on the generic-bullet LIT corpus, verified from both directions that none of the 52 sourced an in-force practice, and recommended skipping them: reading them “would correct no recommendation”.

dmarx said read them. The measurement was correct and the recommendation drawn from it was wrong, and the gap between those two is the thing worth writing down.

What the measurement missed

I measured the right quantity — does a wrong note make a wrong recommendation? — and treated it as the only quantity. It is not. A note also:

  • states things that are false, which is a defect whether or not anything cites it. Nine documents asserted something their paper does not contain, and six of those stated its inverse. LIT-111 said “category-level pose estimation” about a paper whose contribution is needing no category-level training. LIT-108 said “dynamic scene optimization” about a static-scene paper. LIT-038’s bullets were about a different paper entirely.
  • is a place where connections between practices become visible. Reading LIT-067 produced the antecedent of SOTA-188; reading LIT-017 beside LIT-065 produced the reason 3D parallelism exists; reading LIT-036 produced the measurement behind SOTA-187’s premise. None of those is a correction. All of them are things the record did not contain and now does.

The census answered “is anything broken?” and the answer was no. It could not answer “is anything missing?”, and I read the first answer as though it settled both.

The generalisable version

A measurement of harm is not a measurement of value. I checked that these documents were not causing errors, concluded they were inert, and skipped the question of what reading them would produce. The second question has no cheap proxy — you find out by doing the work — which is exactly why it is easy to let the first stand in for it.

Where this bites: any time a cheap check comes back clean and the expensive work is then declined on the strength of it. The clean check is evidence about one failure mode.

What I would keep from the census anyway

The census was not wasted and the finding in it is still true: #114’s worklist was the complete at-risk set, and no recommendation in this record rested on an unread note. That is worth knowing and it is worth having verified from both directions. What it did not license was the conclusion I drew from it.

Practical notes for the next pass

  • ar5iv renders 48 of 49 arXiv papers here. One (arXiv:1908.08681) has no rendering and became Skimmed, the same route EDM took. The fetch script and text extractor are in the session scratchpad and were disposable by design; if this recurs they belong in src/scripts/.
  • Skimmed earned a second meaning this pass. It had been “the full text was unavailable”. LIT-026 is Skimmed because reading 66,000 words of federated-learning open problems, to correct four bullets on a document nothing cites, is not a good use of a session. That is a judgement about proportion, and the status carries it fine.
  • luria link --fix moves lines, so place inactive-ok directives after running it, not before. I placed several against pre-fix line numbers and the lint correctly reported them as applying to nothing. The directive covers its own line and the one below; anchor it to the paragraph’s first line.
  • Body headings must match title: exactly. I shortened five and the lint caught all five. Scaffold with the full title and leave the heading alone.

Auditing the notes that source nothing: the silence was the finding, not the count

2026-09-10 06:51:32 · curation

Audit of the LIT documents no practice sources (#121). 70 of 224 at the start. The useful number turned out not to be 70.

The criterion already existed

The audit needed a test for whether a note should be a source, and ADR-017 had already written one for a different purpose: if this paper were retracted tomorrow, would the practice need rewriting? That decision was filed to settle whether adopters belong in source:. It answers this question too, and using it meant the audit did not invent a private rule in a commit message — which is the specific failure ADR-017 records having cost thirteen practices.

What 70 decomposed into

  • 12 retired or tombstoned. Four are deduplication tombstones with the survivor named in superseded_by — LIT-006/LIT-042 (SGDR), LIT-029/LIT-114 (Pre-LN), LIT-105/LIT-090 (Lion). For these the status is the reason and nothing needed writing.
  • 10 cited in a practice’s body but not in its source:. This looked like the richest vein and was almost entirely a false alarm: adoption evidence and lineage, which ADR-017 explicitly routes to consensus_note instead. The discipline was being followed. One was a real miss — see below.
  • ~25 already stating why they were unsourced, several of them well. The model was LIT-110: “Nothing in the record cites this note”, followed by the reason.
  • 24 with a Standing section that said nothing about linkage at all. This was the working set, and it is where the finding is.

The finding

A note that sources no practice is not a defect. A note that sources no practice and does not say why is, and for the reason DP-008 gives: nobody re-reads a vocabulary, or an absence. The silence is indistinguishable from nobody having got round to it, so every future audit pays the full cost of finding out again.

That is what made this issue worth doing at the size it was done. Counting unsourced notes measures nothing; asking each one to state its own standing is what converts a backlog into a record.

Two gaps the silence was hiding

Diffusion sampling. The record held four diffusion practices — SOTA-187, SOTA-188, SOTA-195, SOTA-202 — every one about training or parametrization, and three unsourced papers — DDIM, DPM-Solver, Consistency Models — every one about sampling. The record said how to train a diffusion model and nothing about how to sample from one, while holding the three papers that decided how everyone samples. Four practices filed.

A convergence three readings had already noticed. vision-and-graphics held thirteen notes and zero practices. Under ADR-026’s filing rule an empty domain topic is not by itself a gap — a claim merely discovered in a domain takes its kind. But NOTE-037 calls K-Planes “the third explicit-structure replacement for a large coordinate network”, NOTE-042 names the same pairing from the other side, and NOTE-046 records NeuS2 inheriting the line. Four papers, three mechanically unrelated structures, one conclusion, inside eighteen months. The convergence was stated three times in the reading list and was invisible in the registry. One practice, four sources.

Both had the same shape: the readings had done the work and the registry had not been told.

Why they were unfiled, and it is not what it looks like

Every one of those seven papers was read in the pass that deliberately filed nothing, and all three sampling readings end with the same sentence — “Nothing is sourced to this paper and this reading files no practice.” That is a pass policy, and a year later it reads as a judgement about the paper.

Worth stating as a rule: a deliberate deferral must say it is one. “Nothing is filed” and “nothing should be filed” are different claims and were written the same way.

SOTA-051 had been arguing from LIT-089’s zero convolutions for its sharpest content — zero is not “near zero” — without naming it in source:. Under the retraction test that section does not survive the paper’s removal. The link existed in prose and not in data, which is the inverse of the failure the last three contributions kept hitting, and equally invisible to the lint.

What the audit found and did not fix

LIT-004 — the gradient checkpointing paper — is a generic-bullet note that the bullet-signature pass missed, because that pass selected on a signature and a document can be equally empty without matching it. It sits on a gap: the record recommends recomputation only for attention (SOTA-087) and has no general activation-memory practice among its twenty-nine distributed-optimization entries. Nothing was filed from it. Filing a practice from four bullets naming the category is the failure two passes have been spent correcting, and the fix is a reading, not a guess.

Seven notes are unsourced because nobody has read them — three of them a coherent joint-embedding cluster. That is a different finding from a paper read and declined, and the determinations say so rather than implying an assessment that never happened.

Afterwards

Every unsourced note now either states its standing or is retired, where the status is the reason. 62 remain unsourced, down from 70, and the number is no longer the interesting thing about them.


A derived field stored by hand: eight practices dated by a source they no longer cite

2026-09-10 07:54:42 · curation

Making published: true on every scheme (#119). The issue asked for a field on three schemes. The field was the small half, and the answer arrived from upstream before the work landed.

The convention was discovered, not chosen

183 practices already carried published: and nothing said what it meant. A practice can have several sources spanning years — SOTA-205 has four across nineteen months — so “the publication date” is genuinely ambiguous and I could have picked earliest, latest, or the practice’s own filing date.

Measuring first was the right call: 175 of the 183 used the primary source’s date, the first entry in source:. That is not a coincidence of single-source practices; it holds for the multi-source ones too, and it is the principled answer, because ADR-010 makes the list ordered and ADR-017 makes the first entry the one that would force a rewrite if it were retracted.

The convention was already in the record. It had just never been written down, which is the same shape as #121’s finding that ADR-017 already contained the criterion that audit needed.

The eight that disagreed were all one accident

Not eight judgements — eight leftovers. In every case the source: list was corrected and published: stayed behind, still holding the date of the paper that used to be first.

The clearest is SOTA-048. Its date came from LIT-051, and LIT-051 is not in its source: list: the source comment says “Re-sourced: Tensor Fusion is Horovod’s… LIT-051 assumed both.” The paper was removed and its date was not.

Two of the eight (SOTA-025, SOTA-026) were left by #114, and one (SOTA-122) by #58 — passes whose entire purpose was correcting source:. A pass that fixes a field does not think about the fields derived from it, and nothing made it think.

Why nothing caught it

published: is ground truth in one place: a LIT note, where it is the paper’s date and feeds the alias template. Everywhere else it is a copy.

  • luria concretize rewrites references, not values.
  • luria lint has no rule relating one document’s field to another document’s.

So a copy can disagree with its original indefinitely and every mechanical check stays green. This is the sixth stale-derived-data finding this week, and the first where the staleness was in a value rather than in prose or a code. The others were legible to a human reading the file; this one was not legible to anyone, because being wrong looks exactly like being right.

legible to anyone, because being wrong looks exactly like being right.

The fix was a checker, for about three hours

The tempting fix is to stop storing it and let the field derive from the reference. luria could not do that. derive read a document’s own fields; there was no way to say take this from the document you point at.

So the first answer was to store it and check it — a check_published.py reporting every stored date that disagreed with its original, wired into CI and fired once on a real regression before being trusted. It worked. It was also a per-project reimplementation of something the schema should be able to state, and that argument was strong enough to take upstream with a measured failure behind it rather than a hypothetical.

luria 0.15.0 gives derive a from, naming the reference to render the template against. The checker was superseded before it ever merged. What shipped instead is three lines per scheme:

[luria.schemes.SOTA.fields.published]
derive = "{published}"
from   = "source[0]"

281 hand-maintained values became zero, and the eight above are not corrected — they are unrepresentable, because no second copy remains to hold a different answer.

The checker was not wasted, and it is worth being precise about why. It established the convention, proved the eight defects real, and gave the upstream issue its evidence. What it could not do is be found: a rule living in a script scaffolds nothing, appears on no record page, and is reinvented by the next project — the argument #216 made for derive existing at all, arriving again from the other end.

The rules this leaves

When you correct a field, ask what was copied from it. Three re-sourcing passes changed source: and none asked. The general form of a lesson this record keeps relearning from the other direction — when a status changes, grep for the code — except here the stale thing was not text a reader could catch.

A check you had to write yourself is a question for the tool. The gap between “I can enforce this” and “the schema can state this” is the gap between a script and a contract.


The sliding window had seven downstream notes and no origin

2026-09-13 18:02:40 · gap · literature

The query was one paper, and the finding was the shape of its absence. Asked whether the record held ARXIV-1904.10509. It did not — no arxiv: match, no first_author: 'Child', no mention of the title anywhere in record/ or docs/. What made it worth a journal entry is what was there.

Seven reading notes stand downstream of a sliding window: LIT-033 (Longformer), LIT-191 (attention sinks), LIT-204 (Griffin), LIT-176 (native hybrid attention), LIT-208 and LIT-209 (NoPE global layers interleaved with windowed local ones), LIT-143 (natively trainable sparse attention). Five practices use the term and two of them — SOTA-153 and SOTA-176 — recommend designs whose local half is one. In none of the seventeen documents that say “sliding window” is the window itself a claim; it is a term the reader is assumed to already have.

This is DP-007 exactly — what everyone agrees on has no author, so nothing prompts anyone to write it down — and worth noting that the record found it the way that principle says it will not be found. Nobody reading the corpus noticed. It took someone arriving with a specific arXiv id.

The query that would have found it, and the one that would not

Grepping record/ for “sliding window” returns seventeen documents and looks like healthy coverage. That query cannot answer the question, because the documents it returns are exactly the ones that use the term without defining it — the density of mentions is the symptom, not evidence against.

The query that works runs backwards from the term to its first use: for a mechanism n documents assume, is there a document that introduces it? That is mechanical, it is cheap, and nothing in the record currently runs it. SOTA-132’s “describing a line from its middle” (2026-09-08) was the same defect at the practice layer, found the same way — by someone following a citation backwards rather than by reading forwards.

What was not done, and what changed about that

The first pass filed the note and stopped, on the reasoning that the paper’s recommendations were either superseded or already in the record from later sources. Both halves of that were wrong, and wrong in the same direction.

Superseded is not a reason not to file. DP-003 is explicit — “do this, and here is the thing everybody did until 2021 and why it stopped being right” is the content, and it only exists if the abandoned position is written down. The factorization is now SOTA-208, Superseded by SOTA-138. Filing it cost a page and bought the strongest argument the corpus has for its own successor: the enwik8 comparison, where a hand-chosen escape lost to dense attention outright.

“Already in the record from later sources” is a description of a defect. If a practice is sourced to a paper that did not introduce it, the attribution is wrong — “we have it already” is the sentence that keeps it wrong. SOTA-087 was dating a 2019 recommendation to 2022 and SOTA-060 was naming the 1/sqrt(2N) factor in prose with no citation at all.

The field that did not exist

Fixing those two by reordering source: breaks them. published: derives from source[0], so SOTA-087 would have become a 2019 practice whose body argues a 2022 mechanism; and ADR-017’s retraction test — the primary source is the one whose removal forces a rewrite — genuinely selects Dao, because the body is Dao’s argument. The two facts are both true and the field could only hold one.

ADR-029 adds introduced_by:. It is DP-005’s cut made a second time: that principle sent adoption out of source: and into consensus:, and this sends origin out of source: into its own field, leaving source: to mean evidence and nothing else.

Filed Proposed, and the condition matters. Three cases found by one person filing one paper in one afternoon argues that the field is needed; it does not say how much it carries. The promotion test is the backwards query DP-004 asks for — over practices whose primary source postdates the technique they describe — and the record has no view that surfaces those yet.

What is still not done

No reading note. The paper was read against its method and experiment sections, not cover to cover; ADR-025 makes absence the record’s word for unread, and that is the honest value.

The pre-activation residual block is not repointed at this paper, and that is deliberate. Child et al. adopts it from He et al. (2016) and says so; SOTA-032 is sourced to Xiong et al., the paper that argues it, which is DP-005 working correctly. Using a technique is not introducing it — the same distinction introduced_by: exists to hold, applied in the direction that says no.


source: is holding at least three relations, and fourteen practices rest on adoption alone

2026-09-13 20:20:08 · audit · record · method

Review on #129 asked whether source: is being abused, and guessed it holds both the paper that introduced the practice and a paper that uses it.

It holds at least three relations, and the guess is right about all of them.

The query

Classify every LIT note whose title reads as a model or system report — a technical report, a named model family, an “open bilingual pre-trained model” — then find the practices citing one in source:.

LIT notes that read as model/system reports:        22 of 225
Practices whose `source:` includes at least one:    26 of 208
  ... of which ALL sources are reports:             14
  ... that also carry `consensus:`:                 12
  ... that also carry `implementations:`:            7

Spot-checked, and the heuristic is not inventing anything: SOTA-069 rests on GLM-130B, SOTA-094 on PaLM, SOTA-139 on DeepSeek-V4. Fourteen practices whose only cited support is that somebody shipped it.

DP-005 says exactly what is wrong with that — adoption is not evidence — and says it about this record, which had already fixed one instance. The principle was filed and the corpus was never swept.

The three relations

  • evidence about the claim — the ablation, the controlled comparison. What the field is documented as meaning.
  • origin — the work that first said to do this. ADR-029 split this one out as introduced_by: while filing Child et al.
  • adoption — this system does it. consensus: exists for this and 12 of the 26 have both, so the practice is citing its adopters twice and its evidence never.

Why nothing caught it

The definition of source: lives in a TOML comment. A comment cannot render in a view, cannot appear in the generated configuration reference, cannot be quoted by the lint, and is never seen by anyone filing a document. So every one of the fourteen passes every mechanical check there is, and the only thing that found them was somebody deciding to ask.

That is DP-004 in its purest form — a pass finds only the defects its query is shaped like — and worth noting that this query did not come from reading the record either. It came from a reviewer’s suspicion about a field.

Filed upstream as LU-#254: relations declared with a description that is data, the way vocabularies already are. It cannot make the distinction checkable — no schema tells an ablation from a model report — but it moves the definition somewhere a reader and a scaffold can reach.

Not done here, deliberately

The fourteen are not repointed. Fixing one means deciding, per practice, whether a controlled result exists at all — and where none does, the honest outcome may be Deferred with a promote_when:, not a better citation. That is a reading pass over fourteen practices, not a find-and-replace, and doing it badly would convert a visible defect into an invisible one.

source: is not retired. The review floated it, and the audit supports splitting it further — but source: is required on 208 practices and published: derives from source[0]. Retiring it is a migration with a decision in front of it, and ADR-029 is still Proposed: the record should find out whether one new relation carries its weight before minting three more.

The counts are a heuristic, not a census. Title-matching finds model reports that announce themselves. A systems paper that is really an adoption report — and the reverse, a model report carrying a genuine ablation — is invisible to it in both directions. The number is a floor.


Two notes that said, in their own words, that they had nowhere to go

2026-09-15 07:09:36 · record

The THEORY scheme came out of a survey that was looking for something else. The question on the table was whether the practice registry accommodates knowledge that is strictly theoretical, or whether that needs a scheme of its own. The way to answer it was to look at what the record was already doing with such knowledge, and the answer turned out to be written down in two places, by earlier contributions, in plain language.

The first pass was a regex over practice titles for verb phrases that describe rather than instruct. It returned seventeen, which was too many: “Employ mixed precision to reduce memory usage” matched on reduce and is an instruction by any reading. Reading the seventeen by hand left eight that genuinely state a behaviour — SOTA-010, SOTA-012, SOTA-037, SOTA-038, SOTA-040, SOTA-064, SOTA-092, SOTA-097. The wrong theory worth recording is that the regex count was ever the evidence. Eight of 208 is not a large number, and on its own it would have argued for leaving things alone.

The evidence that mattered came from the other side. Scanning for LIT notes that no practice cites returns 48 of 225 — and in analysis-and-evaluation, which is the topic whose blurb explicitly says “theory, interpretability and debugging belong here too”, it is 6 of 12. Half the topic is papers the registry cannot reach.

Then two of those notes turned out to have anticipated the whole question. LIT-019 and LIT-039 each carry a section headed “Carries no practice, deliberately”, and LIT-019’s says exactly what the problem is: the lottery-ticket procedure “costs a full dense training run before it produces anything, so as an instruction it reads train the model, then train a smaller one — which is a finding about neural networks rather than advice about how to train one.” Someone had already worked out that the document was not a practice, had had nowhere else to file it, and had written the reasoning into the note as a defence of an anomaly.

LIT-223 is the third instance and the sharpest. It was filed to correct a conflation, it says in its own body that “the practices that turn on the mechanism — why BN permits what it permits — belong here”, and nothing in the record cites it. Nothing could. What that paper establishes is that batch normalization does not work for the reason its title gives, and there is no instruction in that: nobody’s behaviour changes. Three statuses are needed to say it — the practice Active, the paper Active, the explanation Rejected — and there were two schemes to put them in.

That is the finding: the record was not silent about theory, it was annotating the workaround. The notes that had nowhere to go said so, at length, in prose that a scheme would have made unnecessary.

The scheme was built around the batch-normalization pair rather than around the eight practices, and deliberately so. Re-filing an existing practice leaves a SOTA code that is neither Rejected nor Superseded but simply moved, and this record’s rule is to retire by changing status and never by deleting — a rule that has nothing to say about a document that was filed in the wrong drawer. That needs its own decision, and bundling it into the one that creates the drawer would have hidden the question.

One thing checked and worth not re-checking: luria does support a crossing converse, so THEORY.explains → SOTA.explained_by is a declared pair and luria link --fix writes both ends. luria.yaml claimed otherwise in a comment on contested_by:, which had been true when it was written and stopped being true at LU-ADR-097. The field still has no converse; the comment now says that is a choice about what a reading note should hold, rather than a limit.


The second gradient-free post-training paper, and the first account of why the paradigm works

2026-09-15 17:40:22 · record

One paper arrived and three documents came out of it, which is worth explaining rather than assuming. Gan and Isola’s Neural Thickets is two things bound together: a measurement of the multi-task loss landscape around a pretrained checkpoint, and a post-training method built to demonstrate it. The paper is explicit about the ordering — “our goal is not to promote RandOpt as superior to alternative methods. Rather, we use it as a probe” — and the record has had exactly the vocabulary for that distinction since ADR-031. The measurement is a claim about what is true, so it is THEORY-006. The method is a claim about what to do, so it is SOTA-212. Filing them as one document would have meant asserting the method at whatever confidence the measurement earned, or the reverse.

The most useful thing the paper did for this record it did as a bystander. SOTA-154 — fine-tune with evolution strategies instead of policy-gradient RL — has rested since September on LIT-211 alone, whose promote_when asks for an independent group running ES against a policy-gradient baseline. This paper runs ES as its own baseline, on different models and a different task suite, and finds it strong enough to beat the paper’s own method in about half the table.

That is not the replication the condition asks for and the status is unchanged, but the difference is worth being precise about, because it is the kind of thing that gets rounded off later. A baseline result is run by people who want it to lose. It is evidence about the method’s robustness in somebody else’s hands and it is not a second group choosing to test the claim, which is what promote_when is asking for. Both facts are now on SOTA-154’s neighbours rather than in anyone’s memory.

A trap that nearly got written into the practice. The paper’s headline figure compares RandOpt with a 50-way ensemble against PPO and GRPO answering with a single sample. It says so — “this setting disadvantages the baseline but reflects current standard usage” — and it runs the matched arm in §5.4 and Table 4, where ES plus the same 50-way vote takes the best or runner-up cell about half the time and beats RandOpt outright on GSM8K, MATH-500 and OlyBench at several scales. A first pass at SOTA-212 had it beating SOTA-154. It does not. What it has over SOTA-154 is one training step instead of 167 and no inter-worker communication, and that is what the practice now claims.

The general form of that trap — an ensembled method compared against a one-sample baseline is a comparison about ensembling — is filed in NOTE-078 as candidate recommendation R2 and deliberately not as a practice. The paper demonstrates it and does not recommend it, and the distance between those is where a record starts attributing its own opinions to its sources. Whoever files the practice that does recommend it will find this paper’s table waiting as evidence.

One tagging decision, made against the reflex. LIT-233 wants to be adaptation-and-tuning, because post-training is what a reader would look for it under, and the first draft gave it both that and analysis-and-evaluation. The primary_topic group rejected it, correctly: ADR-026’s rule is that a claim merely discovered in a domain still takes its kind, and the paper’s kind is a measurement. The practice drawn from it carries adaptation-and-tuning, which is where the instruction lives and where a practitioner browsing for one will meet it. The reflex to tag the paper by where its readers are is how a topic stops meaning anything.

What this pass did not look at. The candidate list was one paper, so the complement is everything. Two specific gaps are worth naming because they are cheap to run and nobody will be prompted to. PPO has no LIT note at all, despite being a baseline in both papers in this line and the thing SOTA-129 and SOTA-145 are about — an instance of DP-007 exactly, the trunk nobody filed because nobody published an argument about it. And the record’s evaluation practices were checked for a test-time-budget rule and found not to have one; they were not checked for anything else this paper bears on.


A replication that arrived as a baseline, and a dissent measured below the threshold

2026-09-15 18:06:38 · record

The first pass filed the evidence and then argued it away. SOTA-154 had a promotion condition: an independent group running evolution strategies against a policy-gradient baseline that got the same tuning budget, on a task outside Countdown and the conciseness objective. LIT-233 did exactly that — six tasks, three model families, matched training FLOPs, and the RL arm grid-searched over learning rate and batch or group size while ES ran one fixed configuration. The curation entry filed an hour earlier looked straight at it and wrote that “a baseline result is run by people who want it to lose… it is not a second group choosing to test the claim”.

That reasoning is backwards and it is worth keeping the wrong version written down, because the error has a shape that will recur. A baseline is a replication run by people with an incentive to make it fail. The condition’s own “what would not move this” clause names the failure mode it feared — “a comparison in which the RL arm was left at defaults” — and this comparison is the opposite of that: the RL arm was tuned harder than the ES arm. Everything the condition asked for was present, and the pass invented a category (“baseline, not replication”) that the condition never contained, to avoid acting on it.

The general form: a promotion condition is a promise, and re-reading it strictly enough to avoid keeping it is how a provisional status becomes permanent. DP-006 says a provisional status with no condition attached is a refusal wearing a document’s clothes; this is the next failure along, where the condition exists and the bar quietly rises to stay above the evidence.

Then the opposite problem arrived in the same session. Following the line forward turned up Hyper-ES (LIT-231), which says in its own second sentence that “directly applying ES to billion-parameter LLMs is highly ineffective”. Having just promoted the practice, the tempting move was to find that dissent unpersuasive. Two facts are worth separating, and the practice now separates them:

  • Hyper-ES never runs the method it says does not work. Its ES baseline is CMA-ES over LoRA. The case against direct ES is two lemmas about near-orthogonal perturbations in high dimensions, plus a figure, plus a citation. That is a real argument and it is not a failed reproduction.
  • Every model it tests is at 1.5B or below, while its abstract says “billion-parameter LLMs”.

The second is what makes this interesting rather than merely awkward. THEORY-006, filed the same day from a different paper, holds that the density of task-improving perturbations rises with model scale, with gains appearing sharply from about 1.5B and absent beneath it. Hyper-ES’s negative result sits exactly where that account predicts a negative result, and its lemma is the needle-in-a-haystack regime under another name. The two papers were posted five months apart and neither cites the other.

That reconciliation is labelled, in both documents, as this record’s reading and not either paper’s. It is the kind of claim a record like this should be able to make and the kind it can most easily make badly: it resolves a tension, it is unfalsified, and nobody involved would have to agree with it. What would settle it is the experiment neither ran — full-parameter ES against a well-tuned GRPO at 7B and above — and that is what the practice now says.

On introduced_by: and where a recommendation comes from. SOTA-212 was filed with introduced_by: pointing at its own source, which was tidy and wrong. The source paper says in plain words that it is not making the recommendation. Qiu et al. are; RandOpt is their instruction with the iteration count set to one and an ensemble on the end. This is the case ADR-030 exists for, arriving about four hours after the field became required, and the first pass still filled it in by reflex — which is a small piece of evidence that a required field with a sensible default answer gets the default answer.

What this pass did not cover, stated so nobody has to guess. The search for the ES line returned five papers and this pass filed two, the two named in the request. The three left out, in case they are wanted:

  • ARXIV-2609.10980 — EGGROLL, Unrolled, which introduces LOO-ROLL, a leave-one-out estimator replacing EGGROLL’s two antithetic evaluations per direction with one.
  • ARXIV-2608.27351 — Understanding Evolution Strategies for LLM Reasoning, which reports ES ahead on pass@k and GRPO ahead on pass@1 and proposes running them in sequence. This one bears directly on SOTA-154’s contested reading and would likely sharpen it.
  • ARXIV-2608.12679 — Beyond the Best Guess, on ES and solution coverage.

And the reading depth, since the record’s convention is that a LIT with no NOTE is an unread paper: EGGROLL and Hyper-ES were read through their abstracts, introductions, related work, results and hyperparameter appendices, and not through their theory sections — EGGROLL’s convergence analysis and Hyper-ES’s two lemmas are taken at their stated results. Neither carries a reading note, and neither is in any practice’s source:, which is the constraint that makes that acceptable.


Reading the ES line properly, and what the full readings moved

2026-09-15 18:40:28 · record

Six papers now, read end to end rather than by abstract. Four things the readings changed that the earlier passes had wrong, missing, or filed on trust.

The scale evidence was understated and the independence was overstated — in the same paper. LIT-234 runs evolution strategies at 14B and 32B against OatZero and SimpleRL-Zoo, which is four times the ceiling SOTA-154’s conditions section claimed. It is also Cognizant AI Lab with Qiu among the authors, running LIT-211’s own method — the case that practice’s promotion condition explicitly excluded. Both facts are load-bearing and they point opposite ways, and the temptation on finding either is to let it settle the question alone. The practice now carries the 32B number and the sentence “the independent evidence stops at 8B”, because a reader needs both to know what they are looking at.

That is the same error as the last pass in a new costume. Then it was refusing evidence for a category the condition never named; here it would have been accepting evidence the condition named and excluded, because the number was impressive. A condition is only worth writing if it binds in the direction you did not want.

The dissent and the characterization are arguing about one measurement. LIT-231 proves that random perturbations concentrate near orthogonality to a useful direction, and that the leftover components accumulate as a random walk — so ES cannot work at LLM scale. LIT-230, four months later, measures that exact drift, agrees it is 40× GRPO’s, and finds it harmless: the gains survive zeroing every update below a single-step magnitude threshold, so they live in a sparse coordinate subset — and in a specific one, LayerNorm weights and attention projections, where GRPO’s largest updates land in token embeddings and the language-model head instead.

The gap between them is a line and a subspace. Lemma 1 bounds the angle between a random vector and a single direction; if the useful set is a k-dimensional subspace, the projection behaves differently and the argument weakens by an amount nobody has computed. That is written into both readings as an open question. It is not written in as a refutation, because working out which of two papers is right from a third document is how a record starts believing its own summaries.

There is a second, sharper tension neither paper notices: Hyper-ES’s lemmas are dimension-asymptotic, so read naively they predict ES gets worse with scale, while every empirical paper in the line reports the opposite and THEORY-006 says why it should. Something in that argument does not track the observation. Saying so is the useful contribution here; saying which is not available yet.

A prediction was confirmed and the promotion condition still was not met. THEORY-006 asked for the density measurement repeated by an unconnected group on a family other than Qwen2.5, or a mechanism predicting where the transition sits. LIT-230 cites the account by name, reasons that denser solutions should mean fewer directions suffice, and measures exactly that at 0.5B, 1.5B and 3B. That is an independent group confirming a consequence — arguably better evidence than a repeat, and not the evidence the condition asked for: different measurement, same family, no prediction of the threshold. The document now states all of that and stays Proposed.

Writing this down is the point. A condition met is a promotion; a condition approached from an unexpected angle is a judgement call, and the judgement call is where the bar moves without anyone deciding to move it.

Two practices came out of readings rather than out of the papers’ headlines. SOTA-210 exists because two groups, independently, measured the same thing the post-training literature does not report — that RLVR raises pass@1 and lowers pass@k, often below the base model. SOTA-211 exists because two groups reached one instruction from unrelated arguments: an empirical variance diagnostic showing the antithetic second evaluation buys nothing when responses are regenerated, and a derivation showing a leave-one-out baseline preserves the expected field at half the cost. Neither paper’s abstract leads with the thing that became the practice.

What this pass did not cover. The line has at least two more members, both cited by papers filed here and neither read: Hoy et al. (2026) and Abdi et al. (2026), Evolutionary strategies at scale lead to catastrophic forgetting. The second is the paper LIT-230’s entire RQ2 is a reply to, and the record currently holds the reply without the claim — which is the shape DP-004 warns about, arrived at by following citations forward and never backward. LIT-231 also cites Sun et al. (2026) for a 10× space-efficiency result, and LIT-229 cites Korotyshova et al. (2025) for SFT-then-CMA-ES over SVD bases. Four candidates, named here so the next pass does not have to rediscover them.

On reading depth: all five notes filed today are Read and mean it — full text including appendices, with two exceptions stated in the notes themselves. NOTE-080 takes EGGROLL’s Theorem 2 at its stated result and rate without checking the Edgeworth expansion behind it, and NOTE-079 takes LIT-232’s resolvent derivation at its stated result without verifying the conservativity theorem’s proof. Both are recorded in the Limitations sections where a reader will meet them.


Following the citations backward, and the boundary that fell out of it

2026-09-15 19:10:53 · record

Ten papers now. The four added here were all named in the previous pass’s “what this did not cover” section, which is the first time this record has closed a gap it had written down rather than rediscovering one — and the readings changed more than the previous three passes combined.

The record had filed an answer before the question. LIT-230’s second research question is, in its entirety, a reply to Abdi et al.: does ES’s large parameter drift cause catastrophic forgetting? The record acquired that reply two passes ago and acquired the paper it replies to today. LIT-239 (ESSA) is the same failure at the other end — the earliest paper in the whole line, July 2025, filed last, after everything that came after it.

Both have one cause. Every pass so far started from a paper and followed its citations forward, to what cited it or what it responded to among things already filed. Nothing ever asked what does this paper cite that we do not have, which is a different query with a different answer, and the two gaps it left were a paper the record was already arguing with and the paper the line begins at. DP-004 is about exactly this and did not prevent it, because knowing that a query has a complement does not tell you to run the complement. The cheap fix, written here so the next pass inherits it: after filing a paper, list its references that the record lacks. It takes one grep of the bibliography.

The most valuable thing in this pass is a table nobody set out to build. Sorting all eight ES-versus-RL comparisons by model size:

  • GRPO ahead, 1B and 1.5B — Abdi et al.
  • Direct ES “highly ineffective”, 0.5B and 1.5B — Hyper-ES
  • ES ahead in most cells, 1.5B–8B — Neural Thickets
  • ES highest on 4 of 4 tasks, 4B — Hoy et al.
  • ES ahead on pass@k, ≤7B — Ba et al.
  • ES ahead on pass@k, 7B–32B — Hayes et al.

Every negative is at or below 1.5B. Every positive is at or above it. Six groups, mostly not citing each other and none testing THEORY-006, recovered the threshold that account names. That is a real finding and it arrived as a side effect of filing, not from reading any single paper — which is the argument for a record like this one existing at all.

It is also the most dangerous kind of finding, and both documents say so: it is read across papers differing in task, tuning and implementation; it is post-hoc; and it is exactly what an account’s author would want to see. Nobody has run one protocol on both sides of the line, and until someone does this is suggestive.

THEORY-006 has now come close three times and been promoted none. A confirmed prediction (population size falling with scale), a mechanism (functional sparsity), and now the boundary. The condition asks for the density measurement repeated by an unconnected group on a different family, or a mechanism predicting where the transition sits, and none of the three is that. Holding the line a third time is uncomfortable enough that it is worth naming the discomfort: either the account is genuinely unconfirmed, or the condition is asking for an experiment nobody has reason to run while its consequences keep turning up on their own. The document takes the first reading and flags the second, and deliberately does not decide — a condition rewritten by whoever wants it met is not a condition, and that principle has been tested twice in this line now.

Hoy et al. retired an argument rather than winning it. Three papers here had measured ES’s parameter drift and drawn three conclusions: it causes forgetting, it is functionally sparse and harmless, it proves the search finds nothing. The decomposition — an on-manifold component that changes the loss and an off-manifold random walk that cannot, scaling as σ²dT/N — says all three are describing the same object. The disagreement was never about the measurement; it was about what each group happened to have measured alongside it, and over what horizon.

That is the second time in this line that an apparent contradiction turned out to be two groups measuring different things. The first was Hyper-ES’s lemma about a direction against Ba et al.’s sparse subspace. A record that holds both sides is what makes these visible; a summary of either one alone would have read as settled.

One filing decision worth recording. ESSA is ES over a few hundred SFT-initialized singular values. SOTA-154 recommends ES over the full parameter space in place of policy-gradient RL. Filing ESSA as support for that practice would have been easy and wrong, and the note says so explicitly — same method family, different recommendation. What ESSA does instead is turn the subspace approach into a line: it and Hyper-ES arrived independently, eighteen months apart, at seed a low-dimensional subspace with gradients, then search it gradient-free. Two independent arrivals is a better argument for the approach than either paper’s numbers, and it means SOTA-154’s contested reading is a live methodological disagreement rather than one group’s objection.

What this pass did not cover. The line is now filed to the edges this record can see, but three things are open and cheap. The bibliography sweep described above has not been run on any of the ten papers. ARXIV-2605.30148 (Overcoming Forgetting in LLM Fine-Tuning with Evolution Strategies) turned up in the search for Abdi et al. and is, by title, the remedy paper for the problem SOTA-213 addresses from theory — it was not read, and it is the obvious next thing. And LIT-235’s linear-mode-connectivity result, if it generalizes, is a claim about post-training reaching one basin regardless of optimizer, which is worth far more than the use this line makes of it and has no document of its own.


A practice corrected before it shipped, and a condition finally met

2026-09-15 19:27:55 · record

Eleven papers. This one was named in the previous pass’s uncovered list and read for that reason, and it moved two documents that were still sitting unmerged in the same pull request.

A practice was wrong and got corrected before anyone could act on it. SOTA-213 was filed an hour earlier as a stopping rule: stop ES post-training when the target task converges, because drift keeps accumulating and the gains do not. The reasoning was sound given what the record held. LIT-237 ran Countdown to 500 iterations, the task converged near 200, and averaged prior-task accuracy fell across the whole run. Drift is linear in steps. Therefore stop.

LIT-238 tracks the prior tasks individually rather than averaged and the picture inverts: HellaSwag drops about 8% over the first 300 iterations and returns to its original level by the final iteration. MMLU-Pro and ARC-Challenge do the same. ProofWriter runs it upside down, improving and then settling back. A stopping rule fitted to the average would stop at the bottom of the dip — the single worst point on the curve.

The lesson is not about evolution strategies. An average over a set of measurements can invert the sign of the effect you are inferring from it, and a practice derived from one is only as good as the disaggregation nobody ran. The durable half of the original claim — spend budget on population rather than steps — survived and is now confirmed directly, which is why this was a rewrite rather than a retirement.

It was also caught by luck. The paper was in the uncovered list because a search for something else returned it, and it was read because the previous pass wrote down what it had not covered. Writing down the gap is what made the correction possible, which is the one process claim these entries can actually support.

On correcting in place rather than retiring. The record’s rule is to retire by changing status and never by deleting, and this practice was rewritten with its title changed rather than marked Rejected with a successor. The distinction is that it had not landed: it exists only in an open pull request, and the claim was never one the record made. Filing a Rejected document for a recommendation that was never published would put something in the attic that nobody ever took out of it. The wrong version is in this entry and in the changelog instead, which is where a reader looking for the reasoning will find it.

That reasoning does not extend to anything already on main. Once a document has merged, the rule applies without exception.

THEORY-008 is Active, and it is the first promotion in this line that was clean. Its condition asked for the σ²dT/N scaling measured by an independent group, on a transformer at a different scale, with the population-size dependence tested directly rather than inferred. That is Table 1 and Figure 6 of this paper: no shared authors, Qwen2.5-3B rather than Qwen3-4B, population 30 → 128 halving the update norm — which is what an inverse dependence of the squared norm on N predicts for a 4.3× increase — and prior-task degradation falling monotonically across three population sizes.

Worth contrasting with THEORY-006, which has now been approached three times and promoted none. The difference is not that one account is better supported in some vague sense; it is that THEORY-008’s condition named a quantity and an operation — raise N, watch drift fall — and THEORY-006’s named a measurement that nobody has reason to repeat. A condition that specifies an experiment someone would run anyway gets met; one that specifies an experiment only a partisan would run does not. That is a claim about how to write promote_when, and it is the most transferable thing in this entry.

One refinement that improves the account it confirms. Even at population 256 or with an anchor penalty, ES update norms stay an order of magnitude above GRPO’s — while the prior-task KL divergence becomes comparable. So the harm is not carried by the size of the walk: “it is the randomness of the drift unconstrained by the target task that leads to prior task forgetting for ES, rather than the magnitude of updates alone.” Three papers in this record had reached for update norm or update sparsity as the explanatory variable. None of them was the right one.

What this pass did not cover. One new name: Liang et al. (2026), cited here for low-dimensional curvature of fine-tuning landscapes as the reason very small populations suffice at billion scale. That is THEORY-006’s subject approached from a third direction and it is not in the record. It is the only outstanding reference from this paper.

Also still unrun: the bibliography sweep the previous entry prescribed — after filing a paper, list its references the record lacks. It was prescribed and then not performed on any of the eleven papers, which is its own small demonstration that a process note in a journal entry is not a process.


An independence claim that was never checked, and the paper that exposed it

2026-09-15 19:43:21 · record

Twelve papers. This one was named in the previous pass’s uncovered list, read for that reason, and the first useful thing it produced was not in its own abstract — it was in its bibliography.

The record spent four passes calling a paper independent without opening its author list. SOTA-154 was promoted on LIT-233, and the promotion turned entirely on that paper being an outside check: “an independent group”, “a group with no stake in the result”, “nobody here wanted ES to win”. The practice’s own condition had excluded “further results from the same group”, so the classification was load-bearing.

Yulu Gan, LIT-233’s first author, is the second author of LIT-211. It is in LIT-211’s author list, in LIT-233’s bibliography, and in the related-work section where that paper cites its own prior work. Nothing was hidden. Four passes read around it.

The reason is worth naming because it is general. Independence was inferred from affiliation and framing — a different institution, a different senior author, a paper about something else, the ES comparison arriving as a baseline rather than as a claim. Every one of those is a proxy, and all of them pointed the same way, which is exactly when a proxy stops being questioned. The actual test is one line: is any author of the new paper an author of the old one? It costs a glance at two author lists and it was never run.

The correction that matters is not to the status. SOTA-154 stays Active, because Hoy et al. at 4B with both arms swept and ES highest on all four tasks is a clean independent positive, and Ba et al., EGGROLL and ESSAM share no author with LIT-211 either. The practice would have reached the same place. But it would not have got there when it did, on what it did, and a record whose promotions rest on misread provenance is failing at the one thing it exists to do. The consensus note is now tallied by authorship rather than by institution, and doing that moved four of eight positive results inside the line they had been counted as independent of.

The corollary, and it belongs beside DP-005: counting is only as good as the equivalence class you count over. That principle separates adoption from evidence; this is the same failure a level down, where several “independent” results turn out to be one group’s line with different mastheads.

A second thing this paper corrected, in the opposite direction. SOTA-213 has now been rewritten twice in this branch. It began as a stopping rule, was rewritten when the prior-task dip turned out to recover, and is rewritten again here — because rise-then-decay means the target reward really does peak and then degrade, so early stopping is right after all, for a different curve. Prior-task accuracy dips and recovers; target reward rises and falls. Two curves, two answers, and the first two drafts each had one of them.

That is three versions of one practice in one afternoon, and it is not a sign the practice was badly conceived. It is a sign of what filing a line in citation order rather than publication order does: each paper arrived already answered by one the record had not read yet. Liang et al. is January, Hoy is April, Schweighofer is May; the record met them backwards.

On THEORY-006 and THEORY-007, which are not rivals. They look like competing explanations of the same phenomenon and they are not, because LIT-233 says so itself: the thicket is a broad pretrained basin intersected with a low-dimensional, degenerate set of task directions, and it cites Liang for the second half. The record filed the later paper first and would have filed them as rivals had the citation not been checked — the same failure as the authorship one, caught this time because reading the related-work section is part of a full reading.

Their one real disagreement is about scale, and it is methodological rather than substantive: LIT-233 fixes σ = 1e-3 at every model size and finds density rising 0% to 64% across 0.5B–32B; LIT-236 picks a viable σ per model and finds accessibility flat across 0.5B–7B. A perturbation scale that suits a 32B model need not suit a 0.5B one, which would produce exactly this pattern with no disagreement about the geometry. That also weakens the scale-boundary table this record built two passes ago, whose low end may be a tuning artifact rather than a threshold. The table stays, with the competing reading beside it.

What this pass did not cover. No new names came out of this paper’s references that the record lacks — the first time that has been true in this line. What remains outstanding is the same two items as last time, both now overdue: the bibliography sweep prescribed two entries ago and still not run on any of the twelve papers, and LIT-235’s linear-mode-connectivity result, which if it generalizes is a claim about post-training reaching one basin regardless of optimizer and still has no document of its own.

And one new one, cheap and specific: check authorship overlap when filing a paper into an existing line, and record the answer rather than the impression. It would have caught this in the pass that introduced it.


The bibliography sweep, run at last: what twelve papers cite that the record does not hold

2026-09-15 19:49:38 · record

Two entries ago this record prescribed a fix for the gap that let it file a reply before the claim it answers: after filing a paper, list its references that the record lacks. The next entry observed that the prescription had not been carried out and called that “its own small demonstration that a process note in a journal entry is not a process.” Here it is, run.

The query, stated so the next person can run it again

For each of the twelve papers in the evolution-strategies line, parse the bibliography out of the arXiv HTML (<li id="bib.bibNN"> list items), extract every arXiv identifier appearing in each entry, and difference the union against every arxiv: field in record/literature.d/.

  • 532 bibliography entries across the twelve.
  • 144 distinct arXiv identifiers extracted.
  • 227 arXiv identifiers currently in the record.
  • 117 of the 144 are not in the record.

No script is committed for this. The project removed its helper scripts deliberately (#41) and pyproject.toml says what remains is the frozen migration; a sweep that runs four times a year does not earn a maintained artifact. The paragraph above is the artifact.

What the query cannot see, which is most of it

Only 45% of the bibliography entries carry an arXiv identifier at all — 245 of 532 did; the rest are journal and conference references. Everything classical in this line is therefore invisible to this sweep: Rechenberg (1973), Schwefel (1977), Hansen and Ostermeier (2001) on CMA-ES, McCloskey and Cohen (1989) on catastrophic forgetting, Kirkpatrick et al. (2017) on elastic weight consolidation. Several are cited by four or more of the twelve.

This is DP-004 operating on the pass that was written to fix an instance of DP-004. The complement of “references carrying an arXiv id” is not empty, and running the filter harder does not sample it. The honest statement is that this sweep found what an arXiv-shaped query can find, and a second pass keyed to author-year strings would return a different and older set.

The headline, and it is worse than the gap that prompted the sweep

ARXIV-1703.03864 — Salimans, Ho, Chen, Sidor and Sutskever, Evolution Strategies as a Scalable Alternative to Reinforcement Learning — is cited by ten of the twelve papers and is not in this record.

The record holds nine papers descending from it, a practice recommending the technique it introduced (SOTA-154), two theory documents explaining why that technique works, and not the paper. This is exactly DP-007’s “trunk with no document”: every fork in the line has an entry because every fork was somebody’s contribution, and the thing all ten take for granted has none.

ARXIV-1707.06347 — PPO — is cited by six of the twelve and is also absent. That gap was noticed by hand two passes ago and written into a curation entry as a suspected instance. The sweep confirms it and puts a number on it.

The shortlist

Ranked within groups by how many of the twelve cite each. Everything here is missing from the record.

The trunk of the method. Filing these is what DP-007 asks for.

CitedCodeWork
10ARXIV-1703.03864Salimans et al., ES as a scalable alternative to RL
6ARXIV-1707.06347Schulman et al., PPO
2ARXIV-1604.00772Hansen, The CMA evolution strategy: a tutorial
2ARXIV-1106.4487Wierstra et al., Natural evolution strategies
2ARXIV-1712.06567Such et al., Deep neuroevolution
1ARXIV-1803.07055Mania et al., Simple random search — the ancestor of SOTA-212

Bearing on disputes the record is currently holding open.

CitedCodeWorkBears on
3ARXIV-2509.04259Shenfeld et al., RL’s razor: why online RL forgets lessthe forgetting dispute
1ARXIV-2504.13837Yue et al., Does RL really incentivize reasoning beyond the base model?SOTA-210’s origin
1ARXIV-2507.14843Wu et al., The invisible leash: why RLVR may or may not escape its originSOTA-210
1ARXIV-2605.22817Bahlous-Boldi et al., Vector policy optimizationthe pass@1/pass@k trade
1ARXIV-2505.11711Mukherjee et al., RL finetunes small subnetworks in LLMsLIT-230’s functional sparsity
1ARXIV-2010.04495Mirzadeh et al., Linear mode connectivity in multitask and continual learningLIT-235’s unexamined LMC result
1ARXIV-2401.07453Gupta et al., Model editing at scale leads to gradual and catastrophic forgettingLIT-237, same group

The low-dimensional-structure line, which THEORY-007 rests on and does not cite. ARXIV-1812.04754 (Gur-Ari et al., Gradient descent happens in a tiny subspace, 2018) states something close to that account’s central claim eight years earlier. With it: ARXIV-2012.13255 (Aghajanyan et al., intrinsic dimensionality), ARXIV-1804.08838 (Li et al., intrinsic dimension of objective landscapes), ARXIV-1706.04454 (Sagun et al., Hessian of over-parametrized networks — the “bulk plus outliers” source), and ARXIV-2602.04118 (Morris et al., Learning to reason in 13 parameters).

Method ingredients the record uses without holding. ARXIV-2010.01412 (Foret et al., SAM — what LIT-240 transposes into zeroth order) and ARXIV-2203.11171 (Wang et al., self-consistency — the majority-vote step inside SOTA-212 and the baseline in SOTA-210).

Benchmarks, model reports and infrastructure, which this record has never systematically filed and which the sweep surfaces in volume: GSM8K (ARXIV-2110.14168, 9 of 12), MBPP, the Qwen2.5 technical report, HellaSwag, ARC, GPQA, MATH, HumanEval, ROCStories, and verl (ARXIV-2409.19256). Whether these belong here is a scope question the record has never answered in writing, and the sweep is the first time the cost of not answering it has been visible: they are 9 of the 27 most-cited missing references, and every pass has silently declined them.

What this changes about how passes should run

The sweep took minutes and the gap it found is the largest single omission in this line. Two things follow.

Run it at filing time, not as a separate pass. The reason it kept not happening is that it was written down as a future task rather than as part of what filing a paper means. A note in a journal entry is a reminder; a step in the filing procedure is a process. This entry is still only the former.

Count the citations rather than reading them. The useful output was not the 117-item list, which nobody will act on, but the ranking. Cited by ten of twelve and absent is a finding; cited once and absent is a reading list. The ranking is what turned a dump into the Salimans result.

What this pass did not do

It filed nothing. Every entry above is a candidate, and the top two — Salimans et al. and PPO — are the ones the record should not go another pass without, on DP-007’s argument rather than on any judgement about their quality.


Filing the trunk, and what it turned out to have already said

2026-09-15 20:03:25 · record

The sweep prescribed two papers and the record filed them. Both readings found something the record did not know, and in both cases what they found was that a document already here was newer than its idea.

Salimans et al. §3.2 is THEORY-007. That account — filed two hours ago from a 2026 paper — holds that ES scales because what matters is not the ambient parameter count but a low-dimensional effective structure. The 2017 paper:

However, it is important to note that this does not mean that larger neural networks will perform worse than smaller networks when optimized using ES: what matters is the difficulty, or intrinsic dimension, of the optimization problem.

It gives the argument (concatenate a regression’s features with themselves: parameters double, difficulty does not, ES behaves identically given σ and the learning rate halved) and the observation (larger Atari networks did slightly better). LIT-236 adds a mechanism, a measurement across scales, and the connection to rise-then-decay, all of which are real contributions. But the record filed that account without knowing its central claim was nine years old, and would have gone on presenting it as new.

The same shape for PPO. Three practices here modify it — SOTA-145 removes its critic, SOTA-146 corrects an objective descended from its clipped ratio, SOTA-129 makes the family a recipe stage — and none could cite it. Reading it turns up a detail no descendant mentions: the ES line grid-searches PPO’s KL coefficient β, and PPO’s own §4 reports the KL-penalized variant as the worse of the two its authors tested.

The general form, and it is what DP-007 is about from a new angle. That principle says the agreed trunk goes unfiled because agreement has no arrival. The corollary this pass adds: while the trunk is missing, its claims get re-filed as though they were new by whoever restates them. A record that holds only the branches cannot tell a contribution from a restatement, and the error runs in the flattering direction — every paper looks more original than it is, because the thing it is building on is not here to compare against.

That is a sharper reason to file trunks than pedagogy. It is not that a reader wants the foundational paper; it is that without it the record cannot grade the ones it has.

On what counts as evidence for a practice, revisited

Filing Salimans also settles something the record had been asserting on LIT-211’s authority. That ES “tolerates long-horizon and delayed rewards” has been in this record since SOTA-154 was filed, as a claim about a claim. The argument is in §3.1 here: the policy-gradient score term is a sum of T uncorrelated pieces so its variance grows nearly linearly with episode length, while the ES term is independent of T. Four of the five arguments SOTA-154 makes for itself originate in this paper, and the practice has been making them second-hand.

introduced_by: stays on LIT-211 and the reasoning is worth keeping: this paper recommends ES over policy gradients for control tasks trained from scratch, and the practice recommends it for LLM fine-tuning, which this paper does not attempt and whose feasibility the field doubted for eight years. The doubt is the evidence that they are different claims. Filing the ancestor makes that distinction visible rather than dissolving it.

The scope question, answered

ADR-032 records what the sweep forced: benchmarks, model reports and infrastructure are admissible LIT documents. Three things about how that decision was reached are worth keeping.

The record was already half-doing it. LIT-119, LIT-130 and LIT-222 are model reports and a whitepaper, already Active. The practice registry counts model reports as adoption evidence in consensus:. So the boundary would have had to be drawn between things the record already treats identically — which is DP-008’s warning realized: the scope existed in what the corpus happened to contain, not in anything anyone decided.

Nothing in the vocabulary changes, and that is the test. A benchmark paper is analysis-and-evaluation by that topic’s own blurb; a model report takes the topic of what it reports on; infrastructure is systems-optimization. DP-008 says a category added to admit a single document is how a scope stops being one — the converse also holds, and a scope change needing no new category is one the vocabulary was already sized for.

The trigger stays narrow. Something in the record has to cite it. A benchmark nothing here is argued on has no standing to record, and the ADR says so, because the failure mode of this decision is a reading list that is mostly instruments.

What this pass did not do

The backlog the ADR creates is named and unfiled: GSM8K (cited by 9 of 12), the Qwen2.5 technical report (4), MBPP (3), verl (3). The sweep’s ranking is the queue.

And the sweep itself still has the hole its own entry described: only 45% of bibliography entries carry an arXiv identifier, so the classical ES literature — Rechenberg 1973, Schwefel 1977, Hansen and Ostermeier 2001 — is invisible to it. Salimans et al. cites all three in its first paragraph on ES. Filing the trunk has not reached the roots, and the query that would is a different one.


The schema was the tell, and I read it as evidence of a stranger

2026-09-15 21:45:38 · record · migration

Seventy-four paper notes arrived from another project. I checked every identifier against arXiv and CrossRef before filing anything, found three notes bound to the wrong paper and one citation invented outright, and concluded that the batch was a secondary source whose claims could not be trusted. So I filed all sixty-eight papers at Deferred, filed no readings, and sent all 187 recommendations to an issue on the grounds that a practice may not be sourced to a paper nobody here has read.

The rule is right. The premise was wrong: they were my own readings, made in a different session under a different agenda. Nobody had to tell me the rule; I had to be told the readings were mine.

What I had in front of me

The incoming schema, from the batch’s own SCHEMA.md:

contribution, key_insight, assumptions, key_results, claims, method,
concepts, connections, recommendations, research_implications,
limitations, open_questions

The section headings of every NOTE document in this record:

Contribution, Key insight, Assumptions, Key results, Claims, Method,
Concepts, Connections, Recommendations, Bearing on the record,
Limitations, Open questions

Twelve fields, twelve sections, same order, eleven of them the same name. I read that table, wrote it into a comparison, and did not draw the conclusion. The thing I did instead was notice that the batch’s schema described recommendations as “project-agnostic” and treat that as a claim by a stranger to be checked rather than as a note I had left myself.

The reasoning error, stated plainly

I had four pieces of evidence and they pointed two ways.

Pointing at “stranger”: a different project, a different agenda, an identifier bound to the wrong paper three times, and a citation that resolves to nothing.

Pointing at “mine”: a schema that is this record’s schema, down to field order.

I weighted the first four and never priced the fifth, because I had a query shaped like how much can I trust this? and a query finds only defects it is shaped like (DP-004). “Whose work is this?” was never asked, so the one piece of evidence that answered it went past as an interesting coincidence.

The nearest precedent in this record is a week old and is the inverse. Filing LIT-233 I inferred a paper’s independence from affiliation, senior authorship and framing, three proxies agreeing, and never ran the author-list check that would have contradicted them. Here I inferred a batch’s foreignness from provenance, agenda and error rate, three proxies agreeing, and never asked who wrote the schema. Same failure, opposite sign: proxies that agree with each other feel like corroboration and are one observation.

What the findings turned out to mean

The identifier errors are real and none of them survived as a reason to withhold a reading.

  • 1805.01361 is not a bad note about a stranger’s paper. It is a second reading of 1804.06561, filed against a stranger’s identifier. Both readings are genuine and they differ — one is precise about the theorem statements, the other reaches for the McKean-Vlasov framing. They are merged into one note.
  • 1906.08632’s reading is of the paper its identifier names. Only the title field was taken from a different Goldt paper.
  • 2102.11742 is the one that does not rebind: the reading names no paper its content matches, and its own first paragraph says so. Filed Deferred, no note. This is the single case where the first decision was right, and it is right for one paper rather than sixty-eight.
  • Wolfowitz (1963) was given a journal, a volume, a page range and a DOI that returns 404. That one is not a labelling slip, and it is why metadata in the port comes from resolvers in every case and from the reading in none.

What actually did not port, and why

Not trust — scope.

The field that does not survive is research_implications, which answers five questions from that project’s synthesis/research_agenda.md. Seventy of those were replaced by a ## Bearing on the record section written fresh, answering this record’s question instead: what could a practice here rest on, and is there one.

Twenty-three of the 187 recommendations are marked in place as not filed. Seventeen name that project’s own system and experiments despite the schema calling the field project-agnostic — which is worth noticing, because it means a field I labelled “preserved for reuse beyond this project” was not, and the label did not stop me writing project-specific advice into it. Six are advice to a theorist about proof technique. They are struck, not deleted.

What this pass still has not covered

The readings themselves were not re-verified against the papers. The identifier check was on titles and authors. Nothing compared a single entry under key_results or claims against the paper it is about. That was the honest limit of the first pass and it is unchanged by learning whose work it is — being my own reading makes it portable, not correct.

Two papers now have two readings and only one is filed. LIT-017 (McCandlish) and LIT-028 (Kaplan) already had notes. The incoming readings of both are mostly about curve-fitting for another project’s experiments, so little was lost, but nothing compared them.

Four of the seventy-four files arrived truncated mid-scalar, at the end of limitations or research_implications. Two lost a partial limitation; two lost only dropped material. Recovered by discarding the incomplete line.

The practices filed are seven of a hundred and sixty-four candidates. They are the ones where the claim is crisp, the paper is the right place to source it, and nothing here already says it. The rest is still a backlog, and it is now a backlog of reading already done rather than of reading still owed — which is a much cheaper thing to owe.


Sixty-seven documents I filed twice, and the report that was never read

2026-09-15 22:47:17 · record

Two findings, and the first was found by accident while collecting data for the second.

The duplicates

PR #138 went in as two commits. The first filed 68 papers as Deferred literature on the argument that their readings could not be trusted. The second replaced that decision, filed 70 readings and promoted the papers.

It did not delete the first commit’s files. The regeneration between the two ran git clean -fd record/, which removes untracked files — and the first commit’s 68 were tracked, because they had been committed. So the port minted a second, separate set of codes for the same 68 papers, and both sets merged.

Result on main: 67 duplicate literature notes, each a Deferred stub for a paper that also has an Active note with a reading attached. The sixty-eighth is not a duplicate — 2102.11742 is Deferred in both passes and the second one survives.

Nothing cited them. None carried a NOTE. They inflated the literature count from 310 to 376 and the undecided-document count from 54 to 121, and they are removed rather than retired: retire by changing status, never by deleting protects a decision the record made and later reversed, and these are not a decision. They are one filing, run twice, by a tool error. Retiring them would put 67 identical stubs in the attic and make the attic mean less.

The check that would have caught it costs one line — group the literature by arxiv:/doi:/url: and look for a bucket with more than one member — and it is the same shape as the check that found three misbound identifiers in the import itself, two commits earlier. I ran that check on the incoming notes and not on what I had written.

The narrower lesson is about git clean: it is not “reset the working tree”, and using it as one between two generations of the same generated corpus is how the first generation survives. git rm was the operation needed, and nothing in the sequence made its absence visible, because the second generation’s files were all new names.

The report

docs/reports/unbound-lineage.md lists relations whose two documents share no primary topic. It had 38 relations and 16 lines, generated on every luria index since the chains got their invariant, and had never been read through.

Reading all 38, the prior in its own preamble — “usually a sign the vocabulary is short a word” — turns out to be wrong here. Not one of the 38 wanted a fourteenth topic. They were four things:

Fifteen documents plainly mis-filed (retagged). Eight positional-encoding papers split between model-architecture and attention-techniques because representation-and-encoding did not exist when they were filed and nobody went back after #114 added it — its blurb names positional encoding and the frequency choices that go with it, which is RoPE, ALiBi, YaRN and the rest verbatim. LIT-211, a paper with LLM Fine-Tuning in its title, under training-optimization. Three batch-size claims under model-architecture. An initialization rule under distributed-optimization. Two instability-detection practices under training-optimization while the practices they are compared against — one from the same paper — sat under model-stability.

Eleven of those fifteen shared one cause, which is the finding worth more than the fifteen fixes: a claim extracted from a model report, a Megatron paper or a systems paper inherits that document’s topic instead of its own. ADR-026’s filing rule already says not to. This is the first count of how often it happens.

Two relations that were analogies, not comparisons (removed). ADR-011 defines compared_against: as the work evaluating itself against the other. Profiling the input pipeline and profiling memory access were never compared; neither were overlapping communication and pre-fetching batches. The report calls this case unusual, and it is — two of 38 — but it exists.

Seven that cross because analysis-and-evaluation is a kind, not a subject. Every one joins a paper that does something to a paper that measures it. Twelve topics name a subject; that one names a kind of work, and it will unbind a lineage every time a line grows an analysis paper. Not one of those six documents is mis-tagged — LIT-230’s body argues its own filing and the argument holds.

Fifteen genuine fault lines. A general practice and its domain-specific instance; rival fixes made at different layers; trunk papers whose contribution spans two topics. The first shape wants a relation the record does not have — specializes: — which is a scheme change rather than a retag.

One of the fifteen is none of those and was nearly mis-read as the first: SOTA-089 against SOTA-107, where SOTA-107 is Rejected because the 128 in it was traced to a head dimension rather than a sequence length. The lint caught it, by refusing an unacknowledged citation of a retired document — which is the check this project adopted the record to get, firing on a draft of the decision that was reading the report. An unbound relation with a retired end is not a filing question at all.

What this pass did not do

It did not touch the SSM line. Mamba, Mamba-2, Mamba-3 and RWKV-7 are model-architecture while Kimi Linear, Gated DeltaNet, GLA, DeltaNet, Griffin and Monarch Mixer are attention-techniques, and there is a rule under the inconsistency — a model family against a mechanism — that Mamba satisfies both halves of. Retagging four papers to bind one line would be the #101 move that luria.yaml records as wrong, so it is written down rather than done.

It did not re-read the bodies of the fifteen retagged documents. The retags were argued from title, blurb and the company each document keeps. For eleven of them the document is a two-line migrated stub with nothing else to read, but for LIT-192, LIT-193, LIT-207, LIT-208, LIT-209 and LIT-210 there is a full note and this pass read the summary, not the body.

It did not check the other generated reports. unbound-lineage.md was read because it was asked for. reference-status.md gets read before every lint. The rest of docs/reports/ has had the same amount of attention this one had, which was none.


The move ADR-031 asked for, and the field I said did not exist

2026-09-15 23:04:32 · record

SOTA-010 — skip connections promote training stability by smoothing out the loss landscape — is a statement about what is true, filed in the scheme for statements about what to do. ADR-031 spotted that, listed it first among eight practices in the same shape, called it and SOTA-012 the two clearest candidates to move, and then did not move it:

Moving one is not a status change, and “retire by changing status, never by deleting” does not cover it: a practice re-filed as a theory leaves a SOTA code that is neither Rejected nor Superseded but simply somewhere else. That needs its own decision about what the old code says and what happens to links into it.

So the work here was the decision, not the move. The move took ten minutes once the decision existed.

What made it non-obvious

Rejected means different things in the two schemes, and CLAUDE.md says so plainly: on a practice it means do not do this. The sota-statuses attic blurb even offers “too theoretical” as a reason, which reads like an invitation. It is not — that phrasing belongs to the paper scheme, where a paper can be too theoretical to carry. A practice whose problem is that it was never a practice is a different animal, and filing this one Rejected would have published the sentence do not use skip connections, which is about the worst thing this record could say by accident.

Superseded carries “replaced, and the record says what” with no instruction attached to the subject matter. That is the decision.

The correction worth keeping

I drafted the decision asserting that no typed field could name a successor in another scheme, and that the successor would have to live in prose with a resolvable code. I wrote a whole numbered point about it.

The lint rejected the first save:

record/practices.d/SOTA-010.md: no superseded_by: in frontmatter — superseded_by names a document in any scheme, because status: Superseded

It already crosses schemes, by an explicit luria decision. The claim in my draft was invented rather than checked, and it was invented about a field I could have read in luria.yaml in ten seconds. The decision now says so in place rather than quietly using the field, because this is the second time in one contribution that a check knew something about the record that I did not — the first was the same lint refusing an unacknowledged citation of SOTA-107 while I was writing a decision about reading a report, which is how I learned that practice was in the attic.

Two for two, in one sitting, on facts I asserted from memory about a record I was actively reading. The pattern is not “the lint is useful”; it is that I reach for a confident sentence about the record’s own machinery at exactly the moments I am busy with something else.

What was not done

SOTA-012 stays a practice. It is the other one ADR-031 called clearest, from the same paper and the same figure, and the rule now exists to move it under. It is left because a rule that has moved one document has one data point, and the next pass should get to test the rule rather than invent it. Six of the eight remain besides.

No practice was filed alongside the theory. The obvious split — a use skip connections practice plus the explanation — produces an instruction with no reader, because every model in this record already has them and DP-007 keeps the agreed trunk unfiled. Worth recording that the split was considered and is the natural first move, because the next person to reach one of the eight will consider it too.

The five practices the account explains: were not re-read. They were taken from what the old body already claimed it underwrote. That list is plausible and unverified, and a wrong explains: edge is a claim about why a practice works.


A rule I stated, measured, and withdrew

2026-09-16 00:32:29 · record · mechanism

Closing the unbound-lineage pass I wrote that eleven of its fifteen findings had one cause: a claim inherits the topic of the document it was extracted from. It is a good sentence. It reads like a rule, and the obvious next question was whether luria could enforce it from config, without an upstream feature.

It cannot, and it should not, and the most useful part of finding that out was discovering the sentence is mostly wrong.

What the measurements said

76%. Of 220 practices naming a source, 167 already share their source’s topic. That is not a defect signal; it is what a correctly filed practice looks like. An Adam practice sourced to the Adam paper is training-optimization at both ends, and should be.

Four of six. Of the practices that pass retagged, four had inherited their source’s topic — SOTA-060, SOTA-092, SOTA-093, SOTA-094. The other two had not: SOTA-098 and SOTA-099 were training-optimization against sources in model-architecture and model-stability, and were wrong in the opposite direction from the rule I had just written. I generalised from the majority of a set of six and did not look at the other two.

Already answered — and that is where I stopped thinking. The check is declarable in config, and luria/invariants.py had measured it on this record before the mechanism shipped: 48 of 235 edges, “every one a cross-domain citation the record was changed to permit”, concluding that “a check that fires on a project for doing the thing it decided to do is worse than no check”. I re-measured — 73 edges, 64 practices — grouped them by topic pair, saw the biggest bucket was the evolution-strategies line, and wrote the whole thing off.

A histogram is not a reading. Told so in review, I went back and read the 73 one at a time. They are four kinds and only one is settled:

kindn
multi-topic source16a model report sourcing practices across three or more topics — ADR-032 admitted these deliberately
analysis paper as evidence14the kind-not-subject fact the lineage pass already documents
ADR-026’s rule working~10the practice takes its kind, the paper takes the domain it was discovered in
everything else~33cross-layer fault lines, and candidates worth a reading

Two from the last row: LIT-112 — Efficient Memory Management for Large Language Model Serving — is filed attention-techniques while all four practices under it are inference-optimization, whose blurb names cache layout and serving-time decisions. LIT-059 (CheckFreq) is systems-optimization while its four checkpointing practices are distributed-optimization, the topic whose blurb names checkpointing. Neither is confirmed — that needs a reading — but both are the shape of finding the lineage pass acted on, arriving through a second channel.

So the principle stands and I had argued against it on bad evidence: a relation asserts its documents have something in common, and the invariant is the record saying what. That is as true of a practice and its evidence as of two practices.

And it cannot be declared anyway. Three lines of config, and luria index raises KeyError: 'LIT-001' from chains.lines_of — the chain walker indexes only documents in the declared scheme, and source: crosses SOTA to LIT. The invariant machinery is fine; the walker under it has never been asked to cross. That is an upstream fix, not a judgement, and it is the answer I would have reached on day one by trying it instead of by reasoning about whether it was a good idea.

What I did instead

lint.fail_on had been [] since the record was built, so every check the lint runs is advice. One of them — source-mismatch — answers the question is this document about the paper it names, which is the question DP-001 rests on, and it is at zero today. It is now a failure.

The reason it is the right one is not general principle. It is that source-mismatch is the check that would have failed #138, whose three

Verified rather than assumed, on this branch: retitling LIT-045 to another paper’s title produces “arxiv: 2104.09864 resolves to ‘RoFormer…’, not ‘A Mean Field View…’” and exit 1. A freshly minted note carrying an identifier that does not match its title fails the same way, with the identifier resolved live and pinned in the same run.

What I proposed and had rejected

The first version of this went further: source-unchecked in fail_on too, so a green run would mean every reference was verified rather than merely remembered. I wrote the cost into the decision honestly — “a network outage can now fail a contribution that adds a new paper” — and argued it was narrow and the remedy was in the author’s hands.

Rejected, and the reason is better than my argument. The failure source-unchecked adds is an upstream outage. A contributor who did nothing wrong cannot act on it, and the only move available to them is to learn that the dial lies — which takes down the class that does work along with it.

The general form is worth keeping. A check earns enforcement by failing only on things that are in the diff. source-mismatch reads the committed lockfile and fails on a disagreement the author introduced: something somebody can fix. source-unchecked fails on something somebody can only wait out.

Writing the cost down honestly is not the same as pricing it correctly. I did the first and skipped the second, and “narrow, and the remedy is in the author’s hands” was doing the work of an argument without being one.

The one it does not cover, and where it already lives

Sixty-seven duplicate notes — the defect #138 actually shipped — have correct titles and correct identifiers. Two documents claiming one identifier is not in luria’s finding vocabulary at all, and no config setting produces it.

It is already filed upstream as LU-#165, reached from a two-document collision rather than a sixty-seven-document one, and it goes further than the issue I opened here: besides a duplicate-source finding it asks for a luria merge that resolves one by rewriting references, appending the loser’s code to formerly:, and retiring rather than deleting it — which is exactly the work I did by hand in #140 and would have done by hand again. I filed a duplicate because I searched the finding vocabulary for the check and never searched the issues for somebody having already noticed it was missing.

The pattern this makes four of

Four times in two days I have asserted something about this record’s own machinery and been corrected — three times by the machinery, once by a reader:

  • SOTA-107 described as a live practice while writing a decision about reading a report. It is in the attic, and the lint said so.
  • superseded_by declared unable to cross schemes, in a decision whose whole subject was crossing schemes. It crosses schemes; the lint said so on the first save.
  • A claim inherits the topic of its source, offered as a finding worth eleven corrections. 76% base rate; the measurement said so.
  • The source: invariant argued down on a count. Reading the count’s contents says otherwise, and the actual blocker — a KeyError in the chain walker — was one config edit away the whole time.

The first three share a shape: I reach for a confident sentence about the tooling at exactly the moment I am concentrating on the content, and the tooling is what I am least likely to check because it is not what I am thinking about.

The fourth is different and worse. Nothing about it was inattention — I measured, I quoted the upstream docstring, I built a table. What I did was stop at the number. 73 was large, the largest bucket had an explanation I already believed, and that was enough to close the question. Reading the 73 takes about ten minutes and reverses the conclusion.

The rule that would have caught all four is the same one: when the claim is about the tooling, run the tooling. Declaring the chain takes three lines and fails in four seconds, which is less effort than the paragraph I wrote arguing it was a bad idea.


Replace where I should have added, and the constraint that made it look like a choice

2026-09-16 02:03:33 · taxonomy · record

The retagging pass in #140 moved fifteen documents. Review:

you’ve replaced a bunch of tags where you just needed to add an additional tag. the old tags still seem applicable in the cases I reviewed.

Re-reading them, that is right about eleven of the fifteen. LIT-192 (Positional Interpolation) and LIT-193 (YaRN) went from attention-techniques to representation-and-encoding — and attention-techniques names context length in its own blurb, which is exactly what a context-extension paper is about. LIT-208 proposes a hybrid attention strategy; the title says so. In each case the new topic is better and the old one was not wrong.

The part I did not notice I was choosing

fields.tags.groups.primary_topic required exactly-one of the thirteen, so a second topic was a hard lint violation. There was no additive option.

That is the uncomfortable part. I did not weigh “replace” against “add” and pick replace — the schema offered one move and I took it without registering that it was a constraint rather than a decision. A constraint you do not notice reads exactly like a judgement you made, and the artefact it leaves behind is indistinguishable: fifteen documents that assert their old topic was wrong, when eleven of them assert no such thing.

luria.yaml already records this corner from the other side, at #101: “the only move available under exactly-one — it satisfied the check rather than answering it.” There the constraint forced an incidental secondary tag in. Here it forced a true topic out. Same constraint, opposite damage, and the note about it was three screens above the rule while I was editing the file.

What changed

require: any, on all four schemes. primary_topic still derives {tags[0]}, so the primary is still one value and the chain invariants still compare one against one — verified, because it was the thing most likely to break: docs/reports/unbound-lineage.md is byte-identical at 24 relations and 10 lines with the group relaxed and a second topic added.

The four that stay replacements are the ones where the old tag named where the claim was found rather than what it is about — SOTA-060 filed distributed-optimization because its source is a Megatron paper, SOTA-092/093/094 filed model-architecture because theirs is a model report. Restoring those would preserve a mistake rather than information.

What this costs, and what it does not

Tag order is now load-bearing. Reordering tags: silently retags a document, and nothing checks it. Measured before changing anything: all 596 documents currently list a topic first, so nothing is broken today — but the convention was already unguarded and the ways to trip it just got more plausible. LU-#229 is the upstream ask.

The invariant moved too, on the same review. “the primary topic doesn’t need to be invariant, just the presence of a common tag across the edge” — which is what a relation asserts. The objection that kept it on primary_topic — “any shared tag is too weak to carry it” — was correct only while exactly-one made every secondary a free-form label. Relaxing the group is what made moving the invariant safe, and I had written the opposite into the decision an hour earlier.

Measured rather than argued: three edges bind, two rightly, and the third on the flash-attention label #101 added to bind it. Removing those two tags re-opens the edge — the finding luria.yaml says should stay open — and the count settles at 22.

What the move does not license. Letting a shared secondary bind a relation is still the failure luria.yaml rejects by name, and it is now possible rather than impossible — giving two documents a common word is a cheap way to close a finding. The two flash-attention tags were exactly that, and removing them is the price of the change rather than a bonus. Widening what a document may say is not widening what a relation may assert, and the vocabulary being closed is what keeps the cheap move from being a silent one.

And closing it has its own cost, raised in the same review: a guard mainly teaches people not to trip it. The lint says “is not in the topics vocabulary — the values are …”, which sets up “pick the nearest of these fourteen” — the failure this entire pass repaired, eight papers filed under the nearest available word because the right one did not exist yet. So CLAUDE.md now says in as many words that the closure is an invitation and adding a word is the intended move, and LU-#273 asks luria to let the rule carry that note itself, where the failure is. If that is refused the honest answer is to re-open the vocabulary: a guard that teaches the wrong lesson is worse than the typo it catches.

The pattern, updated

This is the fifth correction in three days, and the first that is not about asserting something unverified. The previous four were claims about the tooling made from memory. This one is the opposite: I read the tooling correctly, did what it allowed, and never asked whether what it allowed was what I wanted. The check that would have caught it is not “run the tool” but “when the tool permits exactly one move, say out loud that it is the tool choosing” — because that sentence, written down, is obviously a question for the person who owns the schema.


I argued they were the same object and then built a check for whether they agreed

2026-09-16 05:15:56 · taxonomy · record

luria 0.23.0 made it possible to assert a shared field across a scheme boundary. This record has six relations that cross one, so I measured all six and declared invariant: tags on the one that earned it — NOTE.paper, 4 findings in 158 edges against 20-47% for the other five. The argument for picking it was that a note and its paper are the same object, where the others join two things this record files on different axes on purpose.

Review:

given that a note and its paper are the same object, rather than specifying an invariant (an “at least one” similarity), I feel like it would be more appropriate to use a derived field.

That is my own premise, carried one step further than I carried it. If the two are the same object, the note has no subject of its own to agree or disagree about — it should derive the paper’s, the way NOTE.published already derived the paper’s date for exactly this reason. I had the argument and stopped at the weaker mechanism: reporting a disagreement that should not have been representable.

The tell was available and I did not read it. NOTE.published was sitting four lines above NOTE.tags in the config, doing the thing, with a comment saying why.

What it cost to find out, and what it bought

Building it turned up a luria bug worth more than the change: derive refused many on any field, and dropping many to satisfy the refusal made the derived list read as no values at all, which deleted all fourteen docs/notes/tags/*.md pages with nothing failing. LU-#276, fixed in 0.24.0 — found because this record was the first to want a derived list.

The part the redesign forced

Four notes disagreed with their papers, and I had deliberately left them standing: retagging a paper inside the commit that turns a check on is #101’s mistake with better manners.

Deriving changes that. The note now adopts the paper’s tag, so the disagreement does not become a finding to work through later — it becomes invisible. And two of the four were the only reason anyone noticed the paper was wrong: LIT-024 filing multi-query attention under model-architecture, LIT-112 filing vLLM under attention-techniques. Under the invariant they could wait. Under the derivation they could not, so they went in the same contribution.

Worth keeping: a decision about mechanism can change what counts as scope. “Leave the findings standing” was right for the check and wrong for the derivation, and nothing about the four documents changed in between.

What the record gives up

A note can no longer say its paper is filed wrong. It was never the note’s job, it was doing it by accident, and it was the only mechanism the record had for noticing — four in 158, all four real. What comes back is that retagging a paper now moves its reading for free, so fixing one costs less than noticing one used to.


The file with the most reasons in it was the one nothing checked

2026-09-16 15:13:02 · record · ci

A question — does concretization fire here after a merge? — turned into this. It does: the decision written earlier today was numbered ADR-038 on the merge an hour before this. But answering it meant checking which files the rename actually touches, and the answer was the record, not luria.yaml.

code.globs was src/**/*.py. The config was scanned by nothing, and it holds 87 code citations across 38 documents — more than any other file here, and all of them the same kind of claim: this is why the schema is shaped this way. Sixteen were dead. Ten were the temporary code that became ADR-035 back in #140, which had been pointing at nothing for days.

The check’s own justification, in luria’s configuration reference, is that “a decision number in a code comment is the strongest form of the claim being checked”. By that argument luria.yaml should have been the first entry in the globs. It was not in them at all, and nobody noticed because an unscanned file produces no findings, which looks exactly like a clean one.

Three things the check caught in the act of being added

A directive that half-worked. The first inactive-ok-file: named nine codes across two wrapped lines. It suppressed the four on the first line and silently ignored the five on the second — so the warning count dropped, which is the signal an author reads as “it worked”. Wrapping is the ordinary thing to do at nine codes. Filed as LU-#278; noted in the directive itself so the next person does not spend the same ten minutes.

My own ADR, twice. Writing the decision, I cited two luria ADRs without the LU- prefix — the exact bug the contribution exists to fix, committed while fixing it. Then the dead temp codes I had quoted as examples of dead temp codes were read as citations, and one of them voided the annotation meant to cover them. Backticks do not make a code a mention here, whatever I remembered.

A stale directive is itself a finding. Naming one unknown code in an inactive-ok-file: voids the whole annotation — and luria says so, naming what was left unacknowledged as a result. That is the behaviour to want: the failure was loud instead of quiet, which is the entire difference between this and the sixteen citations that rotted in silence.

The general shape

Every finding in this contribution has the same structure. Something was true, then stopped being true, and the mechanism that would have said so did not cover the place it happened. Concretization rewrites the record; luria link --fix rewrites record prose; neither touches a code-glob file, and the config was in no category at all.

Left open, and it has no mechanism anywhere: a remote’s temporary code. LU-ADR-084 was cited here as a temp code from luria’s repo. No local merge can fix that, because the concretization that resolved it happened in a different repository. The lint now reports it as unresolved, which is how this one surfaced — but reporting is all there is.


The fix for a directive with too many codes is not a longer line

2026-09-16 17:31:08 · record

I filed LU-#278 because a wrapped inactive-ok-file: had suppressed the codes on its first line and silently ignored the rest. That much was true and is worth having found. What I proposed was that luria read the continuation.

Closed, and the reasoning is better than mine:

a file-wide acknowledgement isn’t even position sensitive, so there’s zero risk breaking this up into multiple acknowledgements if the author doesn’t like having it all on a single line. If this emerges as a more pervasive issue, I think the question should be why certain acknowledgements are accumulating so many codes and what we can do about that.

Two things I had not thought about.

The constraint was not binding. I had treated “every code on one line” as a cost to be paid and written a warning into the config telling the next person to pay it. A file-scoped directive applies to the whole file, so n directives and one directive naming n codes are the same statement. There was never a reason to crowd the line — I only ever considered one directive because that is the shape the first one happened to have.

Splitting made the prose better, which is the tell. The eight codes fell into two groups without any effort: three Superseded and named as history, five Proposed and merely unmoved. The one-line version had to explain both in a single trailing paragraph. Two directives each carry their own reason and the paragraph disappears. When a workaround’s removal improves the thing it was working around, the workaround was hiding a design smell rather than a tool limitation.

And the question to hold onto. Not “how do I fit more codes on a line” but “why is one place citing this many retired documents”. Here the answer is benign — the config implements the decisions, so of course it cites them — but it is the right question and I would not have asked it.

What I wrote into the file, and shouldn’t have

The config carried a paragraph beginning “Every code on ONE line, deliberately”, pointing at an open issue. That is a note about a tool defect, sitting in a record whose whole subject is this project’s own choices. It is gone. The replacement says why there are two directives, which is a fact about the acknowledgement rather than about luria’s parser.


The contradiction was in the reading, not between the papers

2026-09-16 18:08:22 · record

Issue #139 lists four unreconciled contradictions and calls them the valuable part of the backlog. The first is LAMB against Shallue: “Whichever is right, they cannot both be applied.” I took that one first.

It dissolved on contact with the papers, and the way it dissolved is the finding.

LAMB cites Shallue. Approvingly. As motivation. Its related-work section summarises LIT-058 as showing that “learning rate scaling heuristics with the batch size do not hold across all problems or across all batch sizes”, and then proposes a different optimizer rather than a better heuristic. The two papers have never disagreed about anything.

LAMB labels its own headline tables untuned. Tables 4 and 5 say so in the title. The body says three separate times that manual tuning does better — at a batch of 16K, changing one learning rate moves SQuAD F1 from the reported 91.345 to 91.688. The claim was never that the square-root rule is correct. It is that the rule is sufficient to reach a fixed target without a sweep under an optimizer that normalizes per layer and per coordinate.

And Shallue never swept an optimizer of that kind. Three optimizers, all SGD-family, all with one global step size. LAMB is outside its sample, not a counterexample to it.

So the record had constructed a conflict out of two compatible claims by collapsing sufficient for one target into the heuristic is right, and by reading a result about three optimizers as a result about heuristics in general. SOTA-218 closed with a paragraph announcing the standoff; NOTE-132 refused a practice on its strength. Both are now the other thing.

The reconciliation needed a third document to hold it, and THEORY-012 is it: a scaling rule is a guess about how the usable step grows with the batch, that step is bounded by the worst-conditioned direction the optimizer does not normalize away, and an optimizer that normalizes more directions carries the same rule further. Shallue’s own discussion says this — momentum extends perfect scaling past plain SGD, and “optimizers that estimate local curvature information might be able to benefit more from large batches”. That sentence is in the paper most often cited against the position.

The part that should worry someone

I went to the papers to settle an argument and came back with four wrong numbers, none of which had anything to do with the argument.

SOTA-218 was filed yesterday, well written, and said the study ran 71 million training runs across seven workloads and four optimizers. The paper ran 168,160 models across 35 workloads with three optimizers; 71,638,836 is its count of loss measurements, the published database of training curves. The run count was off by a factor of 426. The practice also merged the two ranges the paper reports separately — where perfect scaling ends (2^4 to 2^13) and where the plateau begins (2^9 to 2^16) — into a single span running from the bottom of the first to the top of the second, which is not a quantity the paper names. LIT-058 had the model-family and data-set counts transposed.

Every one of those figures is in the abstract or the conclusion. Nothing in the record could have caught them: the lint checks that citations resolve and that cited documents are live, and all of these citations resolved to a live document that simply says something else.

This is exactly the loose end #139 names — “No reading in the port was re-verified against its paper. The check that ran was on identifiers… nothing says the error rate is lower in the fields nothing can check.” It is now one observed instance rather than a worry, and it was found the only way it could be: by needing a number badly enough to go and look.

DP-004 is the principle, arriving from a direction it did not list. The identifier check was a pass whose query was does this code resolve, and a clean run of it is evidence about codes. The complement — does this sentence describe the paper — has no mechanical query at all, which makes it the shape of defect this record is least equipped to find and most likely to accumulate.

What I did not do

Three contradictions remain on #139 (DiLoCo’s H=500 against post-local SGD, the duplicated noise-scale statistic, SlowMo against SOTA-155), five practice candidates, and two class-closing ADRs. I took one, and took it all the way down, on the theory that a contradiction half-reconciled is worse than one left open — the second reader cannot tell which half was checked.


The comment above the table was the blurb all along

2026-09-16 19:20:05 · record

I asked luria for two features — a vocabulary that can say what it is (LU-#279) and one that can say something when its own rule fires (LU-#273) — and then used them on one table out of nine, because topics was the one I had a complaint about.

Coming back to do the other eight, the striking thing is that I did not have to write the prose. It was already there, in YAML comments directly above each table, and in some cases it was the best writing in the file:

A paper’s status is about its standing in the anthology, not about whether its findings are true. Adam is Active here because it is worth reading; whether any particular thing it recommends is still what you should do is the SOTA scheme’s business, and the two can disagree.

That is the distinction the whole two-scheme split exists for. It has been sitting where no reader could reach it, and — the sharper point — where no violation could quote it. Somebody writing status: Deprecated on a LIT note is exactly the person that paragraph was written for, and the one person guaranteed not to be reading luria.yaml at that moment.

What moved and what stayed

The cut is between two kinds of sentence, and it turned out to be clean:

  • What this set is → blurb. Renders on every value page and heads the index.
  • What to do when you cannot find your word in it → alert. Prints under the violation.
  • How this file came to look like this → stays a comment. The inert-status history behind the five practice statuses, the two mis-attributed readings that produced note-statuses — those are facts about this project’s past, not about the vocabulary, and a reader hitting a bad status does not need them.

Seven of the nine got an alert. adr-tags and dp-tags did not, because the fields naming them are open, and an alert on an open vocabulary never fires — which is the loose end luria’s own ADR-110 names and does not close.

The three that will earn their keep

note-statuses: the value you want may be no note at all. The record’s convention is that an absent NOTE means the paper is unread, and Unread is reserved for the deliberate set-aside. Nobody would guess that from a list of four words.

consensus: unassessed is a real answer rather than a gap. Most of the corpus carries it, honestly, and the failure mode is somebody inventing a sixth word to avoid admitting they have not looked.

lit-statuses: if you mean the advice has moved on, that is a status on the practice. This is ADR-002 restated at the moment somebody is about to violate it.

A mistake worth keeping

I wrote the conversion as a script — find each table, insert the set keys, indent the values under terms: — and checked it by asserting that every vocabulary’s values survived unchanged. They did. All nine reported ok.

The script had also indented issue_url: and paths:, the two top-level keys that happen to sit between the last vocabulary and schemes:, straight into the vocabularies: block. luria link --fix crashed on the next command.

My check asked did the values change? and could not have answered did anything else? — a filter and its complement, which is DP-004 exactly, in a pass I wrote twenty minutes after quoting DP-004 in a curation entry about a different pass. The fixed version compares the whole parsed document and asserts the top-level key list is unchanged. That check costs three lines and would have failed loudly on the first run.

The lesson I keep re-learning in a new costume: a green assertion is evidence about the assertion.


Five readings checked against their papers; two of five were wrong

2026-09-16 20:01:29 · record

#139 closes with two loose ends, and the second one — “no reading in the port was re-verified against its paper” — turned out to be the one that mattered.

I did not set out to audit anything. I set out to file five practices, and a practice has to quote numbers, so I went to five papers to get them right.

Two of the five readings were wrong, and both in the direction that hurts.

NOTE-100 says to prefer decentralized SGD “when inter-node bandwidth is below ~1 Gbps or latency exceeds ~5ms”. The 5 ms is the paper’s — it labels a figure panel with it. The 1 Gbps is not in LIT-302 anywhere. The paper’s low-bandwidth configuration is 10 Mbps, and its bandwidth figure sweeps 1/bandwidth out to 1 Mbps. So the reading turned a tested configuration into a recommended threshold a hundred times higher, which would tell a reader to abandon their parameter server on a network where the paper’s own sweeps put both methods in the flat region.

NOTE-153 places LIT-323’s experiments on “CIFAR-10 and ImageNet”. They are CIFAR-10. It also files the anchor model’s alpha and beta as a variant for non-IID data; the anchor model is the method, and those are its standard settings.

The other three held. LIT-056’s warmup ramp is 75%, 93.75%, 98.4375%, 99.6%, 99.9% exactly as the note says. LIT-254’s exact consensus in log2(n) rounds is in the appendix, verbatim. LIT-315’s O(n^3/s^2) and its 1.7× are in the abstract.

Two of five. Small sample, one direction of query, and a lower bound — I only checked the sentences I needed. DP-004 says what a clean run on the other three is evidence about.

The first loose end cannot be closed and should be struck

LIT-017 and LIT-028 were supposed to have two readings each, with only one filed, and #139 asks for them to be compared. The second readings are not in this repository. They were in the import and were dropped at port time, because notes already existed; data/ is the old anthology, not the incoming batch. There is nothing to compare.

What was possible is the more useful half, so I did that instead: I re-read NOTE-062’s paper. Everything SOTA-198 rests on checks out — the eight domains, the noise scale rising as the loss falls, the independence from training set size. And it turned up the thing this whole session kept turning up.

The contradictions were not contradictions, three times running

#139 named four, called them “the valuable ones”, and every one of them dissolved on contact with the papers. Not because the issue was careless — because the readings were made one paper at a time, and a contradiction between two papers is visible only from a third place.

  • LAMB against Shallue (closed in #146): LAMB cites Shallue approvingly, as its motivation.
  • DiLoCo’s H = 500 against post-local SGD’s 16 to 32: two numbers chosen against different objectives, on schemes that do different things at the synchronisation.
  • SlowMo against SOTA-155: LIT-212’s related work names LIT-373 as where its outer optimizer came from. The record had them filed as rivals; one is the other’s parent.
  • The “duplicated” noise scale: not duplicated. Two different quantities with the same name — and LIT-017 cites LIT-305 for predicting a dataset-size dependence, adding “which we do not observe”.

Four for four. The pattern is worth naming because it will recur: a reading records what a paper says; it does not record what the paper says about the other papers in your record. Related-work sections are where the field does its own reconciling, and they are the part a summariser skips. Three of these four were settled by a related-work paragraph.

What I did to my own drafts, which is the same mistake one level up

I wrote all five practices from the notes first, then went to the papers. Two of the five had to be rewritten — including one whose title carried the 1 Gbps number. Had I filed from the notes and stopped, this record would now carry a threshold that no paper supports, in a title, with a citation that resolves.

The lint cannot catch that, and neither can review. The only thing that catches it is opening the paper, which costs about ten minutes per practice and is the difference between a citation and a claim.


The record held two refinements of a practice it did not hold

2026-09-16 20:23:28 · record

#87 is a checklist of fifteen subjects the record might not cover. Before filing anything I ran the obvious query — does a document mention this? — and the answer reorganised the list.

Several items were stale: paged attention is SOTA-105, continuous batching is SOTA-113, multi-token prediction is SOTA-162, LoRA is SOTA-184, post-training quantization is SOTA-185. Several were total: zero documents for ternary quantization, self-correction, test-time training, QLoRA, LyCORIS, SLAM or structure-from-motion, and — this one is a surprise — for InstructGPT, which is not in the record even as a LIT note.

And one was neither, which is why it is the one I took.

The shape of the gap

Speculative decoding is referenced by six documents here and filed by none.

LIT-185 is EAGLE-3 — a paper whose entire subject is making the draft model cheaper. SOTA-162 recommends multi-token-prediction heads and argues for them partly because “the extra heads are a draft model for speculative decoding you did not have to train separately”, citing a 3x decode speedup. Three model reports name the technique. LIT-217 mentions it in passing.

The thing all six take for granted had no document. Leviathan et al. and Chen et al. were not in the record in any form.

That is DP-007’s second failure mode, stated in the principle as “the refinement filed before the thing it refines”, and it is worth noticing how it happened, because nobody was careless. Every one of those six documents was filed correctly. Each arrived with a name and a claim; each became an entry. Speculative decoding by 2024 had no arrival — it was what the arrivals assumed. DP-007’s warning is that agreement generates no argument and therefore no prompt, and here the record was one query away from saying so out loud and nobody had run the query.

What made it worth filing rather than assuming

Two things, and neither is in the summaries.

The guarantee is exact, not approximate. The draft does not approximate the target’s output; it proposes, and the target decides, under a rule constructed so the composite sampler is unbiased. Leviathan measures against identical outputs. Chen is more careful still — “within hardware numerics” — and that qualifier is the honest version, which is the one the practice carries.

The economics are computable in advance. alpha = E(min(p, q)) is the acceptance rate; c the draft’s relative cost; the walltime improvement is (1 - alpha^(gamma+1)) / ((1 - alpha)(gamma*c + 1)). So “is this draft good enough” and “how deep should I speculate” are measurements, not habits. A practice that said only “use a small model to guess” would have dropped the part that makes it actionable.

One thing I did not repair

Counting adopters for consensus_note, LIT-185’s standing says LIT-135 and LIT-139 “ship the same arrangement”. LIT-135’s note bears it out. LIT-139’s does not — it records multi-token prediction carried over from its predecessor and says nothing about a draft or about speculative decoding.

I checked rather than copied, which is the whole lesson of the last two sessions, and then left it.

While writing this entry I hand-wrote two links to the design principles instead of leaving bare codes for luria link --fix, and the lint caught them — the identical defect I fixed in the 19:20 entry ninety minutes ago and wrote a commit message about. A rule you have just enforced on someone else is not a rule you have internalised. Repairing it means reading DeepSeek-V4’s report, and repairing it without reading would be committing the same error one document further along. It is written into the practice as a finding for #87’s next pass.

The rest of the checklist

Thirteen items remain and are now specified rather than vague. The audit query was “does any document mention this”, which finds absence and cannot find thinness — a subject with one passing mention scores the same as one with a practice. DP-004 says what a clean result on that query is evidence about, and the next pass over #87 should run the opposite one: which inference-optimization and adaptation-and-tuning papers here support no practice at all.


Three trunks in two sessions, and the query that finds them

2026-09-16 20:31:33 · record

InstructGPT was not in this record. Not as a practice, not as a reading, not as a bibliography line. 2203.02155 appeared nowhere.

What is here: DPO, whose title — your language model is secretly a reward model — is a claim about the reward model this paper introduced. Constitutional AI, which replaces this paper’s human preference labels with model-written ones. SOTA-183, which is that replacement filed as a practice. SOTA-126, which tunes DPO’s epoch count. Four documents defined by their relationship to a paper the record did not hold.

That is the third time in two sessions:

  1. Speculative decoding — six documents referenced it, including EAGLE-3, a paper about making its draft model cheaper. Filed an hour ago.
  2. The outer optimizer in local-update training — SOTA-155 prescribed it, LIT-373 demonstrated it four years earlier, and the record had them filed as rivals rather than as parent and child. Fixed in #148.
  3. InstructGPT, here.

Three is enough to stop calling it a coincidence.

Why the filing habit produces this

DP-007 already says it: papers are written about what is new, so the filing habit runs on arrivals. Each of the four documents above arrived with a name and a claim and correctly became an entry. RLHF-for-instruction-following by 2023 had no arrival. It was the thing the arrivals were about.

What I want to add from three instances is that the gap has a signature you can query for, and it is not “what is missing” — you cannot grep for absence. It is:

Which documents are defined by their relationship to something, and is that something here?

A title containing “instead of”, “secretly a”, “without”, “beyond”, or “scaling up” is a document naming its parent. A standing section that opens “filed because three frontier models do X” is naming a practice nobody filed. In all three cases the missing trunk was written down, in the record, inside a document about its own child.

What I filed and what I refused to

LIT-377 and the reading NOTE-161. The reading is full: the three steps, the 1.3B-beats-175B result, the 85% and 73.4% win rates, the alignment tax with the four datasets it shows up on, PPO-ptx, the per-token KL penalty, the single 6B reward model, and the forty contractors the paper is careful to say its notion of “aligned” belongs to.

No practice. The reading carries five recommendations and I filed none of them, which is worth defending because the reflex runs the other way.

R1 is spend on post-training before parameters. R2 is use your own prompt distribution. Both are true, both are load-bearing, and both are now so universal that a document asserting them would say what the corpus already assumes on every page. Filing them would be answering DP-007’s complaint with its own disease — manufacturing entries for agreement, which is not the same as documenting it.

R3 is the live one: mixing pretraining gradients into the alignment objective to pay down the tax. Specific, cheap, measured against a named cost, and genuinely not universally done. It is also close to SOTA-199, which regularizes a narrow fine-tune against the pre-fine-tuning model’s own samples — same failure, different mechanism. Whether those are one practice or two is a real question, and answering it means reading SOTA-199’s source alongside this one. I left it open and said so in the note rather than guessing, because guessing is what put a 1 Gbps threshold in a practice title earlier today.

(And for the third time today the lint caught me hand-writing a link to the design principles instead of leaving the bare code for luria link --fix. Twice is a slip. Three times in one session, each after writing about the previous one, is a habit that prose cannot fix — the rule needs to be the thing I reach for, not the thing I remember.)

What this note does not close

Three more absences in the same lineage, all found while checking this one: Christiano et al. (2017), which is where RLHF actually comes from and which this paper says it follows; Stiennon et al. (2020), which applied it to summarization; and FLAN, which this paper benchmarks against and beats.

InstructGPT is the pivot, not the origin, and a record that holds only the pivot will eventually attribute the idea to it. Naming the three in the note is cheaper than the correction would be.


A third of the literature supports nothing, and the record had already diagnosed one of them

2026-09-16 21:11:02 · record

The reverse query, asked of inference-optimization: which papers here support no practice and no theory?

The topic holds nine LIT documents and the answer was two. But running the same query without the tag filter — across all 312 — gives the number that actually matters:

111 of 312 documents, 35%, support no practice and no theory.

That is the measure of thinness the #87 checklist cannot express. #87 lists fifteen subjects; the backlog is a third of the literature, and the overlap between those two descriptions is small.

The two, and one of them was self-diagnosed

LIT-110, Pope et al., Efficiently Scaling Transformer Inference. Its standing section opened “Nothing in the record cites this note” and then laid out exactly why something should: it is the analytical backing for SOTA-113 (continuous batching), SOTA-115 (prefill/decode overlap) and SOTA-105 (paged attention), all of which source other papers and all of which answer bottlenecks this one located.

Somebody wrote the diagnosis into the record and nothing acted on it. That is a fourth instance of DP-007’s shape in two sessions, with the unusual feature that the gap was already documented — which says the problem is not noticing, it is that noticing produces prose and prose produces nothing. A query produces a list.

LIT-185, EAGLE-3. Flagged by #121 as unsourced and unread, and left that way, until this query put it next to a practice that now gives it a trunk.

The part that cost me something

SOTA-227 — speculative decoding, filed this morning — says the technique is latency-only and that “at a batch size large enough to saturate the arithmetic units the trade reverses”. It then says, in as many words, that neither source measures the crossover and the record holds no measurement of it.

LIT-185 measures it. EAGLE-3 improves throughput by 40% at batch size 64 in SGLang, and says outright that speculative sampling “is often thought to reduce throughput at large batch sizes”. That paper was in the record, Active, when I wrote the sentence. I had even read its standing section that morning — it is where I got the three model reports for SOTA-227’s consensus note.

The claim was wrong in a specific and instructive way. “Neither source measures X” was true and checkable. “This record holds no measurement of X” was a claim about the whole corpus, made without querying the corpus, in a document whose entire subject was a gap found by querying the corpus.

The practice now says to measure the crossover rather than assume its sign, and records where the counter-measurement came from.

What the number means for the next pass

35% is not a defect rate. Plenty of those 111 are model reports and benchmarks, which under ADR-032 are admissible precisely because they feed consensus rather than source, and which are correctly unsourced. Filing a practice from every one of them would be the manufacturing-entries-for- agreement failure that LIT-377’s reading argues against.

What the number is good for is ranking. A method paper that supports nothing is a candidate; a model report that supports nothing is doing its job. The query that separates them is the one worth building next, and it is not hard: the tags already distinguish them, and ADR-032 already says which is which.

One more thing this pass turned up without looking for it. LIT-039 — Gradient Flow in Sparse Neural Networks and How Lottery Tickets Win — was tagged inference-optimization, and its only citer is THEORY-004, a lottery-ticket account. A paper about why pruning works is analysis, not serving advice. Retagged. It was visible only because the tag-filtered query listed the topic’s members, which the unfiltered query would not have done — so both shapes of the query earned their place, which is not what I expected when I ran the second one to correct the first.


The record named the missing check three times before anything asserted it

2026-09-16 22:14:26 · tooling · provenance

The query I had promised turned out to be unanswerable, and the query that replaced it found something the record had already written down three times.

The dead query

I proposed, in the last pull request, to build the query that separates method papers from model reports. ADR-032 names the discriminator and it is not a frontmatter field: a paper that deliberately carries no practice says so in its own body, and both exemplars open their standing section with the same bold phrase. So the ranking is a text search, which is fine — except that of the 109 notes supporting no practice and no theory, exactly two write it. Both are the exemplars ADR-032 itself cites.

A convention with two adopters out of the 109 documents it was written for is not a signal to rank on. The honest finding is about the convention rather than about any paper, and it is now on the record here rather than dressed up as a result.

Corrected 2026-09-17. The count of two is right and the identification is wrong. Three documents write the phrase — LIT-019, LIT-039 and LIT-055 — and the two named here are not in the unsourced 109 at all, because they are sourced by THEORY-002 and THEORY-004. The pair the query actually found was LIT-055 and LIT-095, the latter on a lowercase prose variant rather than the convention. The paragraph below stands; see the entry of 2026-09-17 for why the convention is in better health than this reads.

The query that replaced it, and what my first shape could not see

Splitting the same 109 by how they are actually used:

bucketnwhat it means
declared2says it carries no practice, deliberately
prose-cited15load-bearing in a practice’s body, the source of none
read-only77has a reading; nothing refers to it
inert15not even a reading

The prose-cited bucket only exists because the first version of the query was wrong in a way it could not report. I had grouped by the source, introduced_by and contested_by fields, which is correct at the field level and blind to the level that matters: SOTA-208 leans on LIT-033 at line 92 of its body and names it in no field at all. DP-004 on my own pass — the query found only the defect it was shaped like, and the fix was to widen the shape rather than to trust the count.

And the prose-cited bucket is not a backlog either

I read the fifteen expecting a filing gap, on the reasoning that a paper carrying a practice’s argument ought to be in its source:. None of them is a gap. Every one is doing the job prose citation exists for:

The reading was not merely wrong, it was backwards, and SOTA-132 says so in its own history: “Under ADR-017 adoption without a test is evidence about the field, so LIT-131, LIT-135, LIT-136 and LIT-183 move to a consensus_note.” An earlier pass took those four out of source: on purpose. My query then reported the result of that decision as a defect.

DP-004 twice over in one afternoon, and the second time sharper than the first: the query was shaped as unsourced implies missing, and in this record unsourced is the CORRECT state for adoption evidence, for an ancestor, for a rejected position and for a lineage step. A pass finds only the defects its query is shaped like — and a query shaped like a defect that is not one returns a worklist made entirely of correct filings.

Which retroactively explains the two-of-109. ADR-032’s declaration is written for a situation so ordinary that almost nobody feels the need to announce it. The convention is not neglected; it is answering a question the record does not find pressing. “Supports no practice” is not a defect signal here, and that, rather than any list of papers, is what this line of querying actually established.

What the inert bucket turned up

Three pairs of notes sharing one arXiv identifier: LIT-006/LIT-042, LIT-029/LIT-114, LIT-090/LIT-105. None is a defect: every one is already retired, pointing at its survivor, with the reason written into the body.

What is worth recording is that all three stop to name the same missing check, in three documents written weeks apart:

  • “two documents can name one source and the lint stays clean” — LIT-105
  • “no check in the record compares identifiers across notes” — LIT-029
  • “a paper has one standing, and two notes for it is a data error rather than a difference of opinion” — LIT-006

Each names LU-#165, open since 5 September. A fact the record writes down three times, in three places, at three different moments, is one the tooling should be asserting — and I only found the pattern because a query about something else happened to land on all three at once.

What was built

unique: in luria (LU-ADR-111, released in 0.27.0), and this record declares it on the source field group. The pin and the declaration move in the same commit deliberately: I checked, and 0.26.0 silently ignores the key and lints clean, so landing the declaration first would have given this record a constraint nothing checked — an absence reading exactly like a success, which is the failure the check is partly there to prevent.

The design point that makes it usable: a duplicate retired naming its survivor is the resolution, not the finding. Retire-by-status means a correctly-handled duplicate is still here, still holding its identifier, so a naive check fires on every pair this record has already answered and makes the answer look like the defect. The check clears on the superseded_by: pointer rather than on a status — and LIT-090/LIT-105 is why, because there both notes are Rejected, the survivor for its own unrelated reasons. All three pairs pass with no directive.

Fired before trusting, twice

The check reports zero on this corpus, which is indistinguishable from a check that cannot run. So: remove the superseded_by: pointer from LIT-105, leave its Rejected status untouched, and it names exactly LIT-090/LIT-105; restore the pointer and it clears.

Run twice on purpose. The first was against the development checkout, which proves the source is right and not that the artifact is — the released wheel is a different thing, and it is the thing CI installs. The second was against luria==0.27.0 from PyPI in a clean environment, and only that one licenses the pin.

The trap I walked into anyway

Writing the decision in luria, I cited DP-2 and DP-15 from memory and both were wrong. luria and this anthology each keep their own design principles under the same DP- prefix, and I had written this record’s numbering into that one — luria’s DP-002 is about contribution locks, not about a uniform field carrying no information. Caught by opening the files rather than by any check, since both codes resolve perfectly well; they simply resolve to other principles than the ones the sentences described.

The right ones turned out to make the argument better than the invented ones would have. luria’s DP-010 says a check defaults ON, which the opt-in design owes an answer to, and having to write that answer produced the follow-up worth having: uniqueness over the fields a remote already resolves, which needs no declaration at all.

Nothing in either record’s lint can catch this class, because a cross-record citation from memory lands on a code that exists. The only defence is the one that worked: open the document before quoting what it says.


An empty category that looked full, and the reading waiting on it

2026-09-16 23:09:31 · curation · scope

Auditing the open issues for which could be closed, and #88 — should we include practices which we know shouldn’t be adopted? — looked like the easy one. Eighteen practices carry Rejected. The record plainly already does this; write that down and close the discussion.

That was wrong, and reading the eighteen is what showed it.

All eighteen mean one thing

Every one of them is a migration provenance failure — the source does not support the claim — and not one is a technique somebody tried and abandoned:

  • SOTA-041 states the opposite of its source; Kaplan reports larger models need a smaller rate.
  • SOTA-064’s cited paper does not contain the word “warmup”.
  • SOTA-101’s source performs no filtering; the string “filter” does not appear in it.
  • SOTA-107’s 128 is a head dimension or a block size in every occurrence, never a sequence length.

So the category #88 asks about — this was recommended, people did it, it did not hold — is empty, and the eighteen are not evidence that it is full. They are eighteen instances of a different thing wearing the same word.

What makes the mistake instructive rather than embarrassing: the count was right, the status was right, and the conclusion drawn from them was wrong. Nothing short of opening the documents would have caught it. A status field tells you a judgement was made and not what the judgement was about.

The reading list does not have this gap

The same query over LIT reads completely differently. LIT-044 is retired for “needs per-case tuning, no consistent cross-domain benefit”; LIT-041 for “the result does not look interesting enough to carry”. Those are judgements on the merits.

So the record has been judging papers by whether they hold up, and has never once judged a practice that way. That asymmetry is the finding, and it is invisible from either scheme alone — you have to run the same question over both and notice the answers disagree.

And something was already stuck on it

LIT-104 is ReLoRA, which is #88’s own worked example. It is Proposed, nothing sources it, and its note says exactly why:

It is unfiled because the paper’s own status is Proposed: the record has not settled whether ReLoRA-style restarts belong in it at all, and filing the restart discipline would answer that question sideways.

A reading was done in #121, a specific finding came out of it — restarting an adapter mid-training needs the optimizer state reset and the rate re-warmed, and the pair without the re-warm diverges — and it has been sitting unfiled waiting for a discussion issue to resolve. The decision is not housekeeping; it unblocks work already done.

What the decision turns on

The condition worth arguing with is the third one: a refutation needs a citation exactly as a recommendation does. DP-001 makes the citation structural for a recommendation, and without the same rule for a rejection the category fills with folklore — “everyone knows that didn’t work” is precisely the claim DP-007 says has no author, and filing it would put a status field on a rumour.

The consequence accepted in exchange: Rejected on a practice will now cover two situations, never supported and supported and overturned. A new status word was the obvious fix and was rejected — the vocabulary is closed and read by the whole toolchain, and status_note: already carries the distinction in prose on all eighteen. A field that said the same thing uniformly would be DP-002’s comment with a schema.


A title that stated the claim its own body refutes, and a convention in better health than I reported

2026-09-17 00:25:12 · curation · provenance

Asked how the record stood on fine-tuning, and specifically whether it had a zero-init practice and a LoRA practice. It has both, and both were better than expected. What the check turned up instead was a defect in one of them and a mistake of mine in the other direction.

The zero-init practice states the weaker claim

SOTA-051 is the zero-init practice, and it is a good document. It already unifies three things the record holds separately: ReZero’s zero-initialised residual scalar, ControlNet’s zero convolutions, and the B matrix of LoRA. The argument it makes is sharp — a small random initialisation makes the branch probably harmless; an exact zero makes it provably the identity — and it draws the line where it matters, at a branch attached to a model that is already expensively trained.

Its title was “Initialize final layer weights near zero”, and the body says so itself: “the distinction worth holding is the one this practice’s own title blurs: zero is not ‘near zero’.”

A document that names the defect in its own title and leaves it there is worth stopping on. The cost is not cosmetic. The registry is browsed by title, so a reader looking for the exact-identity rule was searching for the one phrase this practice had been filed under the negation of. Retitled to state the claim the body argues.

Two smaller things fell out of opening the file, neither of which any check would have found:

  • The version: 3 history entry consisted of the single word “The”. It had been truncated at some point and the lint has nothing to say about a history note that parses as valid YAML and means nothing. Completed from the source comments and the diff it describes.
  • The summary: was a bare citation line — the field was present, so nothing reported it, and a reader of the index got the authors and no claim.

The convention is in better health than I reported

Yesterday’s entry says two of 109 unsourced notes write “Carries no practice, deliberately.”, and names LIT-019 and LIT-039 as the two. The count was right and the identification was wrong, which is the more embarrassing half — I read the exemplars out of ADR-032 and asserted they were what my own query had found, without printing the bucket.

Printing it: the two were LIT-055 and LIT-095, the second on a lowercase prose variant rather than the convention at all. And LIT-019 and LIT-039 are not in the unsourced 109, because both are now sourced — by THEORY-002 and THEORY-004.

That reverses the conclusion rather than adjusting it. I read a two-of-109 as a convention nobody adopted. What it actually shows is the scheme split working: ADR-032 let a paper say it carries no practice, ADR-031 then created somewhere for such a paper to carry an explanation, and two of the three papers that had declared themselves practice-free turned out to be theory sources. A paper carrying no practice is not thereby carrying nothing.

The general lesson is narrower than DP-004 and worth stating on its own: a count is not an identification. Both times I have been wrong about this corpus in two days, the number was right and the documents behind it were not the ones I named.

What the fine-tuning question actually surfaced

LIT-046’s practice, SOTA-184, says to train a low-rank update to each weight matrix. The LoRA paper’s experiments adapt the query and value projections. Those are not the same instruction, and the gap between them became the industry default without anyone measuring it.

QLoRA measures it, which is the more useful half of a paper filed under a memory headline: query/value alone does not replicate full fine-tuning on large base models, the count of adapted matrices is what closes the gap, and the projection rank — the hyperparameter people search — is flat across the sweep. The two knobs trade places against the usual habit.

Worth trusting because they re-tuned the baseline too, searching learning rate 1e-6 to 5e-5 and batch 8 to 128 rather than taking the published default. An undertuned baseline is exactly how a placement default survives unexamined: it makes the incumbent look adequate by weakening what it is compared against.


Two branches of one decision, and a paper whose headline result is about hardware that does not exist

2026-09-17 00:35:47 · curation · scope

The ternary box on #87 had nothing behind it — no BitNet, no ternary anything, and the only 1-bit matches in the record were 1-bit Adam gradient compression, which is a different subject wearing the same number.

Filing it turned out to be less about ternary weights than about a shape the record was missing.

The record had one branch of a two-branch decision

Every quantization practice here acts on a finished model. SOTA-185 compensates rounding error into the columns not yet quantized; SOTA-163 chooses the block-scaled format to round into. Both assume there is something to compress.

The other branch — decide the serving format first, train in it, never hold a high-precision checkpoint — was not represented at all. That is a more interesting gap than “we are missing BitNet”, because it is a gap in the shape of the advice rather than in the list of papers.

What made it worth filing rather than noting

The two branches would be a matter of taste if the costs were symmetric. They are not, and the record already held the asymmetry without anyone putting the two halves together.

LIT-186, Scaling Laws for Precision, reports that post-training quantization damage grows with the number of training tokens — far enough that additional pretraining data becomes actively harmful for a model destined to be quantized. SOTA-160 already encodes that as “treat the token budget and the quantization plan as one decision”.

So the post-training route has a cost that rises exactly along the axis the field keeps pushing. The from-scratch route does not pay it — there is no compression step to be damaged by. Neither paper cites the other; the tension is the record’s to notice, which is the kind of thing DP-007 says nobody is prompted to write down.

The discipline the paper forced

Its strongest claim is that matrix multiplication reduces to integer addition, which is where the energy argument lives. That is true of the arithmetic and not of the machines: it assumes kernels and eventually silicon built for ternary operands, and the paper is candid about it — it “opens the door for designing specific hardware”.

So the practice separates two things the abstract runs together:

  • Measured on hardware you can buy: weight memory and bandwidth. 2.22GB at 3B, 3.55×; at 70B on two A100s, batch ceiling 16 → 176 and throughput 333 → 2977 tokens/s.
  • Argued, conditional on hardware: the disappearance of multiplication, and the energy saving that follows.

Filing the second as though it were the first would have recorded a roadmap as a result. It is the rare paper here whose headline is a claim about hardware that does not exist yet, and the note says so rather than letting the number stand unqualified.

The condition that is a result, not a caveat

It matches FP16 from 3B, and the table says why that is phrased carefully: 700M is 12.87 against 12.33, 1.3B is 11.29 against 11.25, 3B is 9.91 against 10.04. Behind, level, ahead.

A reader taking this to a small model is outside the evidence and the error does not favour them. That crossover belongs in ## Conditions as a number, not in prose as “results may vary” — the difference between the two is most of what a practice is for.

Filed Proposed, and the promote_when: is the useful part

One group, one architecture, nothing at the frontier trained this way. The lint refuses a Proposed practice with no promote_when:, which is a good refusal: it makes you say in advance what would change your mind.

What would promote it is a second group training at or above 3B in any low-bit format from scratch and matching full precision at equal tokens — the architecture need not be ternary, because the claim is about deciding the format before the run. What would not: a better post-training method (the other branch), a ternary model below 3B (outside the evidence), or ternary kernels shipping (which strengthens the compute argument without testing the training claim).


A negative result worth filing for its definition, and a rhyme the record could not have noticed from one side

2026-09-17 01:11:40 · curation · scope

Self-correction was a box on #87 with nothing behind it — the record’s only match was LIT-082 (Constitutional AI) on the string “self-improvement”, which is AI feedback and a different thing. Filing it turned into a small lesson about what a negative result is for.

Two papers, filed as a pair because either alone misleads

LIT-382 reports that models cannot self-correct reasoning. Filed alone it reads as a closed door. LIT-383 (SCoRe) reports that training produces self-correction. Filed alone it reads as a solved problem and its numbers lose their meaning, because a 15.6% gain on MATH is only interesting against a baseline somebody established as not working.

Together they are a trunk and its resolution: asking fails, so stop asking and train. Neither paper disputes the other — SCoRe opens by conceding the negative result, which is the tell that they belong in the record as one filing.

The definition outlives the result

What makes the negative paper worth holding is not the measurement. It is the term intrinsic self-correction: revision on the model’s own capabilities, with no oracle, no verifier, no second model in the loop.

That line is the useful instrument, because a great deal of the literature it was written against is on the other side of it. If an oracle says “wrong, try again”, the loop contains information the model did not have, and the gain belongs to that information. So the paper’s contribution is a question to ask of any self-correction claim — was there external feedback? — and that question outlives whether models could self-correct in 2023.

The mechanism, once stated, makes the result unsurprising: with no external signal a model cannot tell its right answers from its wrong ones, so revision is about as likely to overwrite a correct answer as an incorrect one. Where most first attempts are already right, revision has negative expected value.

The rhyme, and why it is not a merge

SOTA-130 already holds the R1-Zero line: skip the supervised reasoning stage, run RL with verifiable rewards on the base model. SCoRe says supervised fine-tuning on correction traces is insufficient and reaches for multi-turn online RL. Same shape — a supervised stage failing a reasoning-adjacent capability, online RL replacing it.

The temptation is to treat that as one practice. It is not, and the difference is the interesting part: SOTA-130 reports that skipping SFT works, and SCoRe reports why fitting offline traces fails. Two mechanisms, named and separated — distribution mismatch (the traces carry someone else’s mistakes) and behaviour collapse (training settles into a correction mode that scores on training prompts and does not correct at test time).

A reader with only the first knows that a thing happens. The mechanism is what transfers to capabilities neither paper studied, and it would have been lost by merging them.

Worth noting the record could not have seen this rhyme from either side alone. It needed a paper filed today to make a practice filed weeks ago legible as an instance of something more general — which is the direction DP-004 usually runs the other way.

What was deliberately not filed

The two-stage recipe. SCoRe’s method is an initial multi-turn RL phase for a collapse-resistant initialization, then a reward bonus amplifying correction — reported on two Gemini models by one group. The practice records the choice of intervention, which the evidence supports, and not the schedule, which would be a recommendation built on a single set of experiments.

Also not filed, because nothing measures it: self-correction spends extra decoding on every attempt. A capability that buys 15.6% while doubling the tokens is a different trade from a free one, and neither paper prices it. The practice says so rather than leaving a reader to assume the gain is free.


The last two boxes were the same question, and one of them was a name collision

2026-09-17 01:24:41 · curation · scope

Closing out #87. Two topics left, and neither was quite the thing the checkbox said.

Test-time training names two different things

The box said “test-time training”. Two papers answer to that name and they are not related:

  • ARXIV-2411.07279 — temporarily update the model’s parameters at inference using a loss built from the test instance’s own examples, then discard the update. An adaptation method.
  • ARXIV-2407.04620 — a sequence layer whose hidden state is itself a model, updated by self-supervised learning as tokens arrive. An architecture, belonging beside SOTA-132 and SOTA-167 in the linear-attention line.

Filing the second under a box labelled “test-time training” would have put it in the wrong lineage, where the record’s own chain machinery would then bind it to the wrong neighbours. So the first is filed and both documents say explicitly that the other exists and is a different claim. A name collision that nobody records is one the next reader re-discovers.

The interesting result is the unglamorous benchmark

ARC is where the headline lives — 6x fine-tuned baselines, 53.0% at 8B, 61.9% ensembled. But ARC is built to reward search over structurally novel tasks, which is precisely the regime this method is defined by, so a large gain there is close to restating the definition.

BIG-Bench Hard is the load-bearing number: +7.3 points at 10-shot on ordinary hard reasoning. That is what says the effect is not an artifact of a benchmark constructed to reward it. The practice weighs them that way rather than leading with the bigger figure.

Underneath is a claim about in-context learning rather than about TTT. The examples are identical in both conditions; used as gradient they are worth several times what they are worth as context. So the shortfall is not missing information in the prompt — a forward pass cannot extract what is already there when the task is unfamiliar enough.

Both remaining boxes were one question

Diffusion conversion and the ternary work filed earlier today are the same decision about different artifacts: build it that way from scratch, or adapt something you already have.

  • Generative paradigm — SOTA-157 trains as masked diffusion; the new practice converts an AR model for under 200B tokens.
  • Quantization — SOTA-185 and SOTA-163 compress a finished model; the ternary line trains in the target format.
  • Adaptation — SOTA-123 pretrains a tiny model from scratch on the target distribution rather than fine-tuning one.

Three instances, and no document in the record names the shape. That is what DP-007 predicts of a pattern everybody uses and nobody introduced — there is no arrival event, so nothing prompts anyone to write it down.

Deliberately left unfiled. It would be a THEORY rather than a practice, because it says what is true about a family of decisions rather than what to do in any one of them; and noticing a shape three times in one afternoon is a reason to write the observation down, not yet evidence that it generalises. The right move is to record it here and see whether a fourth arrives.

A mistake caught by the lint, not by me

I cited SOTA-234 — the ternary practice — from these documents. It lives on a sibling branch that has not merged, so the code resolves to nothing here.

Temporary codes are branch-local by design (LU-ADR-049): they exist so that no branch claims a number before merges serialise. Citing one branch’s temp code from another is therefore always wrong, and it fails in two ways at once — dangling now, and stale later when concretize turns it into a number the prose does not carry.

The lint caught it twice over, as an unresolved code and as two broken relative link targets (45 on main, 47 on the branch). The fix was to describe the sibling work without citing its code. Worth recording because the error is invisible while you are writing: both branches are in the same working tree and the code reads perfectly well.


A gap in the shape of the advice, and an issue whose first step I had written without reading the documents

2026-09-17 01:46:54 · curation · scope

Took #154, the geometry line split out of #87. Two things to record: what the gap actually was, and that the issue’s own first step was wrong because I wrote it without opening the documents it named.

The gap was a dependency, not a topic

The record recommends how to represent a reconstructed scene — SOTA-205, from Instant-NGP, K-Planes, 3D Gaussian Splatting and NeuS2 — and held nothing about how the scene got reconstructed. So a reader arriving with a pile of uncalibrated images found four papers that assume the camera poses they came to ask about.

What makes the filing interesting is that the missing half is not a parallel topic. It is a dependency order. Classical multi-view reconstruction needs calibration and pose first because triangulation is defined in terms of them — DUSt3R’s words: “mandatory to triangulate corresponding pixels in 3D space, which is the core of all best performing MVS algorithms”. The stages are not a decomposition anyone chose; each exists because the next cannot start without it.

So the practice is an inversion rather than an alternative: regress the structure, and recover matches and cameras from it. Two things fall out that the classical framing cannot express — monocular and multi-view become one problem with different amounts of evidence, and the projective camera model stops being a constraint to satisfy and becomes a property the answer has.

The first step of my own issue was wrong

#154 proposed, as its cheapest work, extracting practices from LIT-111, LIT-107 and LIT-113 — three vision notes that are read and source nothing.

All three had already been audited by #121 and deliberately left unsourced, each with its reason written into the note:

  • LIT-111 — its transferable claim is “the same decision SOTA-205 already files from four sources, arrived at for pose rather than for rendering.”
  • LIT-113 — adoption rather than an independent result, so ADR-017 puts it in consensus_note and not source:.
  • LIT-107 — declined on a narrow ground worth quoting: “the record’s evaluation practices are about what to measure, and this is about how to present it. That may be a gap in the topic rather than in the corpus.”

I wrote that step from the query — read, unsourced, therefore unextracted — without opening the standing sections. It is the same error as the one on 2026-09-16, when I read a bucket of unsourced notes as a backlog and found every one correctly filed. Twice now, “unsourced” has looked like a worklist and been a set of decisions.

The difference this time is that I wrote the mistake into a GitHub issue, where it would have sent the next person to re-derive three determinations that were already made and recorded. Corrected on the issue rather than quietly dropped.

One of the three leaves a real candidate behind, and it is worth keeping visible: LIT-107’s “report a frontier, not a winner” was declined for a topic reason, not an evidence reason, and LIT-156 is a second in-record source for the same lesson. Two sources and a stated blocker is a different thing from a gap.

What I did not file

The matching line — SuperGlue, LoFTR, SuperPoint — which is the other half of the classical pipeline and is still absent. It is a coherent follow-up rather than part of this claim: DUSt3R and VGGT make matching an output, so the papers that made it a better input belong to the line they superseded, and filing them well means saying what they were for.

Also not filed: the architectures, and VGGT’s “under one second”. The first dates immediately and the second is hardware-bound. What the practice records is the choice available to somebody holding uncalibrated images, which is what survives the specific network.

The condition that took the most thought

emerging, not converged, and the reason is not caution about the measurements. A triangulated point carries a geometric justification and a residual you can inspect; a regressed pointmap carries neither. Wherever a reconstruction has to be certified rather than merely used — survey, metrology, anything with a tolerance — that difference is the entire question, and neither paper addresses it. A practice that said “predict it directly” without that condition would be right about benchmarks and wrong about the jobs where the classical pipeline is load-bearing.


Three removals, each justified by a failure the previous framing could not express

2026-09-17 04:38:37 · curation · scope

Finished the geometry line for #154 by filing the matching stage — the half I deliberately left out of the first pass, on the grounds that DUSt3R and VGGT make matching an output, so the papers that made it a better input need saying what they were for rather than appending to the practice that replaced them.

Having written them, the line reads better than I expected, and the reason is worth recording.

It is three removals, not three improvements

  • LIT-386 (SuperGlue, 2019) removes the hand-designed matching heuristics — the ratio test and its relatives — and learns assignment costs with a GNN solved by differentiable optimal transport. Keeps the detector.
  • LIT-387 (LoFTR, 2021) removes the detector. Dense coarse-to-fine matching with cross attention.
  • LIT-385 and LIT-384 (DUSt3R 2023, VGGT 2025, SOTA-236) remove matching as a stage. Predict geometry; recover correspondence from the output.

What makes it a line rather than a sequence of better numbers is that each removal is justified by a failure the previous framing could not state. SuperGlue makes matching learned and strong, which is what makes it possible to notice that the remaining weakness is upstream. LoFTR names it: detectors “struggle to produce repeatable interest points” in low-texture areas, and a matcher cannot recover a correspondence that was never proposed. Once the detector is gone, matching is a stage with nothing protecting it either.

The transferable claim is about staged systems

LoFTR’s mechanism is that descriptors become conditioned on both images — self and cross attention mean a location’s representation depends on the image it is being matched to.

A detect-then-describe pipeline structurally cannot do that. Description runs per image, before any pair exists, so a descriptor must be a summary useful against every possible partner. It is conservative by construction, and the cost of that conservatism is invisible while the stage exists, because nothing in the pipeline can measure what a less conservative descriptor would have bought.

That is the sentence worth keeping, and it is not about vision: a stage computed before its consumer exists must be conservative, and the price only becomes legible once the stage is removed. The record has the same shape at SOTA-227, where draft-and-verify replaced hand-tuned decoding heuristics.

A practice filed converged on one source

SOTA-237 rests on one paper for its recommendation, which by the usual rule would make it unreplicated.

Filed converged on structural grounds instead: SOTA-236 records systems that remove the matching stage entirely and recover correspondence as an output. That step only makes sense if the detector was already gone — the later line presupposes this one. Agreement by presupposition rather than by replication, which is a kind of evidence the consensus vocabulary does not have a word for and which the consensus_note has to carry in prose.

Worth flagging as a possible gap in the vocabulary rather than quietly using the nearest word. The reason I did not reach for unreplicated is that it would be actively misleading — it implies nobody has tested the claim, when in fact a whole subsequent literature is built on it holding.

SuperGlue carries no practice, deliberately

Its claim was overtaken twice in eighteen months. Filing it live would recommend the middle step of a line whose end the record holds.

But filing nothing would have left SOTA-236 as a conclusion with no argument — a reader would see “predict geometry directly” with no account of what was tried first or why it stopped. ADR-032’s convention covers exactly this: a paper admitted for what it establishes rather than for what it recommends.


A worklist that described its sampling frame, and a convention whose origin the record did not hold

2026-09-17 11:10:34 · curation · provenance

Took #137, the benchmark backlog. Three things came out of it: the issue’s priority order is wrong in an instructive way, one of the benchmarks turned out to be a trunk, and the three questions the issue asked to have decided while filing now have answers.

The worklist described the sweep, not the corpus

#137 ranks candidates by how many of twelve evolution-strategies papers cite each — GSM8K at 9, Qwen2.5 at 4, HybridFlow and MBPP at 3. A sensible proxy, and the issue says so.

Counting against the record instead gives a different order:

benchmarkdocumentspractices
GSM8K306
MMLU156
HumanEval125
Countdown153
MBPP63

MMLU ties GSM8K on practice count and does not appear on the issue’s list at all, because it is not an evolution-strategies benchmark and the sweep could not see it. The list was a faithful description of its sampling frame and a misleading description of the corpus — DP-004 applied to a worklist rather than to a defect hunt, which is a use of it I had not met before.

The lesson generalises past this issue: a backlog inherits the shape of whatever query produced it, and re-deriving it against the current record before working it costs one script.

A count I nearly believed

My first pass put AIME top with 40 documents and 11 practices, which would have reordered everything again. -i plus no word boundary: “AIME” was matching “aimed”. Case-sensitive, it is 5 and 2.

Third time today — VeRA matched “average”, RANSAC matched “transactions”, now this. The pattern is specific enough to name: short uppercase acronyms grepped case-insensitively will match inside ordinary words, and they are exactly the tokens a corpus audit reaches for.

The benchmark that was a trunk

SOTA-210 recommends reporting pass@k alongside pass@1, and says to “use an unbiased low-variance estimator … LIT-234 uses the standard one”.

The standard one is Chen et al.’s, and so is pass@k. Section 2 of the Codex paper opens by “defining the pass@k metric”, gives 1 − C(n−c, k) / C(n, k) over n ≥ k samples, devotes an appendix to it, and makes the variance argument SOTA-210 had compressed into a clause.

So the record recommended a metric and an estimator whose defining paper it did not hold, citing instead a paper that uses them. That is DP-007’s trunk in its purest form: the convention is settled enough that nobody was prompted to file its origin. The practice now carries the citation; the recommendation is unchanged.

Worth noting this is the second trunk found by filing something that looked like housekeeping, after InstructGPT. Benchmark backlogs are not low-yield, they are low-looking.

The three questions #137 asked to have decided

Does a benchmark note get a Standing section, or is “cited by X” the whole standing? It gets one, and it does different work than a method paper’s. A method paper’s Standing argues about influence; a benchmark’s records what a result on it bounds — what it measures, what it is insensitive to, and what a practice resting on its numbers may not conclude. That is the thing the issue itself identified as unsayable, and it is prose, not a count.

Do saturated benchmarks get retired? No. Saturation is a fact about the instrument, not a judgement that the document was wrong, and Rejected on a LIT would break the standing of every practice arguing on its numbers. GSM8K and MMLU are both effectively saturated and both filed Active, with saturation recorded under what they are insensitive to — which is where a reader needs it, because the question a saturated benchmark raises is “what does a two-point delta mean now”, and that is an insensitivity.

How do benchmark notes interact with the contamination practices? The benchmark note is the right place for its own exposure, because contamination is a property of a dataset and a date. GSM8K’s note says it has been published and quoted since 2021 and is in the training data of anything trained later, and points at SOTA-129, SOTA-164 and SOTA-197 rather than restating them.

One filing decision worth defending

Only HumanEval got a NOTE. I read its full text, for the estimator section; GSM8K and MMLU I read as abstracts.

ADR-032 permits a benchmark with no reading note and ADR-025 makes absence mean unread, so filing three notes of visibly uneven depth would have been claiming three readings and doing one. The asymmetry is the accurate record.


A caveat I did not write, an incumbent nobody filed, and the axis the data practices were missing

2026-09-17 17:34:22 · curation · scope

Followed the benchmark filings into the data topics, on the reasoning that what you filter and mix for is decided by what you measure. Three things came out, and the first is a caveat that turned out to be wrong.

The bridge I expected, and why I did not build it

Four data-pipeline practices argue on a named benchmark, and SOTA-170 — the record’s central filtering practice — rests on MMLU: “improves MMLU by 5.6 over DCLM” at short horizon, “matches DCLM on MMLU” at long horizon.

I had just filed MMLU’s note recording that it is saturated. The obvious move was to add a bound: a filtering decision validated on a saturated benchmark is validated on nothing.

Then I read the numbers. Those are 8B models at 1T and 15T tokens, with five-point MMLU deltas. That is well inside MMLU’s discriminating range — saturation is a frontier-model phenomenon and these ablations are nowhere near it. Worse, MMLU is a breadth instrument, and SOTA-170’s claim is that a less aggressively filtered corpus retains four times the unique tokens while matching on quality. Breadth is exactly the right instrument for that claim.

So the caveat would have been wrong twice over, and the benchmark note’s real service was letting me check rather than letting me write. A bound worth stating and a bound that applies are different things, and the note is what makes the difference checkable — which is what ADR-032’s “what a result on it bounds” is for. It is also the third time in two days that a thing I expected to find wrong was right on inspection.

The incumbent nobody filed

The record held SOTA-166 — set data proportions by fitting a mixing law, from 2024 — and did not hold DoReMi, from 2023, which that literature measures itself against everywhere.

A quieter version of the trunk problem than DP-007’s usual case. Not a technique nobody wrote down, but one that arrived early enough to become the baseline everyone assumes, so the successor gets filed as news and the incumbent never does. Worth watching for: where the record holds a method whose own paper frames it as an improvement, ask what it improves on.

The two are not rivals and the practice says so. A mixing law is a predictor over mixtures — costs runs to fit, and in exchange optimises for any target you can name. DoReMi is a producer of one weighting — costs a reference and a proxy run, names no target, gives robustness instead of optimality.

The objective is the paper

DoReMi stated as “Group DRO over domains” does not work, and the paper says why:

a naive worst-case approach would upweight the domains with the most noisy data, as every domain has a different optimal loss (aka, the entropy)

Worst-case loss selects for the hardest domain, and the hardest domain is usually the noisiest. Optimising worst-case excess loss — the gap against a reference model — converts “which domain is hard” into “which domain has headroom”. The reference model exists solely to supply that subtraction, which is why the method has three steps and why skipping the first is not a saving.

The general form carries past data mixing: a worst-case objective over heterogeneous groups selects for irreducible difficulty unless you subtract a per-group baseline. Any minimax over domains, tasks, languages or users has the same failure and the same remedy.

The axis that was missing

Twenty-six practices carry data-pipeline. They answer what to include (filtering, deduplication) and in what proportion (mixing laws, online reweighting, DoReMi now). None answered in what order.

The word “curriculum” appears in five practices and every one of them is about training stages — pretrain, SFT, RL. That is ordering the objectives. Ordering the data is a different axis, and the vocabulary invites collapsing them, so the new practice states the three apart explicitly: reweighting changes how much, ordering changes what comes before what, staging changes which objective is running.

Filed Proposed, because the evidence is in continual-pretraining and fine-tuning regimes and the money is in pretraining from scratch — and because identifying skills and their prerequisites is itself work the practice should not pretend is free.


Dropout was missing, and the reason it was missing is the reason it was missing everywhere else

2026-09-17 17:40:57 · record

The report was that the anthology had no dropout. It was correct and it was worse than it sounded: no practice, no explanation, and not one of the 327 notes was about the paper. The word appears in 22 documents. Ten of them are the federated and decentralized literature, where “dropout” means a node failing — a different word that happens to be spelled the same. The other twelve mention the regularizer, every one of them in passing: an operation a fused kernel has to cover (SOTA-088, SOTA-114, SOTA-081), one sequence parallelism shards (SOTA-058), a rate somebody set (LIT-119), a training choice that turned out to correlate with modularity (LIT-031), a source of noise that complicates an objective (LIT-241). Twelve mentions, zero citations, because until now there was nothing to cite.

The explanation offered was wrong, and the true one is worse

The report came with a hypothesis: that this should have been caught by the import from dmarx/anthology-of-modern-ml, which does hold dropout — and holds Baldi and Sadowski, Gal and Ghahramani, and the batch-norm/dropout variance-shift paper besides, under the headings dropout, dropout as ensemblification, and batch-norm and dropout in tug-of-war.

There was no such import. The history has exactly one bulk import, the pre-migration YAML in data/ — 119 papers, 2014 through 2023, ADR-008. Every paper since arrived one reading at a time. The connection to anthology-of-modern-ml is a link in the README, added by #98 in the same change that read the vision and generative cluster, and nothing was ever taken across it. The two repositories have been adjacent and disconnected for the whole life of this one.

Worth being exact about why the confusion is reasonable: #98 was a pass over a large inherited cluster, it was recent, and it touched the README. It looked like an import from the outside, and the commit it produced is the only place the other anthology is named. But the corpus it read was the one already here.

So the gap was never a dropped item from a queue. Nothing had ever put dropout in a queue. And that is DP-007 exactly: the filing habit runs on arrivals, agreement has no arrival, and the twelve passing mentions are what the absence looks like from the inside — twelve authors each assuming the reader knows, which is precisely the signal the principle says you cannot find by reading what is here.

The LIT-119 mention is the sharpest version. A 2026 model report reaches for dropout 0.1 under heavy repetition of a small corpus, the record filed that note, and the record still had no dropout. The refinement filed before the thing it refines, in the principle’s own words.

What the reading changed

Two things I expected to confirm and did not.

The practice is conditional, and the 2014 paper is where the condition is measured. I expected §7.4 to support “dropout helps small-data regimes”. It supports something stricter and more useful, because it reports both edges: on MNIST at 100 and 500 examples dropout gives no improvement at all — the model overfits through the noise — and the gain then rises with data size “up to a point and then declines”. A practice derived from the left edge alone would say more data, more dropout; from the right edge alone, the opposite. The curve supports a ratio claim, which is why SOTA-240 is stated as one.

The two explanations are one paper’s, and they are not independent evidence. The natural filing is “ensemble averaging” and “adaptive regularization” as two accounts converging on dropout from different directions. Baldi and Sadowski derive both, and the regularization result for a sigmoidal unit uses the NWGM averaging result via a Taylor expansion. THEORY-015 and THEORY-016 each say so in their own bodies, because citing them as agreement would be counting one derivation twice.

The averaging result also turns out to be sharper than its reputation. What one forward pass with scaled weights computes is the normalized weighted geometric mean, exactly, and the only functions with that property are the constants and the logistic functions. The test-time trick is a fact about sigmoids. The familiar gloss — “averaging exponentially many networks” — elides both the word geometric and the reason the rule works at all, and every result in this line is for sigmoidal units, not the ReLU networks dropout is mostly used in now.

What was left undone

Three papers from the same cluster are filed nowhere and each is a real document: Gal and Ghahramani on dropout as approximate Bayesian inference, Li et al. on the variance shift between dropout and batch normalization, and Hara et al. on dropout as ensemble learning. The second is the one with a practice in it — an interaction, which is the shape SOTA can express — and it is the one to file next.

And the sentence SOTA-240 most wants and cannot have: that large-scale pretraining sets dropout to zero because of the right edge of §7.4. The practice says explicitly that this is the anthology reading a 2014 curve forward and not a claim anyone has checked at scale. Confirming it means reading pretraining recipes for what they set and why, which is a different pass and a query nobody has run.

A trap this change walked into

This branch and #166 were open at the same time and both ran luria concretize on the branch. Both got LIT-391, LIT-392 and SOTA-238, because concretize allocates against the record it can see and neither branch could see the other. #166 merged first, so the merge here was three add/add conflicts on documents that had nothing to do with each other — the collision is in the codes, not the content, which is why it does not look like a conflict a reader would expect.

The command’s own help says what the rule is: a temp code on main means concretize “didn’t run where merges serialize”. Read the other way, that is the instruction — the temp codes are supposed to survive on the branch, and concretizing early is what converts a mechanical allocation into a merge conflict. Resolving it meant taking main’s documents at the contested codes and moving this change’s to LIT-395, LIT-396 and SOTA-240 by hand.

Nothing was lost and the cost was small. It would have been zero.


The registry decision the audit left open, and the rule that was already there

2026-09-17 18:17:50 · curation · scope

The standing instruction that produced this entry: when in doubt, carry the paper, practice or theory; worst case, assign it a provisional state as a clear signal that we are not sure how valuable the information is.

My first reaction was that this is DP-006 restated, and filing an ADR for it would be noise. That was wrong in a way worth writing down, because the two halves of the instruction pull in different directions and only the first is already covered.

What DP-006 does and does not reach

DP-006 is about a claim you doubt: weak-but-honest evidence, and the reflex to say not yet. Its answer is that the bar for having a document is lower than the bar for believing it, so file it and put the belief in status: and the condition in promote_when:.

The case in front of me was not that. LIT-087 (DSIR) is a paper I believe fine; the hesitation recorded in its note was about whether the record wanted it — 2023, a 0.9% margin, a scale below where its neighbours argue. That is doubt about worth, not about truth, and DP-006 does not name it.

The second half of the instruction is where the tension is. “Assign it a provisional state as a signal that we’re not sure how valuable it is” asks Proposed to mean something it currently cannot, because ADR-014 requires promote_when: to name a kind of result and no result settles whether a document is worth having. A status carrying that would be the one status that never ages — a fact about the curator rather than about the world.

So the ADR exists to take the instruction and land it somewhere ADR-014 survives: carry the item, and let writing the condition decide which of the two existing doubts you actually have. On LIT-087 it decides immediately — what is uncertain is whether a 2023 correlation survives at the scale the record’s data practices live at, and that is an evidence condition, which is DP-006 unchanged. The “worth” doubt turned out to be an evidence doubt that had not been made to state itself.

The bundling that hid it for ten days

The #121 audit’s determination on LIT-087 gives two reasons, and they are not the same kind of thing:

Unfiled because the record’s existing selection practices are quality-filter shaped and reconciling the two frames is a larger job than this audit.

Whether the record should carry it is a registry decision: the evidence is correlational, from 2023, at a scale below where mixing laws are now fitted.

The first is scope, and an audit is entitled to it — a review that files everything it finds is not a review. The second is a decision deferred, and DP-006 already answers it.

Written together, the scope reason does the talking. The note reads as though the work was sized rather than declined, so nothing in it comes due, and the audit best placed to notice is the one that already looked and passed. That is ADR-014’s complaint in its usual form: the most perishable fact in the encounter went into a paragraph.

What #121 did well, and what makes this contribution possible, is that it named the specific recommendations — R1 and R2, by number, with what each was missing. I made this ruling from the note without reopening the paper. A decline that names what would be filed is a different artifact from one that names only the hesitation, and the ADR says so.

Two practices, and where the other two recommendations went

NOTE-031 carries four recommendations. Filing all four would have been the instruction applied without judgement, which is not what it says.

  • R2 → SOTA-242. The frame: specify data selection as matching a target you can sample from, not as scoring quality. This is the one the record genuinely lacked. SOTA-170 — the central filtering practice — tunes how aggressive a quality classifier to run, and the DCLM and FineWeb-Edu work it argues with differs on the setting, not on the question. The distribution-matching frame changes the question: a quality rubric is an argument you have to win, a target distribution is an artifact you produce, and nobody has made the two frames argue.
  • R1 → SOTA-241. The proxy: rank selections by KL reduction in a hashed n-gram space before training on them. Filed separately because it is a different instruction with a different failure mode, and because it is the stage before the two practices the record already has — SOTA-166 fits a mixing law on a sample of mixtures and SOTA-238 runs a proxy model to convergence; both cost runs, and both have to choose which candidates deserve one.
  • R3 → inside SOTA-241, not its own document. “Use crude features when only the ordering matters” is the justification for the proxy — 10,000 hash buckets cannot represent text and are not claimed to; they are claimed to preserve the ordering of candidate selections. Filed alone it would be a maxim with nothing to act on.
  • R4 → a condition on SOTA-242. “Expect the best selection method to depend on target breadth” qualifies when the frame pays rather than recommending a third thing — top-k quality scoring is competitive for narrow domain targets, by the paper’s own reasoning that diversity matters less there.

That last pair is the part of the instruction that is not “file everything”. A recommendation that only works as a clause inside another practice is a clause, and the registry is worse for splitting it out. Carrying the item is the instruction; carrying it four times is not.

Loose end

LIT-087’s v4 history note had been truncated at write time to the single word The — the entire note was one word. Restored from the commit that made the edit, which is the second truncated-history repair in a week. Both were written in the same shape (a multi-line YAML block scalar composed inline), and if there is a third it is a tooling finding rather than three accidents.


A paper with no machine in it, and the boundary that turned out never to have been drawn

2026-09-17 20:47:43 · record

The request was to add the phrase-as-lemma paper. Goldberg and Shirtz (2025), Language 101(2) — English syntax, four preregistered surveys, 755 participants, a billion-word corpus, and not one sentence about a machine. Filing it was five minutes. Working out whether it belonged took the rest, and the useful finding is that the question had no answer here.

What I expected to find, and did not

I expected a scope rule to consult, and specifically I expected the record to be a CS-literature collection with a stated edge. It is not either of those.

Twenty-seven notes carry no arXiv identifier, and the venues include Physical Review Letters, Reviews of Modern Physics, four volumes of IEEE Transactions on Automatic Control, SIAM, and a 1963 Proceedings of the AMS. “Outside computer science” was never the boundary; the record crossed it repeatedly and nobody argued, because each of those is machinery that ML work runs on.

So the question is not the field. It is what those papers have that this one does not, and ADR-032 already named it: something in the record cites them. Nothing here cites Goldberg and Shirtz. On the letter of the only decision that speaks to admission, this paper is out.

Why declining it would have been the wrong kind of easy

DP-009 is about exactly this asymmetry and it is worth quoting, because the principle predicted the shape of the temptation before I met it:

The first is the cheaper reading, it requires no work, and it is self-confirming: declining the document leaves the vocabulary looking complete, because the evidence that would have shown otherwise has just been turned away.

That is precisely what declining would have bought. The record would have gone on looking like it had a scope, when what it has is a list of things nobody has yet had a reason to file.

And the principle demands the right kind of argument for declining: “an argument about the kind of claim — not a shrug at the absence of a slot.” A real one is available — the anthology advises on machines, and human interpretation is not a machine — and it is narrower than it first looks, which is the whole substance of the pass.

The thing that made it close

representation-and-encoding’s blurb is “how the signal is encoded before the expensive network sees it — tokenizers and learned latents”. Every practice under that topic presupposes there is a defensible answer to where a unit of meaning ends. None of them measures it; the question is upstream of all of them and simply assumed.

This paper measures a case where English’s answer is “a whole sentence, used as one word”, and where speakers demonstrably act on the word-slot — 77%, 82%, 85% against normed near-paraphrases, on three independent judgements.

The result that makes it more than an anecdote is Study 4. The obvious deflation is that PALs are memorized strings, so the authors re-ran the whole thing on high-frequency phrases only — anything goes, do it yourself, wait and see — and every effect reproduced at roughly the same size, with no frequency dependence anywhere in the main analyses either. The effect is carried by the construction, not by the list. That is what makes it a claim about structure, and it is the reason the paper is evidence about tokenization even though it never mentions it.

The mistake, which is the useful part of this entry

I filed it first as a note that sources nothing, admitted on a special rule about measuring what a topic’s practices presuppose. That framing lasted until somebody said I’d argue this is a theory paper, and it was right.

The record’s own test is one sentence in CLAUDE.md: if it tells the reader what to do it is a practice, and if it says what is true it is a theory. It is a test about the kind of claim and it mentions no apparatus. What made the paper look hard was that the measurement happened on people — and that is a fact about the instrument, not about the claim. The claim is that a lexical unit can be an arbitrary-length phrase, delimited by construction rather than by frequency. That is a fact about language, and language is the signal.

ADR-026 had already drawn this distinction on the neighbouring axis and I had read it that morning: a preconditioning scheme discovered in diffusion takes its kind, not its domain. Domain of discovery does not determine filing there. Apparatus of measurement does not determine it here either, and the two are the same argument.

The tell I missed is that the exception was load-bearing. I was building a narrow special rule to admit a well-evidenced finding about the record’s own subject matter — and a scheme that needs an exception for that has mis-stated its subject matter, not found an edge case. The rewritten ADR-045 is the general rule instead, and it keeps the exception framing in its alternatives because it looked right for about an hour.

What I did, and what I declined to do

ADR-045 proposes two conditions, and the second is the one doing the work: the document must state what it does not license — and for work like this, that has to include this was not measured on a model. The failure mode is not the filing. It is a later pass finding an unexplained note in the reading list and reading a recommendation out of it — which is LIT-052 and LIT-025 again, the two notes whose plausible-looking takeaways turned out not to be about their papers and which eight practices were built on. The note-statuses vocabulary exists because of those two.

I did not source a practice from it, and the temptation was real, because a practice would make the filing self-justifying. Any practice here would have been this record’s inference wearing Goldberg’s citation. ADR-017 is the rule against exactly that, and the honest form is a note that says the recommendation does not exist yet.

I did not add a topic for it. DP-008’s corollary is explicit that a category added to admit a single document is how a scope stops being one. So the paper sits under a tag that is the closest available and is not a good fit, and the ADR says so in its consequences rather than resolving it. One document is not enough to move a vocabulary.

The decision is Proposed and names what would settle it: a second finding about the signal, measured outside the ML literature and filed under these conditions — or a case where the first condition does real work by excluding something. If neither arrives, this is a single exception and should be relabelled as one rather than left standing as a rule.

And what the theory document declines is the part I expect to be revisited. explains: is empty. The obvious next claim is that a tokenizer splitting a construction forces the network to reassemble it, and that this is early-layer work — the detokenization and inner-lexicon line, ARXIV-2410.05864 and ARXIV-2406.20086, which reports models fusing multi-token words into single representations in exactly that position. The record holds none of it. Until it does, the bridge from this finding to anything a model does is a conjecture, and the theory says so in its own body rather than in a comment somebody has to find.

The part that generalizes

Two passes in two days, and both found the same thing from opposite directions. Dropout was missing because nothing had ever prompted anyone to file what everybody agreed on. This paper was nearly missed because nothing had ever prompted anyone to say what the collection is about. In both cases the record’s silence read as a decision and was not one — and in both cases the evidence was sitting in the record already, as twelve passing mentions there and twenty-seven non-arXiv notes here.

The query that finds the second kind is cheap and nobody had run it: list the venues. It takes one grep and it says more about scope than any statement of scope in this repository.

The bridge, filed the same day, and still not a bridge

The theory above says the unit is construction-delimited in the data and stops there, because the record held nothing about what a network does with a unit its tokenizer split. It does now: LIT-417 and its two theories, added in this same change on the observation that “early-layer behavior” is where this would show up.

It is a good deal better than a coincidence. Lad et al. delete and swap layers to find out which ones matter, find the first layer is the fragile one, and name the stage immediately after it detokenization — local context integrated to turn raw token representations into coherent units. Two literatures that share no methods, no authors and no venue, arriving at the same seam from opposite sides: one measuring where the unit boundary is in the signal, the other measuring where the network puts it back.

And the record says explicitly that this is not yet one account. Nothing measured either against the other. The reassembly half of Lad et al.’s stage 1 is imported from the inner-lexicon line (ARXIV-2410.05864, ARXIV-2406.20086) rather than established there — and that line is still unfiled, which is now the most valuable gap this pass has produced. Reading the pair as “the network repairs what the tokenizer broke” is the satisfying synthesis, and it is the one nobody has run the experiment for. Both documents say so in their own bodies rather than in a comment somebody has to find.

The pattern is worth naming because it is the third instance in two days. A gap gets filled, the fill reveals the next gap, and the next gap is sharper than the one that was filled. Dropout’s filing produced three named papers and one answerable question; this one produced a two-paper line whose absence is now the thing standing between the record and a claim it would like to make.

The gap closed, and what it did to the claim

The entry above named the inner-lexicon line as “the most valuable gap this pass has produced”. It is filed now, and filing it changed the shape of the thing it was supposed to support.

The evidence is better than the gap-naming implied. Kaplan et al. ran the control that matters: if reassembly were recognition of frequent token sequences, a probe on the penultimate token of a long word — which co-occurs with the same prefixes just as often — would do as well as one on the last token. It gets 61% against 89%. And the representations survive arbitrary splits, typos and words the tokenizer never had, which memorization would not. THEORY-021 is Active on three groups using three methods, which is a stronger footing than anything else filed in this pass.

And the overlap with the signal side got narrower and more interesting. I expected the connection to stay at the level of “both concern tokenization”. It does not: Feucht et al. define a lexical item as something that functions as a single unit of meaning, note that such items are non-compositional, and give break a leg as the example. That is THEORY-022’s subject, arrived at from inside a model, by authors who have plainly never read Goldberg.

Which is exactly when to be careful. A convergence this tidy is the point at which a record starts asserting the synthesis nobody measured. The experiment that would connect them is specific and has not been run: are the units in a model’s implicit vocabulary the ones a language delimits by construction, and what happens to the ones that are not? Both documents say so in their own bodies. The satisfying sentence — the network repairs what the tokenizer broke — is still not the record’s to write.

What the filing did license was a practice, which I did not expect. Kaplan et al. do not stop at the finding: they put the detokenized representation back into the embedding matrix and the frozen model uses it, keeping its accuracy on existing tokens where the obvious baseline degrades. SOTA-247 is Proposed on one group and one model. Its body says the thing the paper’s own framing understates — “finetuning-free” means the core parameters are frozen while two refinement matrices train on 20M tokens — because that distinction is the whole cost of the method.

LIT-191, held for ten days with its explanation missing

The attention-sink paper has been in the record since 2026-09-07, sourcing SOTA-134, and the record had no document for why sinks exist. The note’s own standing section had already worked it out in prose: the gate and the streaming fix are answers to the same pressure from opposite ends, which is why the gate removes sinks rather than relocating them.

THEORY-019 states it and explains: SOTA-134. Two things that are worth having written down rather than re-derived:

The mechanism is an accounting constraint, not a preference. Softmax normalizes to one, so a head with nothing to attend to still has mass to shed, and the only positions every query can see under causal masking are the first. That is why the sink is positional — replacing the first four tokens with linebreaks costs 0.2 perplexity — and why evicting it costs 5158.

Sinks are therefore not a defect, and the document says so explicitly, because the record was already recommending their removal. In an ungated model the sink is load-bearing. It is eliminable only by changing the architecture so the pressure that creates it is gone, which is what SOTA-134 does.

This is DP-007 once more and by now it should be predictable: the practice registry recommended removing a phenomenon for ten days without holding the explanation of what it was for. Nothing prompted the filing, because everyone involved already knew.

Following the sink one paper further, and finding a wrong attribution

The entry above closed by noting that LIT-191 gestures at SoftMax-off-by-One and the record held no result on it. Chasing that gesture turned up two documents and a correction to a practice that has been Active since 2026-09-05.

The popular version is not the evidenced version. Miller’s post is the one everybody has read — it is where the phrase comes from — and it reports no experiments at all. The post says so: “I’m 99.44% sure that it will resolve the outlier feedback loop” is the entirety of the case. It is filed, because reach and provenance are real things a reading list should record, and its standing section says plainly that the record is not endorsing softmax1.

And it is downstream. Miller (July 2023) cites the Qualcomm work on outliers at whitespace and punctuation positions. That work is Bondarenko et al. (June 2023), which had already diagnosed the no-op mechanism and tested two remedies. The chronology runs diagnosis-and-evidence → popularization → large-scale confirmation, and the record had only the last of the three.

The attribution

SOTA-134 recommends gating each attention head’s output with a sigmoid after the scaled dot-product, and was filed with introduced_by: LIT-138, Qiu et al. (2025). Bondarenko et al. equation 5 is that gate:

Gated_attention(x) := sigmoid(G(x)) ⊙ softmax(QKᵀ/√d_head) V(x)

with G per head — “gating modules are shared between different token positions but not shared across attention heads” — a single linear layer, under 0.009% of BERT-base. Two years earlier.

I did not have to infer this. Qiu et al. write it down: “The work most closely related to ours is Quantizable Transformers (Bondarenko et al., 2023) … Building on these insights, we scale up gated attention models.” The record’s note on Qiu et al. did not carry the sentence, so the record attributed the recommendation to the paper that scaled it.

This is what introduced_by: was separated from source: for, and it is the first time the distinction has caught something rather than merely been stated. ADR-017’s argument was that with one field every practice reads as though it began with the paper it cites — and that is exactly what happened here, to a practice filed after the decision was Active.

The correction relocates the claim, which is the part worth keeping. The gate was not invented to improve quality. It was invented to let a head do nothing so it would stop producing the activation outliers that break INT8 quantization, and the quality gain Qiu et al. measured is a later discovery about a mechanism introduced for quantizability. That is a more interesting history than “the Qwen team found a good gate”, and the record was telling the less interesting one.

The general shape, three passes in

Dropout was missing because agreement has no arrival. The attention sink had no explanation because everyone involved already knew it. This attribution was wrong because the paper that scaled an idea is more visible than the paper that had it. All three are the publication record’s shape showing through into a collection assembled from it, and none was a judgement anyone made.

The cheap query for this one, by analogy with list the venues: for every practice whose source[0] is markedly newer than the technique feels, read the related-work section of that source. It is where a paper says what it did not invent, and it is the one section nobody reads.


Redundancy is not quality, and a crossover the record has now seen twice

2026-09-17 20:51:36 · curation · scope

Took the rest of the data-selection gap. The audit first, because the last time I assumed an absence it was a set of decisions rather than a worklist.

What was actually missing

Searching the record for prun, influence function, TracIn, GraNd, coreset, datamodel, EL2N and quality classifier returns a lot of hits and almost no signal. Every prun hit is weight pruning — the lottery ticket line, LIT-019, LIT-031, LIT-039. Every influence function hit is a flocking paper’s φ(r). GraNd matches “grand” in prose. This is the fourth time in this project that a case-insensitive substring has produced a convincing and entirely false coverage picture, after AIME/“aimed”, VeRA/“average” and RANSAC/“transactions”.

With the false positives removed: data pruning, coresets, example-difficulty scoring, influence functions, data attribution and datamodels are absent outright. Zero documents, not zero practices. The twenty-six data-pipeline practices answer what to include, in what proportion and — since this morning — in what order, and none of them is about which examples are redundant.

The distinction that made this worth filing

The record’s selection material is almost all about quality: is this document good enough to keep. Pruning is about redundancy: does this example teach anything the others do not.

They can point opposite ways on the same object. A well-written document that says what a thousand others say is exactly what a pruning metric discards and exactly what a quality classifier keeps. That is stated in SOTA-243’s conditions because the obvious mistake — run a quality filter, then run a pruner, and assume the composition is fine — is not obviously wrong until somebody writes down what each is ranking.

The finding, and the half of it that gets dropped

LIT-399 (Sorscher et al.) reframes power-law scaling: error falling slowly in dataset size is a measurement of how much the corpus repeats itself. Given a ranking of which examples teach least, error can fall exponentially instead.

What gets quoted from this paper is “you can prune a lot of your data”. Two things that change the instruction get dropped:

The direction inverts. With abundant data keep the hard examples; with scarce data keep the easy ones, where keeping the hardest does worse than random pruning. The mechanism is that easy examples locate the target function coarsely and hard ones refine its boundary, and refinement is worthless before the coarse fix exists. Theory, then confirmed on ResNet18/CIFAR-10.

The fraction is a schedule. The exponential regime is reached only if the pruned fraction grows with the initial corpus size. Fix the fraction and it decays back to a power law. A corpus that doubles should be pruned harder, not proportionally.

A caveat I did write, this time

LIT-397 (Paul et al.) supplies the cheap ranking — EL2N at epoch 20, averaged over ten initializations — and something that corrects the practice above: the top of the difficulty ranking is not safe. Keeping only the highest scorers is suboptimal even on clean data, and the excluded window widens with label corruption, because the hardest examples and the mislabelled ones are the same examples.

So “keep the hard ones when data is abundant” means keep a window, not a tail, and a corpus’s noise rate sets where the upper edge goes. That went into SOTA-243’s conditions rather than into its own practice: it is a correction to an instruction, and it belongs where that instruction is read.

Same reasoning for two more of the notes’ recommendations. Sorscher’s R3 (do not trust a metric across a scale change) is a caution about the practice, not an independent one. R4 (embedding prototypicality when labels are expensive) is a real recommendation with one metric on one corpus behind it, and the instruction that generalises from it — use a cheap proxy that only has to preserve ordering — is SOTA-241, filed this morning from a different paper in a different domain. Named in the note with the condition that would file it, which is what ADR-043 asks a deferral to do.

The crossover, twice

SOTA-170 says aggressive filtering wins at 1T tokens and loses at 15T. SOTA-243 says keep hard examples when data is abundant and easy ones when it is scarce. Both are sign changes in a data-selection trade, driven by how much data you have relative to what you intend to spend, found by different groups four years and one domain apart.

I have deliberately not claimed they are the same claim, and the practice says so: one ranks documents by quality, the other ranks examples by difficulty, and no experiment joins them. What the pair is worth is a prior — a data-selection recommendation stated without naming a data budget is probably one regime’s answer being quoted in the other. The open question is on the note, where a result could come due against it.

The incumbent, again

LIT-398 is DCLM, filed carrying no practice. SOTA-170 and LIT-184 have both been arguing against it since September 8 and the record did not hold it, so the contrast pointed at a name rather than a document. Under ADR-010 it stays out of source: — contrast is not support — and SOTA-170 goes to v2 to cite it by code.

That is the second incumbent-shaped gap in two days, after DoReMi. The check that finds them is cheap and worth making standing: where the record holds a practice whose body argues against a position, ask whether the record holds the position.


The explanation was replaced and the practice was not

2026-09-17 21:36:43 · curation · scope

Second half of the data-selection gap: attribution — going the other way round the pipeline, from a model’s behaviour back to the data that caused it. The record held nothing at all. Four papers, two theories, two practices.

Why this needed four papers and not three

I planned three: the origin (Koh and Liang), the checkpoint-based alternative (TracIn), and the version that reaches language-model scale (Grosse et al.). Reading the third turned that into four.

Grosse’s limitations section leads — first sentence, before any finding — with this: influence functions on neural networks are a poor match to the counterfactual that motivated them, and are better understood as approximating something called the proximal Bregman response function, citing Bae et al. 2022.

That is the exact shape CLAUDE.md describes and ADR-031 exists for: a technique everybody uses, published with an explanation that was later refuted. Filing the three papers without the fourth would have left the record holding a practice whose stated justification the field had abandoned, with nothing in the record saying so.

So LIT-402 went in, and with it the pair:

  • THEORY-017, Rejected — an influence estimate predicts the effect of removing a training point and retraining. Correct where it was validated, which was convex models on MNIST. The status_note says that rather than implying the original work was careless.
  • THEORY-018, Active — what it estimates on neural networks is the PBRF: the effect of removing a point while keeping predictions close to the trained model’s.

Same structure as THEORY-001/THEORY-003 for batch normalization, and reached the same way — by reading the paper that uses the technique and taking its first limitation seriously instead of treating it as throat-clearing.

The thing worth writing down

Bae’s decomposition is the most quotable result I have filed this week. The gap between influence estimates and leave-one-out retraining splits into five terms. Two are approximation error — linearization, solver. Three are not.

And the three are an order of magnitude larger than the two. Which means the field’s reading of that gap — “influence functions are fragile on neural networks” — had the diagnosis backwards. The estimate was not a bad answer to the intended question; it was a good answer to a different one, and the three large terms are exactly the distance between the two questions.

The paper’s terminology carries the whole argument: it calls terms 1–3 gaps and terms 4–5 errors. A gap means the target moved. An error means the aim was off. A method that reliably fails to answer one question is answering a different one, and the useful move is to find out which.

Why the practice survives, and why that had to be checked

SOTA-246 — find mislabelled training data by self-influence, not by training loss — is sourced to Koh and Liang, corroborated by TracIn, and also sources Bae, which is unusual and deliberate. Without Bae the practice rests on THEORY-017, which is Rejected.

It survives because it never needed the counterfactual. It needs an ordering over training points, and Bae’s paper says in as many words that the PBRF supports the use cases that motivated influence functions, naming mislabelled examples as one. That sentence is load-bearing, and it is why LIT-402 is in source: rather than only in the body.

The mechanism is also better than the original paper had. A mislabelled example is a strong proponent of itself — strong because it is an outlier nothing else supports, a proponent because the model’s movement does reduce its loss with respect to the wrong label it carries. Training loss cannot make that distinction, because the genuinely hard examples have high loss too.

The fourth axis inside data-pipeline

SOTA-245 says to state a relation in both orders if you want it usable in both directions. Grosse’s synthetic construction is clean: identical content, order reversed, and the influence collapses to 0.030 against an unrelated baseline of 0.020.

Filing it meant deciding it was not SOTA-239, which orders the training data by skill prerequisite. It is not. The data-pipeline practices now answer four questions, and it took filing this one to see the fourth clearly:

  • what to include — filtering, dedup, pruning
  • in what proportion — mixing laws, DoReMi
  • in what order the documents arrive — SOTA-239
  • in what order the clauses sit inside a document — this

I have written the gap between the evidence and the instruction into the practice rather than smoothing it: influence is not accuracy. What was measured is which sequences a completion is attributable to, not that a model trained one-directionally fails the reverse question. The inference is natural and it is still an inference, and the promote_when is the behavioural experiment nobody has run.

Three recommendations named and not filed

Continuing ADR-043’s discipline, since it is only a day old and the test of it is whether it changes anything.

  • Koh and Liang’s R4 (smooth a non-differentiable loss before computing influences) is algorithm-local in ADR-041’s sense, and this record is not where somebody implementing influence functions on a hinge loss will look.
  • TracIn’s R3 (retain checkpoints, because attribution needs them and cannot reconstruct them) is a real operational instruction with a real cost, and the paper assumes checkpoints rather than arguing for keeping them. Named with its condition: a report where retained checkpoints were what made attribution possible, or the reverse.
  • Grosse’s R3 (validate a method against the object it estimates, not the object it was motivated by) is the best general advice in the whole unit, and its only instance here is the paper’s own conduct rather than a result.

That last one is the case ADR-043 is most useful on. It would have been easy to file — it is obviously right — and the honest condition is hard to write, which is the signal the decision says to read.


The worklist was ranked by a twelve-paper sample, and the corpus disagrees

2026-09-18 01:17:45 · curation · scope

Back to #137. Its worklist is tiered by how many of twelve evolution-strategies papers cite each candidate, and the issue is explicit that this is a proxy for “the record’s own practices are argued on this” rather than a quality ranking. The record now holds 343 literature notes. So the first thing to do was re-run the count against the corpus instead of the sample.

What the re-rank changed

WorkES sampleFiles in the record
Qwen2.54 (tier 1)45
Stream of Search / Countdown222
ARC122
HellaSwag115
MBPP3 (tier 1)10
GPQA17
HybridFlow / verl3 (tier 1)5
PRM800K, MATH-Beyond, DeepSeek LLM, SmolLM, MiniPile, Craftax, NAVIX, JaxMARL1 each0

Two tier-one entries drop — HybridFlow to five files, MBPP to ten — and two of the “cited once” entries turn out to be among the most-referenced things in the corpus. Eight candidates have zero mentions outside the sweep that found them, which under the issue’s own filing criterion (“something in the record has to cite it”) means they are not candidates at all.

This is DP-004 arriving on schedule: a pass finds only the defects its query is shaped like, and a worklist inherits the shape of the query that produced it. The sweep was right that these papers exist and wrong about which ones the record leans on, because it was reading twelve papers’ bibliographies rather than the record.

The finding I did not go looking for

ARC at 22 files looked like a straightforward tier promotion. It is not one benchmark.

Ten documents write ARC-Easy or ARC-Challenge and mean Clark et al.’s AI2 Reasoning Challenge — multiple-choice grade-school science questions. Twelve write a bare ARC, and at least two of those mean Chollet’s ARC-AGI — visual grid puzzles built so that every task is structurally novel. They share four letters and nothing else.

That would be pedantry if it were decorative. It is not: SOTA-235 carries a headline number on it. “Up to 6× a fine-tuned baseline on ARC, 53.0%” is the practice’s central evidence, and the practice’s own argument turns on the benchmark’s construction — ARC is built to reward search over structurally novel tasks, which is the regime this method is defined by, so a large gain there is close to tautological. That sentence is true of ARC-AGI and false of AI2 ARC. Read with the other sense, the practice’s most important caveat evaporates.

Meanwhile THEORY-007 measures across ARC-C and LIT-184 names ARC beside MMLU as a target FineWeb-Edu moves — both the AI2 sense, both correct, both indistinguishable from the other usage by anything in the record.

So both papers are filed, each stating plainly which one it is and that the other exists, and SOTA-235/LIT-379 go to v2 saying ARC-AGI. This is exactly the service #137 says a benchmark note is for: what each note needs to earn its place is the thing the citing practice implicitly assumes. Here the citing practice assumed a name was unambiguous.

Two more, for what they bound

LIT-404 (HellaSwag) records that its distractors were generated and then adversarially filtered against 2019’s models — so its difficulty is defined relative to a specific generation of systems, and its discriminating range ages differently from a sampled benchmark’s. This record quotes HellaSwag numbers across a seven-year span with nowhere to say that.

LIT-408 (MBPP) is the other half of a pair: LIT-388 is HumanEval, ten documents report both, and a code result quoted on one is narrower than it looks.

Qwen2.5, and the incumbent shape a third time

Forty-five documents name Qwen2.5. The record held LIT-182 (Qwen3), LIT-135 (Qwen3.8) and LIT-125 (Qwen2.5-Coder) — two successors and a sibling — and not the base model they and everyone else measure against.

That is the third instance this week, after DoReMi behind the mixing laws and DCLM behind the filtering practices. The pattern is stable enough to state: a thing that becomes everybody’s baseline is cited constantly and filed never, because nobody ever encounters it as news. The successor arrives as a result and gets a document; the incumbent arrives as a column header.

What is left on #137

HybridFlow/verl (5 files) and GPQA (7) are real but thin. Stream of Search/Countdown at 22 is the largest remaining and wants care, because the Countdown task and the Stream-of-Search method are cited for different things and I have not checked which the 22 are. The eight zero-mention candidates should be struck from the list rather than filed — named here so the next pass does not re-derive the count.


Twenty-three uses of a task, none of the method that brought it

2026-09-18 02:27:29 · curation · scope

Finished #137’s benchmark tier. The interesting part was the check I had promised to run rather than the filing.

The split, and it is not a split

Yesterday I left Stream of Search / Countdown as the largest remaining candidate at 22 files, with a caveat: the Countdown task and the Stream-of-Search method are cited for different things and I have not checked which the 22 are. Checked:

  • Countdown: 24 files.
  • Stream of Search, or SoS: one file — the curation entry in which I wrote that caveat.

So there is no split. The record cites the task and has never once cited the method. That is a cleaner answer than the ARC case, and it points the note in a different direction: not “which paper is this”, but “this paper is here for the half of it nobody reads”.

Worth noticing that my own writing was the single false positive. A count run over a corpus that includes the note you just wrote about the count is a corpus that has been contaminated by asking. Small here — one file, obvious on inspection — and the same mechanism would be invisible at scale.

What the Countdown note is actually for

Countdown is the arithmetic puzzle the evolution-strategies cluster is measured on throughout: SOTA-154 averages across Qwen2.5 and LLaMA3 on it, SOTA-212 runs OLMo3-7B on it across 200 GH200s, SOTA-213 reads a 500-iteration run on it. Four practices, one task, and until now nowhere saying what the task is.

What it buys is mechanical and is why this literature borrowed it: a solution is verifiable by evaluating it, so a reward exists without a judge or a reference answer. What it costs is the same fact read the other way: the space is small and arithmetic, so a gain on Countdown is a gain at bounded symbolic search.

And the record already knows it is a strange member of its suite, in a place nobody would look. NOTE-082 records that ES reaches peak accuracy quickly on every task except Countdown, and that HellaSwag declines steadily as Countdown training continues past the point Countdown itself converged. Four practices report on it as one task among several; the note says it is not.

Three ways a number can mislead

With this batch the benchmark notes have now recorded three distinct failure modes, and they are genuinely different:

  • Saturation — MMLU, where the frontier has compressed into the top of the range and differences stop being differences.
  • Difficulty defined against a model generation — HellaSwag (LIT-404), whose distractors were adversarially filtered against 2019’s systems, so it ages by obsolescence rather than by ceiling.
  • A coarse ruler with a low ceiling — GPQA, where experts reach 65% and 448 items make one question worth 0.22 points, so a one-point gap is below the instrument’s granularity.

#137 asks whether saturated benchmarks get retired and nothing in the record has needed the answer. Three named failure modes is the beginning of one, and it suggests the answer is not a status: Rejected would say “do not use this”, where what these notes actually say is “read a number on this against that”. That is a caveat, not a retirement, and caveats live in the note.

MATH, and a line it straddles

Every MATH problem ships a full step-by-step solution, and the paper ships an auxiliary pretraining corpus built from that. So the dataset is a training signal as much as a benchmark, and “trained on MATH” and “evaluated on MATH” are both ordinary sentences.

That matters here specifically: the record holds SOTA-127, which says to filter chain-of-thought traces out of the training data of tiny specialised models. A dataset whose problems arrive with worked derivations is exactly the thing that lands on both sides of that practice, and nothing in the record said so.

A gap in the worklist, not in the record

OlympiadBench appears in five documents here and is not on #137’s list at all. It sits beside GSM8K, MATH and Countdown in the ES evaluations — NOTE-082’s accuracy comparison runs across all four — so it is a peer of three benchmarks the list does name.

The list came from sweeping twelve papers’ bibliographies for arXiv identifiers, so a benchmark reaches it only if those particular twelve cited it that way. This is the second time the worklist’s shape has turned out to be the query’s shape rather than the record’s, after yesterday’s re-rank. The first correction was to the order; this one is to the membership.


The worklist named a benchmark in its rationale that its own tables left out

2026-09-18 02:44:49 · analysis-and-evaluation

Three more of #137 filed: BBH (ARXIV-2210.09261), OlympiadBench (ARXIV-2402.14008) and HybridFlow/verl (ARXIV-2409.19256). Two findings worth keeping, both about how the worklist was built rather than about the papers.

The issue argues from a benchmark its tables do not list

#137’s “What a note looks like for these” section makes its case with this sentence: “SOTA-210 (report pass@k as well as pass@1) rests on results measured on GSM8K, MATH-500 and OlympiadBench, and there is currently nowhere to write down what that bounds.” GSM8K and MATH are in its tables. OlympiadBench is not — not in the three-or-more tier, not in the twice tier, not in the once list. The same is true of BBH, which seven documents here report numbers on and which carries the load in SOTA-235’s central argument.

This is the third time the same shape has turned up on this issue, and DP-004 is the name for it: the worklist is a sweep of twelve evolution-strategies papers’ bibliographies, so it sees what those twelve cite and nothing else. A benchmark the record’s own prose reports numbers on, in documents that came from elsewhere, is invisible to that query no matter how load-bearing it is. Grepping the record for benchmark names finds a different population than grepping twelve bibliographies, and the issue’s tables are the second population presented as if it were the first.

The remainder of that population, counted over record documents and excluding the changelog and this journal: LAMBADA 6, MMLU-Pro 5, WinoGrande 5, Minerva 4, PIQA 4, SciQ 2, DROP 2. Only ROCStories, at 2, is on #137’s list at all.

A mention count nearly struck the right paper

HybridFlow was the one entry on the list I was ready to propose striking: grepping the record for HybridFlow|\bverl\b returns two files, and one of them is ADR-032 — the decision discussing the worklist, not a document arguing on verl. One genuine citation, in a parenthetical in LIT-168.

That test was measuring the wrong thing. ADR-032 puts ARXIV-2409.19256 in its own consequences as one of the four references at the top of the queue, cited by three of the twelve swept papers. Mention count in this record’s prose and citation count in the swept bibliographies are two different populations again — the same DP-004 shape, one level down, and this time it would have removed something rather than merely missed it. The standing directive to carry when in doubt is what stopped it, and the filing criterion #137 states (something in the record has to cite it) is satisfied by LIT-168 alone.

Two of the issue’s three open questions now have a worked answer

#137 asks whether a benchmark note gets a Standing in the anthology section or whether “cited by X” is the whole standing. All three notes here take the first option, and what fills the section is neither influence nor a count: it is the bound the citing document assumes and does not state. BBH’s is that a BBH number is prompt-conditioned, so only matched-protocol comparisons mean anything — which is why SOTA-235’s argument survives, both its conditions being 10-shot. OlympiadBench’s is the floor effect: the best model at publication scored 17.97%, and every one of the record’s six uses is at 32B or below.

It also asks how benchmark notes interact with the contamination practice. OlympiadBench answers that one by example — olympiad problems and their worked solutions long predate every model evaluated on them, so the note says contamination is live here in SOTA-197’s sense and that no document in the record reports a probe. That is the natural home for it, and it costs one paragraph.

The trap in the BBH note

BBH is not BIG-bench. LIT-077 is the 204-task suite and the source for SOTA-200 and SOTA-197; BBH is the 23-task subset selected by where the best model in that paper failed. A grep for BBH\|BIG-Bench returns both and they are not interchangeable — exactly the ARC-AGI versus AI2 ARC collision LIT-405 and LIT-407 were filed to settle a day earlier, and the second instance of it in a week. A benchmark whose name is a substring of another benchmark’s name is worth checking twice.


The record measured seventy-four things on ImageNet and did not hold it

2026-09-18 05:17:37 · analysis-and-evaluation

#137’s worklist is nearly exhausted, so this pass asked a different question: not which papers do the twelve swept bibliographies cite, but which instruments does this record report numbers on. The answer was not close.

The gap was never in the language benchmarks

instrumentdocumentsheld before this?
ImageNet (all senses)74no
CIFAR-10/10069no
MNIST26no
MMLU17yes
LAMBADA6no
MMLU-Pro5no

Every benchmark #137 ranked, and every one this journal proposed as its tail last pass, sits below MNIST. The three vision datasets are used more than all of them combined, and the reason none of them showed up in any previous sweep is that they are not what this record is about. They are what its evidence is measured on — optimizer comparisons, gradient compression, large-batch scaling, diffusion distillation. A query aimed at “papers about the topics we file” will never return them, however many documents depend on them. DP-004 again, and this is the sharpest instance yet: the query was not merely narrow, it was aimed at a different axis entirely.

Two counting traps, both caught

C4 is the fourth row of every claims table. The first survey put C4 at 138 documents, ahead of ImageNet. NOTE-* claims tables number their rows C1, C2, C3, C4, and a plain substring match collects every one of them. Real count after excluding table rows: 44. The lesson generalises — short all-caps dataset names collide with this record’s own structural vocabulary, so any benchmark survey wants \bNAME\b(?!\s*\|) or a manual look at the hits.

LIT-007 is not the ImageNet paper. A check for “is ImageNet held?” that greps literature titles finds Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour and answers yes. It is a paper that uses ImageNet. The trap is that a dataset’s name appears in the titles of the papers that use it far more often than in the title of the paper that introduced it, so title matching is biased against exactly the answer you want.

The three-way ImageNet split, and why it got two documents

“ImageNet” in this record means one of: ILSVRC, the 1,000-class challenge that every top-1 number is on; ImageNet-64, a downsampled set scored on FID, in nine documents; or TinyImageNet, in ten. The database Deng et al. published — millions of images on the WordNet hierarchy — defines no task, no split and no metric, and is essentially never what a citing document means.

So ImageNet-the-database and ILSVRC-the-challenge are filed as two notes. That is the third time this shape has come up in a week: ARC-AGI against AI2 ARC, BBH against BIG-bench, now this. In all three the record was reporting numbers across a split it had no vocabulary for. It is worth noticing that the failure is not rare and not random — a successful benchmark acquires a short name, and the short name then gets reused by its successors and derivatives. Any instrument popular enough to be worth filing is, for that same reason, likely to be ambiguous.

A citation nothing can check, at the centre of the record

CIFAR is a 2009 University of Toronto technical report: no arXiv id, no DOI, a URL that already 301s to a different host. ADR-009 permits a url as the last preference and calls it “a string nothing can check”, which was written about marginal citations. It turns out to describe the record’s second-most-cited instrument. Nothing to do about it — there is no better identifier to have — but the ADR’s framing now has a counter-example worth knowing about.

The MNIST finding was better than the note I first wrote

The draft said THEORY-013 and SOTA-218 “both turn on a paper that subsampled MNIST and ImageNet”. The lint flagged the citation because THEORY-013 is Rejected, and chasing that down produced the actual relationship: LIT-058 subsampled MNIST and ImageNet to test whether optimal batch size tracks dataset size, found it “does not depend on data set size in any consistent way” — and that experiment is what retired THEORY-013, while the same experiment is what SOTA-218 rests on.

Which is the point of the MNIST note. Nothing in this record cites an MNIST accuracy as evidence a method is good; MNIST is where leave-one-out retraining and exhaustive subsampling are affordable, and a dataset you can shrink and retrain is how a scaling claim gets falsified rather than argued about. The lint asking “why are you citing something retired?” produced a better paragraph than the one it interrupted.


Five citations was enough, and the reason is the denominator

2026-09-18 05:31:35 · data-pipeline

C4 and The Pile, closing the pretraining-corpus half of the same gap the vision datasets opened. Three things worth keeping.

The filing threshold is the wrong instrument

C4 has forty-six documents behind it and The Pile has five. By the count this record has been using — BBH at seven, OlympiadBench at six — The Pile is under the line, and the tail entries this journal declined last pass (RedPajama 2, Dolma 1) are under it by the same margin.

The Pile is worth more than its count and they are not, and the difference is not volume. It is whether the instrument appears in the denominator. SOTA-238’s headline is +6.5 points over The Pile’s default weights; LIT-391 and LIT-117 are the same shape. Those weights are a judgement its authors made, stated as one, and never claimed to be optimal — so the size of every gain in the data-mixing line is partly a property of a baseline nobody optimised. A corpus shipped with better defaults would make the same method look worse without the method changing.

That is a bound no citing document states and none of them could, because there was nowhere to write it. RedPajama and Dolma, by contrast, are mentioned in passing as corpora a model was trained on; nothing is measured against them. A benchmark cited twice as a yardstick earns a note; a benchmark cited twenty times as a setting may not. Count is a proxy for that and a poor one.

The Pile is the substrate because it ships domains

Worth stating plainly because it is easy to read the data-mixing line as being about mixing and incidentally about The Pile. It is the other way round. A corpus that is one undifferentiated mass of web text cannot host a question about domain proportions at all — 22 named sub-corpora with declared weights is the precondition, not the setting. Whoever next reads a data-mixing result should know that the instrument selected the research question.

C4 is two instruments wearing one name, again

Not two datasets this time — the ImageNet/ILSVRC problem — but two roles, and they need opposite caveats.

As a corpus with a known defect C4 is irreplaceable in SOTA-164, whose entire case is that LIT-202 found a 61-word English sentence repeated thousands of times in it. Chasing that down produced the sharper version now in both documents: C4 shipped already deduplicated by its own authors. T5’s cleaning pipeline includes a deduplication pass, and the repeats survived it. That is what makes the two-granularity recommendation a requirement rather than a refinement — one pass is demonstrably not enough, and C4 is the demonstration.

As a standard workload for SOTA-155, LIT-212, LIT-252, LIT-276 and THEORY-014, nothing depends on the corpus being C4. It is there because everyone else used it, which is DP-007 exactly. The two roles sit in one note with a paragraph each, and a reader who takes the second for the first will over-read every distributed-training result in the record.

An aside on where the paper was

T5 is named in passing in several documents and the paper was not in the record at all. It is one of the most-cited architectures of its period, and it entered here as a data-pipeline note, filed for its corpus rather than its framework — tagged data-pipeline alone, with no second tag, because ADR-035 means an incidental model-architecture tag would bind chain edges this note has no business binding. The document says what the record wants it for, not what the paper contains.


A guard against one thing, read as a brake on everything

2026-09-18 17:27:26 · record

Two tags added to LIT-425, one to LIT-426, and an ADR saying why the previous contribution got it wrong — which was mine, filed hours earlier.

What the mistake actually was

I filed T5 with data-pipeline alone and wrote the reasoning into the PR as though it were a considered call: the record holds this paper for C4, so a model-architecture tag would be incidental, and ADR-035 warns that an incidental tag binds chain edges.

Two separate errors, and they are worth pulling apart because only one of them is about tags.

The record’s motive is not the document’s subject. Why this project went and got a paper is a fact about the project. What the paper is about is a fact about the paper. Only the second can go in tags:, because tags: is what a reader browses by and a reader has no access to the curator’s reasons. T5’s text-to-text framing and its transfer-learning ablation are most of the paper; someone looking for architecture work would have been right to expect it and would not have found it. The motive already has a home — the Standing in the anthology section, in prose, where a reason with nuance belongs.

The guard was read far outside its case. ADR-035 forbids adding a tag in order to bind a relation, and the mechanism it is guarding is chains.lineage, which declares invariant: tags. But an invariant binds an edge only where an edge exists — where a document declares extends, corrects or compared_against. LIT-425 declares none. There was no edge for a tag to bind and there never could have been, so the warning I cited had no purchase on the decision I used it for.

That is the more interesting failure. A correctly-written, narrowly-scoped guard got read as a general prohibition, and because it named a real mechanism it sounded rigorous. Citing a rule is not the same as checking that its precondition holds, and prose in a PR describing a tradeoff is exactly where that check gets skipped — it reads as diligence either way.

Why the asymmetry settles it

An extra true tag costs one index row. A missing tag makes a document unfindable to everyone browsing that topic, silently, with nothing in any report to say so. There is no lint for “this document should have been on that page”. DP-004 again from a new angle: the defect a pass cannot be shaped to find is the one that persists, and a missing tag leaves no trace for any pass to be shaped around.

Which means the two errors are not equally bad, and the filing rule should not treat them as if they were. “Is this the single best word” is the wrong test; “would someone browsing this topic be right to expect this document” is the right one.

What was not done

No retag sweep. The cautious reading has been in force for a while, so documents in the record are probably under-tagged — but a sweep is its own contribution with its own review, and the cost of being late is bounded: a document shows up on one fewer generated page until someone touches it. Worth doing, not worth smuggling into a PR about two notes.


The last entry on the list, and the nine that were never candidates

2026-09-18 18:12:20 · record · analysis-and-evaluation

#137 is done. One paper filed, nine struck, and the ratio is the finding.

The criterion did the work the ranking could not

The issue ranked its worklist by how many of twelve swept bibliographies cited each entry, and was explicit that this was “a proxy for the record’s own practices are argued on this, not a quality ranking”. The proxy held at the top — GSM8K, Qwen2.5, MBPP, verl all turned out to be genuinely load-bearing — and fell apart completely at the bottom.

Measured against the record rather than against the bibliographies:

entrydocuments citing it here
SmolLM21
PRM800K, MATH-Beyond, DeepSeek LLM, Meyerson, MiniPile0
Brax, Craftax, NAVIX, JaxMARL0

Nine of ten fail the issue’s own stated criterion — something in the record has to cite it — and filing them would be the “category added to admit a single document” that the issue itself says DP-008’s corollary forbids. The issue predicted this for the four RL environments, calling them “plausibly out of scope even under the decision”. It turns out to be true of five more that it had not flagged.

So the tail was never a backlog. It was the part of a ranked list that the ranking had no information about, presented in the same table as the part it did.

Two traps in the counting, both caught

DeepSeek is not DeepSeek LLM. A grep for DeepSeek returns 53 documents and would have made ARXIV-2401.02954 look strongly cited. Every one of them is a later model — V3, V3.2, V4, R1, DeepSeekMath — and the record holds those papers already. The 2024 scaling paper is a different document with zero mentions. A family name that outlives the paper that started it is the same shape as ImageNet and BBH, one level up: not two instruments under one name, but a lineage under one name.

Brax’s only mention is ADR-032 itself. The decision that opened the worklist enumerates the categories, and Brax appears in that enumeration. Grepping the record finds it and counts one. That is the identical false positive that nearly got HybridFlow struck in the opposite direction a few hours ago — there the decision’s own text made a real entry look thin, here it makes an empty entry look populated. A worklist stored inside the corpus it describes will always be a source of self-citations, and any count over that corpus needs ADR-032 excluded before it means anything.

Why SmolLM2 survived on one citation

The same reason The Pile did on five: the citation is load-bearing rather than incidental. LIT-129 runs its entire three-stage fine-tuning experiment on SmolLM2-135M-Instruct, and its finding that DPO converges at 135M is what LIT-119 cites when asking whether DPO would work at 90M — which is what SOTA-126 turns on. A chain that ends in a live practice rested on a base model the record could not name.

And the note has something to say that the citing documents do not: SmolLM2 is overtrained to an extraordinary degree. “DPO converges at 135M” is therefore a claim about this 135M model, whose data budget per parameter is nothing like a compute-optimal one. Nothing here establishes the result transfers to a 135M model trained the ordinary way.


Three tags I did not add, and why that is the useful half

2026-09-18 19:00:51 · record

The retag sweep, aimed at the invariant report. Twenty-two unbound relations to sixteen, six documents changed, ADR-036 superseded in one of its four categories.

The report had already been read

Worth saying first, because it changes what “sweep the invariant failures” means. ADR-036 classified twenty-four unbound relations, retagged fifteen documents and removed two spurious links. The twenty-two standing when this pass started were exactly the ones it left, deliberately, with reasons written down.

So there was no backlog of missed work here. The only question worth asking was narrower: does ADR-046’s liberal tagging change any of ADR-036’s four verdicts? One, and only one. Its fourth category ends with trunk papers whose contribution spans two topics, left alone because “splitting a trunk paper’s topic would be filing it under half its contribution”. That is an argument against splitting, written when one tag was the norm and splitting was the only move. Carrying both was not on the table. Now it is.

The discipline was the work

The test from ADR-046 — would this tag go on if the relation did not exist? — sounds like a formality and is not. Eleven candidates looked plausible when I listed them from titles. Three failed on inspection, and they are the more instructive half.

SOTA-085 and SOTA-106 (flash attention) do not gain systems-optimization, though the tag is defensible and the document’s own body is about kernels, on-chip memory per SM and tile sizes. What stopped it was reading the frontmatter: a flash-attention tag had been removed from this very document, by an earlier pass, precisely because it had been added to bind this edge. The comment left behind says the edge “is real, it crosses a fault line in the vocabulary, and it should keep showing up until someone answers it.” Binding it now with a different word would be the same act with better camouflage. The answer it is waiting for is a specializes: relation — SOTA-085 is an instance of SOTA-083 — and that is a scheme change, not a tag.

SOTA-031 does not gain training-optimization. Its claim is about memory and throughput per device; the practices it crosses, SOTA-092 and SOTA-093, are about sample efficiency. The tag would have bound the edge and been false.

SOTA-161 does not gain attention-techniques, though it is literally about the attention output. SOTA-085’s body argues its filing directly — the rounding bias compounds over a long run, so “it is filed under stability rather than attention for exactly that reason”. When the record has already reasoned about a document’s filing in prose, overriding it silently from outside is not a retag, it is a disagreement pretending to be maintenance.

That is the pattern worth keeping: where the record argues its own filing, the retag pass defers. It held three times here, twice in frontmatter comments and once in a decision.

Why supersede rather than amend

ADR-036’s verdict was right when it was made. Under minimal tagging, splitting GShard between conditional computation and automatic sharding would genuinely have filed it under half its contribution, and leaving it alone was the better of the two available moves. Editing that reasoning out of the record would lose the fact that it was correct — DP-003, keep what you stopped believing. So the old decision keeps its body, gains a status_note: saying which category moved, and points at the successor.

What is left, and what it is asking for

Sixteen relations, and all of them wanted. Seven are analysis-and-evaluation crossings, where the invariant is over-strong because that topic names a kind of work rather than a subject — every line that grows an analysis paper will unbind. ADR-036 said the fix belongs to the chain declaration and this pass agrees; retagging exactly those seven would be indistinguishable from its legitimate half.

The other nine are the general-and-instance and rival-fixes-at-different- layers shapes. Both are true things about the work. The first of them is a standing request for a specializes: relation, made twice now by two different passes, and it is the single highest-value scheme change this report is asking for.


The vocabulary was not short a word, it was short a definition

2026-09-18 19:37:30 · record

Twenty-one relation blurbs, one relation rewired, and a request from two previous passes withdrawn.

Two passes asked for the wrong thing, and I was the second

ADR-036 looked at SOTA-083 (custom kernels for critical ops) joined to SOTA-085 (flash attention) by compared_against, saw that it read as a comparison nobody had run, and concluded the record needed a specializes: relation. ADR-048 — mine, hours ago — repeated that and called it the highest-value scheme change on the table.

Both of us reasoned from the edge to a missing word. Neither checked whether the words already there had definitions. They did not: references: entries carried scheme, required, many and converse, and nothing that said what the relation asserts. The generated contract page makes the asymmetry plain — status, consensus and tags each render with an italic gloss, and every relation renders as optional, one or more SOTA codes when present.

So the question “is this a comparison or a specialization?” had no place to be answered, and two passes read that absence as a gap in the vocabulary rather than a gap in its documentation. A vocabulary nobody wrote down is indistinguishable from a vocabulary that is missing a word.

The knowledge existed in a form nothing could use

luria.yaml already carried paragraphs about these fields — what source: holds, why introduced_by: is separate, how a practice line differs from a paper line. All of it in YAML comments, which is precisely the case luria’s own Reference docstring makes for the label:/blurb: keys it has supported since LU-#254:

What a relation IS, as data rather than as a TOML comment nothing could render, quote or scaffold from.

No record had filled them in, luria’s own included. So this was not writing new knowledge, it was moving existing knowledge from a place that renders nowhere to a place that renders on the page a filer reads while filing.

Writing the definition dissolved the question

Drafting extends’s blurb was the whole decision:

the earlier practice this one builds on and could not stand without — a later version of the same recommendation, a narrower case of it, or a rule that only exists because the earlier one is followed

Three senses, which from a distance look like three relations and are one assertion: B carries A’s claim further and does not stand without A. The line reads oldest-first in all three, and the flash-attention line proves it — SOTA-106 is a later version, SOTA-085 is a narrower case, SOTA-161 is a rule that only exists because flash attention is used, and all three sit correctly under one arrow:

custom kernels for critical ops
  flash attention
    flash-attention-2
    FP32 attention output

That line did not exist before this pass. It was three practices and a comparison nobody ran.

What did not change, and that is the point

The edge is still unbound. SOTA-083 is systems-optimization and SOTA-085 is attention-techniques, so the report still shows the crossing — now as part of a line instead of as a comparison. SOTA-085’s frontmatter asked that this edge “keep showing up until someone answers it”; what got answered is what the relation is, not what the tags are, and the second question is still open and still correctly reported.

Worth keeping separate, because it would have been easy to claim this pass closed both.


A measured number in prose is a maintenance obligation nobody agreed to

2026-09-18 19:52:05 · record

Two ADRs stop quoting a count. ADR-018 said the lockfile held 305 entries; ADR-044 said 921 lines and 305 entries. Today the file holds 319 entries in 963 lines, and the 305 was wrong on the day it was written.

Two failures, and only one of them is interesting

The wrong number was an ordinary mistake: I counted on a branch that carried two lockfile entries main did not have, and wrote the branch’s figure into a claim about main. Caught, offered three times, and the fix is a subtraction.

The stale number is the one worth recording, because nothing was done wrong to produce it. 921 lines was accurate when written. It stopped being accurate because the record grew, which is the record working. Every paper filed this week — and there were a lot — moved it further out, and nothing in the lint can see it: a number in prose is not a citation, has no code, and resolves to nothing checkable.

So the document acquired a maintenance obligation at the moment it was written, and nobody agreed to it. That is the general shape: a measured figure in prose is a promise to come back and re-measure, made silently.

The test that would have caught it

Neither ADR’s argument uses the number. ADR-044 argues that the lockfile is a shared artifact every branch rewrites; ADR-018 argues that being derived and fragment-fed is not sufficient to avoid that. Both work identically at 30 entries or 3,000. The figures were there as texture — look how big this is — and texture is exactly what ages.

So: if a number can change without the argument changing, the argument should not contain the number. Where the magnitude genuinely carries weight — GPT-4V’s 17.97% on OlympiadBench, or ES beating RL at 32B — the number is the claim and belongs in the text. Where it is scene-setting, the structural statement is both truer and permanent: one file, one entry per cited identifier, rewritten by every contribution that files a paper.

Where the old figures went

Into the history: notes, which is what that field is for. The record keeps what it stopped believing (DP-003), and a superseded measurement is exactly that — the version note now says what the document used to claim, that the count was wrong when written, and that it drifted afterwards. A reader who finds the old figure quoted somewhere else can trace it.


A check that keeps firing on the same input is usually right about the input

2026-09-18 20:58:13 · record · analysis-and-evaluation

The unbound-lineage report is empty for the first time. Twenty-two relations and ten lines down to zero, by naming what twenty-one documents were already about.

Three passes, and the first two argued with the instrument

ADR-036 classified twenty-four unbound relations and left twenty-two, concluding that the ones involving analysis-and-evaluation showed the invariant was over-strong. ADR-048 — mine, this morning — re-examined them, bound six, and repeated the conclusion for the rest. Then I went further and proposed an unbound-ok: directive to luria so the recurring ones could be marked deliberate.

Each step was reasoned, and each made the same move: treat a finding that keeps recurring as evidence about the checker.

It is almost always evidence about the input. A relation is an assertion that two documents have something in common; the author wrote it because they could see the commonality. So the commonality exists, and if no tag names it, the tag is missing. There is no reading under which the right answer is to record that somebody looked and moved on.

invariants.py says this in its own docstring, and all three passes read past it:

Its usual reading is not that the documents are mis-related but that the vocabulary is missing a word.

The measurement that settled it

analysis-and-evaluation looked like the culprit because it names a kind of work where the other twelve name subjects. The obvious fix — drop it — dies on one count:

documents carrying it
91total
74where it is the only tag
64solo and declaring no relations — benchmark notes, where evaluation is the subject
8solo and in a chain

Those 8 were the entire problem. The tag is fine; it was standing in for a subject in eight places. And the split is the report’s own doing — it flags documents in chains and ignores the 64 identical-looking ones that are not, because a relation is the evidence that something is missing. The instrument had already separated the two cases correctly.

The fossil

Chasing this turned up a groups.primary_topic block listing thirteen of the fourteen topics, which I first read as a deliberate statement that tiny-models is not a primary topic. It is not deliberate and it is not a statement. require: any is luria’s default and means “the group is a label, not an axis” — it constrains nothing. The block’s own comment still says “the topic consolidation, enforced… exactly one primary per practice”, which was true until ADR-035 relaxed it from exactly-one.

Then, being inert, it drifted: tiny-models joined the vocabulary and never the list, and nobody noticed, because nothing read it. A rule that stops being enforced does not announce itself; it just stops being true, quietly, at whatever rate the thing it describes changes.

DP-002 names the shape — a field every record shares is a comment with a schema — and this was the degenerate case: a comment with a schema that had also gone stale.

What is left

Nothing, in this report, which is the point. Every future finding is new, and there are two things it can mean. The next unbound relation says something is wrong today rather than joining a standing backlog that a reader has to re-derive from three decisions.

The question of whether the vocabulary wants more kinds of work is deferred rather than answered. What makes deferring safe is the rule this pass establishes: a kind-of-work tag never stands in for the subject of a document that is about something. Add a kind when a document wants one, the way ADR-027 added this one.


Six documents agreed about a paper nobody had filed

2026-09-18 22:50:57 · attention-techniques · record

#161 said “We have RWKV7, but none of the work that led up to it.” That is true and it undersells the gap: the missing trunk is not RWKV’s, it is linear attention’s, and the record had been arguing about it for months.

The shape of the absence

Grepping for linear attention returns fourteen mentions across twelve documents. Every one of them is a claim about the same construction:

documentsays
LIT-194”linear attention has no decay term, so it cannot forget”
LIT-176”efficient and compromises recall over long contexts”
LIT-195”linear attention lacks precise associative recall”
SOTA-167, LIT-165“‘linear attention won’ is not the right summary”

Those are not four topics. They are four statements about what φ(Q)(φ(K)ᵀV) gives up relative to a softmax — the trade Katharopoulos et al. made in 2020 — and the record could not point at the paper that made it.

DP-007 predicts this precisely: what everyone agrees on has no author, so it has no arrival event, so nothing prompts anyone to file it. The delta-rule and SSM lines were filed because they are arguments; the thing they argue with went unwritten.

Two false leads worth recording

“RWKV lineage” is the wrong search. Looking for RWKV-4 and Eagle/Finch finds two papers and stops. The question that finds four is what does the record assume when it says linear attention, and the answer reaches back past RWKV entirely.

AFT looks skippable and is not. An Attention Free Transformer is not a live recommendation, nothing here is measured on it, and by citation count it would not clear the bar #137 set. It earns its place structurally: the W in RWKV is AFT’s learned position bias, so without it the line has a step where three of four letters appear unexplained. A bridge document is worth filing when its absence makes two documents that are load-bearing unreadable as a sequence.

What it changes for the practice that needed it

SOTA-178 recommends vector-valued gating and in-context learning rates, and its conditions section says: “RWKV-7 ‘Goose’, 0.19B to 2.9B. Nothing else in the record.” That sentence reads one way if RWKV-7 is a one-off and another if it is the fifth step of a line that has been scaled to 14B and re-derived four times. It is the second, and the reader can now see that without leaving the record.

Two further claims were being made against the same absence: SOTA-135 says RWKV reached a correction-style update “independently and a year earlier” than the line it sits beside, and LIT-194 makes the same timing observation. Both are claims about when this lineage did something, argued while the record held only its latest member.

The chain binds, and that was not automatic

All five documents share attention-techniques, so the new line adds nothing to the unbound-lineage report, which stayed at 0 relations and 0 lines. Worth checking rather than assuming: the report was emptied two contributions ago, and the first new chain filed after that is exactly where a regression would show up.


The query found a note that had already written the answer down

2026-09-19 00:13:59 · curation · record · adaptation-and-tuning

#86’s trunk detector, run over the whole reading list, produced one live finding worth acting on and it was not subtle. LIT-377 had written the gap into its own Standing section three days earlier:

This note closes the load-bearing gap in that lineage and leaves three others open.

Christiano et al. 2017, Stiennon et al. 2020, and FLAN. All three are now filed, and the reading list renders preference learning → summarization → general instruction following with FLAN alongside.

What the detector is actually for

The issue predicted the yield would be trunks — papers several documents agree about and none can cite. It is, but the mechanism is narrower than the framing suggests, and this case shows it cleanly: the record already knew. Nobody had to infer the gap from a pattern of citations. A human wrote the sentence “neither is in this record”, filed it, and the record carried on.

So the detector is not really finding agreement. It is finding requests that were written where nothing could read them. DP-004 says a pass finds only defects its query is shaped like; the sharper version this session produces is that a request in prose has no code, resolves to nothing, and therefore cannot be the subject of any check luria runs. The lint can tell you a citation points at a retired document. It cannot tell you a paragraph asked for something.

That is worth more than the three notes. The same shape appears twice more in the sweep, as stale requests rather than open ones — LIT-181 still asking for a practice SOTA-169 now carries, LIT-180 still calling Qwen3 unfiled when LIT-182 is the Qwen3 technical report. Both went stale silently for exactly the same reason.

Why the ratio is the result, not the three papers

348 Standing sections → 174 naming three or more documents → 58 with agreement language → 3 live. Most of the 58 are trunks already filed, which is what a query run late looks like and is the honest headline.

The two narrowings are not alike. 174 → 58 was mechanical. 58 → 3 required reading each section against the current record, because "All three practices are confirmed" — an audit result — is indistinguishable at grep distance from "the thing all four papers agree on ... is untouched", which is a trunk. Budget the second narrowing; the grep is free and tells you almost nothing.

The relation FLAN gets, and why it took a minute

compared_against, not extends. The temptation is extends because FLAN is chronologically between Stiennon and InstructGPT and is about the same problem. But ADR-011 is specific: compared_against means somebody ran the comparison, and InstructGPT is not built on FLAN — it beat it, 73.4 ± 2% against 29.8 ± 2%, on the OpenAI API’s prompt distribution.

Filing it as a rival rather than an ancestor also preserves the thing that makes it interesting. NOTE-161 already recorded the assumption underneath that number: the prompts were what API users actually asked for, while FLAN optimizes zero-shot generalization to unseen academic task types. The record therefore now holds a decisive comparison and the reason it is narrower than it reads — but only because the losing arm is a document rather than a name in a table.

Christiano is not a language paper

Worth saying explicitly in its Standing section, because the pull to read it as “early RLHF” is strong and wrong. Atari and simulated locomotion, no language model anywhere in it. What crossed into language was the loop, and Stiennon is where it crossed. Collapsing that into a continuation would make the lineage read as one idea getting bigger, when it is one construction being moved to a domain it was not built for — which is the more useful thing for a reader to know.


A claim about the record is the one kind of claim the record cannot check

2026-09-19 00:27:37 · curation · record · taxonomy

Closes #86. The second query is run, and the two stale sentences the first one turned up are fixed. The three findings are the same finding.

The exegesis detector found nothing, and that is a result

#86’s second query: where does a note’s Standing section explain another document’s decision? The issue expected it to surface notes “filed as explanations of somebody else’s decision rather than as advice”, carrying no recommendation the record could use.

Fifteen Standing sections match. Ten have a practice or theory naming them as source:. Every one of the remaining five says in its own body why it carries none:

noteits own stated reason
LIT-101Proposed, unproven four years on, and the absence is the information
LIT-161the recommendation has a successor the record already carries
LIT-199the origin of a unit the record recommends a variant of
LIT-406the incumbent base model, filed for its successors’ sake
LIT-428carries no practice deliberately; SOTA-167 holds the position

The #40 reference pass had already done this work — SOTA-153, SOTA-161 and SOTA-163 are its output, and the issue’s own two exemplars, LIT-197 and LIT-198, both carry practices now. The query was worth running to find that out, and a nil result from a query somebody wrote down as worth running is cheaper than the standing suspicion that it might find something.

A trap I nearly fell into. My first pass extracted source: lists with a regex and reported LIT-198 and LIT-207 as carrying no practice — which would have been a dramatic finding, since both are the issue’s exemplars. The regex was wrong; SOTA-161 and SOTA-153 name them. Parse the frontmatter. A detector that reports the documents an issue already named as solved is much more likely to be broken than to be right.

The two fixes are one defect, and it is not about papers

LIT-181 asked for a practice as something the record “should eventually carry”. SOTA-169 is that practice — filed three days later, sourcing LIT-181 itself. The request stood for eleven days after it was answered.

LIT-180 said Qwen3 “the backlog still has unfiled”. LIT-182 is the Qwen3 technical report and carries a date: of 2026-09-05, which is LIT-180’s date. Two numbers along in the same batch. That one was never stale; it was false on the day it was written, a claim about the record’s contents made while the batch that falsified it was still landing.

Different failure modes, one cause. DP-002 says a field every record shares is a comment with a schema; the dual is sharper and this session keeps meeting it:

A claim about the record’s own contents, written in prose, is the one kind of claim the record cannot check.

The lint resolves codes, follows citations, reads statuses, and asks upstream what a paper’s title is. It cannot evaluate “X is not in this record”, because that sentence names nothing. So the falsifiable claims in a document are checked continuously and the claims about the corpus are checked never — and those are exactly the ones a later contribution invalidates.

Three instances in one sweep: LIT-377’s “leaves three others open” (true, answered by filing), LIT-181’s standing request (true, answered three days later, never retracted), LIT-180’s “still unfiled” (false immediately).

What would actually fix it, and why I am not proposing it yet

The tempting move is a luria feature — a gap: field, or a directive that makes “this is missing” a checkable assertion. I am not filing that, for the reason #297 was closed as not planned: I have now twice reached for a tool change on the strength of a pattern seen once, and the second time it was a snooze button for a smoke alarm.

What the evidence supports so far is narrower. Three instances, all found by one afternoon’s grep, all in LIT Standing sections, all phrased as either “not in this record” or “should eventually carry”. If a fourth and fifth turn up in a different scheme or a different phrasing, the case for machinery gets real. Until then the cheap answer is that the sweep is repeatable — the queries are in #86 and now in this entry — and that a contributor writing “the record does not hold X” should expect to be the one who files X.


Every relation checked both ways, and three of the queries were the thing that was wrong

2026-09-19 01:37:05 · curation · record · taxonomy

#84 asked for one pass: run the inverse of every declared relation, so the record can make the only kind of clean statement DP-004 permits anyone to trust — every declared relation has been checked in both directions. It can now make that statement. The script is below so the next person runs it rather than reinventing it.

The result

queryfindings
extends / extended_by — parent does not claim the child back, or names a document that does not exist0
compared_against — declared from one end only, or names nothing0
corrects / corrected_by — one end only, or names nothing0
explains / explained_by — one end only, or names nothing0
NOTE.paper — a reading of nothing, or two readings of one paper0
contested_by set while consensus is not contested0
consensus: contested naming nobody0
corrects where the corrected document is still Active14 — see below
introduced_by not among source:4 — see below
compared_against with no trace in either body14 — see below

Every symmetry query is zero, and that is not luck: luria link --fix derives each converse from whichever end declares it, so the class is structurally satisfied and stays that way. Worth knowing that the guarantee is the tool’s rather than the contributors’ — it means these seven queries are not worth re-running unless the fixer changes.

Three queries whose premise was wrong, not whose subject was

This is the useful half, and it is DP-004 turned on itself. The corollary says a pass finds only defects its query is shaped like. The dual: a query run in the other direction can be mis-shaped in that direction too, and then it reports the record as broken when the record is right.

corrects → the corrected document should be retired. The corrects blurb says the earlier document is “normally Superseded”. Fourteen are not. All fourteen carry a frontmatter comment naming Corrective succession (ADR-017) and saying exactly why: QK-Clip fixes a failure mode of Muon at a trillion parameters and you cannot QK-Clip without using Muon; RoPE rescaling is the step a RoPE model takes when it needs a longer window; SOTA-146 fixes GRPO’s published objective and needs GRPO’s group baseline to fix. The corrected practice is not wrong — it is right in its own regime, and the corrector is conditional on it. The record had annotated every instance before the query existed.

introduced_by should be among source:. Four are not. That is the field working: ADR-029, refined by ADR-030, exists precisely to separate who first said it from what evidenced it, and the blurb says so — “the work that first made this recommendation, which is frequently not the work that evidenced it”. SOTA-240 is introduced by the 2012 dropout paper and sourced to the two papers that measured it. A query asserting containment asserts the opposite of the decision.

compared_against should leave a trace in the body. Fourteen pairs do not, and most are false positives: LIT-230, LIT-233 and LIT-235 mention DeepSeekMath or GRPO eight to twelve times each. They narrate the comparison by paper name, not by code. The query was shaped for codes. Any query over prose that looks for LIT-\d+ is asking whether a document was linked, not whether it was discussed.

What the third query did find, and why I did not fix it

Strip the false positives and three groups remain, all the same shape: a compared_against edge between practices drawn from one paper.

  • SOTA-040 ↔ SOTA-041, both sourced to LIT-028 (Kaplan)
  • SOTA-061 ↔ SOTA-062, both sourced to LIT-061
  • SOTA-010 / SOTA-011 / SOTA-012, all three sourced to LIT-014

ADR-011 is unambiguous: compared_against means somebody ran the comparison, and a shared topic is not one. Kaplan et al. did not measure “larger models are more sample efficient” against “lr tuning less important for larger models” — those are two findings, not two arms.

The third group says so itself. SOTA-011 and SOTA-012 carry:

The link stays: it records that three readings of one figure were filed together.

That is a sibling relation, honestly described, wearing the only field available. And the information is already carried: all three name LIT-014 as source:, so “filed together from one paper” is derivable without any edge at all.

I have not removed them. Two reasons. The SOTA-010 group is a documented decision and reversing it silently is not mine to do. And the question underneath is a vocabulary question — whether the record wants a sibling relation, or whether shared source: is enough and these edges should go — which is an ADR, not a sweep. ADR-047 is the precedent: two passes asked for a specializes: relation and the answer was that extends already covered it, found by writing the blurb. The same discipline applies here, and the blurb to write is compared_against’s own, which already exists and already says these edges are wrong.

The script

Kept because #84’s whole argument is that a query living in a devlog entry gets reinvented rather than run. It is ~80 lines of yaml.safe_load over record/**/*.md, building code -> frontmatter and checking each relation against its declared converse. Every check is three lines. Re-run it after any change to luria.yaml’s references: tables, which is the only event that can make the symmetry guarantee stale.


The note was empty; the paper was not

2026-09-19 03:47:24 · curation · record · distributed-optimization

#85’s audit half is effectively finished, and its residue is three notes rather than the fifty-three it was filed at. The one it named as most valuable — LIT-004, gradient checkpointing — is now filed from.

The numbers, re-measured

The issue and its three comments carry four different estimates of the surface, each correcting the last: ~87, then 37, then 53, then 30. All four predate ADR-026. Over LIT-001..118 today:

inherited notes present118
sourcing a practice or theory79
unsourced39
— of those, retired12
— bare: unsourced, in force, no written determination1
unsourced and unread and in force3

The bare one is LIT-040. The three unread are LIT-004 (filed from here), LIT-055 (P-Tuning v2) and LIT-095 (LPIPS). LIT-185 (EAGLE-3), which the issue singled out as an open box, is now both sourced and read.

So the invariant #73 established for the post-migration notes — each one either sources a practice or says why not — now holds for the inherited 118 with one exception.

Why #121 was right to decline and this is not a reversal

That pass looked at LIT-004, found four bullets naming a category — “introduces gradient checkpointing”, “trade-off between memory and computation” — and deliberately filed nothing, on the grounds that filing a practice from a note like that is the failure two passes had been spent correcting. That judgement was correct and it still is.

What changed is the input, not the judgement. The paper’s own abstract states the algorithm (O(sqrt(n)) memory for one extra forward pass per minibatch), the other end of the curve (O(log n) for O(n log n)), and a measured before-and-after (1,000-layer ResNet, 48G → 7G, +30% running time). A practice filed from that is filed from what the paper says. A practice filed from the note would have been filed from what the note said about the paper, which was the category’s name.

The distinction is worth keeping because it is easy to collapse into “we decided not to, now we decided to”. The rule that survives: read the source, not the note, and if the note is all you have, say so. LIT-004 stays Unread — the takeaways are now the paper’s stated results, and the sqrt(n) construction’s derivation still is not in the record.

The gap it sat in, which is ordinary DP-007

SOTA-087 recommends recomputation for attention, and is better evidenced than the general rule — LIT-074 argues it from HBM traffic with a mechanism LIT-004 does not have. Meanwhile SOTA-017, SOTA-019 and SOTA-031 all do memory accounting that assumes activations are recomputed, and nothing stated the trade.

This is DP-007 in its ordinary form rather than its dramatic one. The linear-attention case two contributions ago was twelve documents arguing about a construction they could not cite. This is quieter: recomputation is universal enough in large-model training that nobody writes the rule down, and the record held the narrow case for a year.

The edge was predicted by the document it attaches to. SOTA-087’s v3 history says it gained systems-optimization because “trading recomputation for stored activations is a memory-access decision, and it is what its line holds in common”. That sentence describes a line whose earliest member did not exist. Declaring extends: now binds on exactly that tag, so the unbound report stays at 0 and 0 — checked rather than assumed.

A collision worth naming once

SOTA-054 is “derive the checkpoint interval from online profiling”. SOTA-249 is about checkpointing activations. The first is fault-tolerance — how often to write model state to durable storage so a crash costs little. The second never leaves the device. They share a word and nothing else, and a reader scanning distributed-optimization will meet both within a few rows of each other, so the new practice says so in its body.


An audit is not finished when it has a list

2026-09-19 19:49:09 · curation · record · adaptation-and-tuning

#85’s residue is read. Three notes — LIT-004, LIT-055, LIT-095 — were unsourced, unread and in force; all three now have readings, and the audit that identified them is finished rather than merely accurate.

That distinction was the correction. The previous pass reported the audit half “essentially done” at one bare note and three unread, and treated the readings as residue for somebody else. An audit exists to find work. A list of work is not the work, and a pass that produces the list and stops has converted a content problem into a tracking problem — which is the same move DP-004 warns about one level up, where a query written in a devlog entry is a query that gets reinvented rather than run.

What the readings changed, which was less than hoped and more than nothing

All three confirmed the determination their note already carried. None produced a practice. That is a real outcome and worth stating plainly, because the alternative story — three readings, three new practices — is the one a reader would expect from an audit’s closing pass.

What each added was precision about why:

  • LIT-095 (LPIPS). Its most transferable claim is a negative one. The effect is not VGG’s, not ImageNet’s and not supervision’s — it survives losing all three, including under stacked k-means initialization — but it is also not architecture’s alone, because a randomly initialized network does not produce it. What survives is “train on something”, which nobody needs told. The old standing said “the anthology is about training rather than evaluation”; that is true and it was not the sharpest reason.
  • LIT-004 (gradient checkpointing). The paper has two halves and only one is famous. The allocation half — liveness analysis, in-place operations, memory sharing, framed explicitly as register allocation in a compiler — deliberately gets no practice, because it is what a framework does for you and this record’s distributed-optimization entries are about decisions a person makes. The reading also supplies limits the abstract could not: the segmentation has to exist, the win is over feature maps specifically, it composes with swapping and model parallelism without touching the interconnect, and 30% is one architecture rather than a constant.
  • LIT-055 (P-Tuning v2). Confirms “competitive on quality” as measured rather than charitable — parity from 330M to 10B and on hard sequence labelling at 0.1-3% of parameters — which is what makes the existing no-practice argument work. That argument is that the deciding property was deployment shape, not accuracy, and it only holds if the accuracy claim is real.

The one finding that is not about any of the three papers

Reading P-Tuning v2 against the current record surfaces a convergence that did not exist when the note was last touched, because SOTA-231 was filed two days ago:

what decideswhat people tune
P-Tuning v2 (2021)prompt depth — every layer, not the inputreparameterization — inconsistent across datasets
QLoRA (2023), SOTA-231number of adapted matrices — all linear layersrank r — no effect across the sweep

Two parameter-efficient families, four years and one mechanism apart, both concluding that coverage decides and the knob people tune does not. Neither cites the other; they are not in the same literature.

I did not record this as replication, and the reason is worth keeping. The temptation is to move SOTA-231 off unreplicated — its consensus_note says “One group, one sweep. Nobody in this record has agreed or disagreed”, and here is something that looks like agreeing. But it is a different mechanism in a different setting on different tasks. ADR-010 says contrast is not support; the cousin this needs is that structural agreement is not measurement. Two papers reaching the same shape of conclusion is a reason to look, not evidence about either claim.

It is written into LIT-055’s standing and NOTE-182’s connections instead, where a reader meets it as an observation rather than as a count.

A query correction

LIT-040 was in my previous pass’s “bare notes” count. It is not bare: it has carried a full determination and a reading since 2026-09-10. The regex looked for phrases like “carries no practice” and “unfiled”, and LIT-040 says “nothing is filed from this reading” — the same determination in words the query did not anticipate. One false positive in a population of 118, from a query written to find documents by how they phrase an absence. The lesson is the one this session keeps meeting from different directions: a claim about the record’s own contents is not checkable, so any query over how such claims are phrased is a heuristic, and its output is a candidate list rather than a count.


The rule worth stealing from a video paper was about schedules

2026-09-19 22:04:14 · curation · record · vision-and-graphics

The JEPA cluster is read — LIT-216 (I-JEPA), LIT-215 (V-JEPA 2), LIT-218 (Veo 3 zero-shot). Two practices out of three papers, and the more useful one is not in the topic anybody would have looked under.

First, the process failure that produced this pass

I closed #85 and then found LIT-215, LIT-216 and LIT-218 still unread. They are named in item 2 of that issue’s body. My closing measurement was over LIT-001..118, which is the population the title names — “the inherited 119 notes” — and not the one the body lists.

Reopened and worked rather than quietly re-closed, because the previous curation entry’s whole argument was that an audit becomes a tracking problem when it stops at a list. Closing an issue on a convenient population is the same move wearing a result.

The generalizable bit: when an issue has been revised, the scope is whatever the revision says, and the title is the least reliable part of it. Both the numbers I got were right; the population was wrong.

The encoder gap

Twenty-one notes tagged vision-and-graphics, and every practice that tag carried was downstream of an encoder — SOTA-205 on scene representation, SOTA-236 and SOTA-237 on geometry estimation. Nothing said how the encoder gets trained. #86’s trunk detector had already reported this in LIT-216’s own words; this is the pass that acted on it.

SOTA-250 states it: predict the representations of masked regions from a context block, with an EMA target-encoder, and drop hand-crafted augmentations. Three details are load-bearing and the paper names all three — mask the target-encoder’s output rather than its input, keep target blocks large enough to be semantic, keep the context block spatially distributed.

The finding that was in the wrong topic

LIT-215 is a video paper. Its most transferable result is not about video:

252K iterations at 16 frames and low resolution, then 12K cooldown iterations at raised resolution — up to 8x less pretraining compute than full resolution throughout.

That is a schedule claim, and it only makes sense against a schedule with a distinct decay phase. Which the record already recommends: SOTA-140, warmup-stable-decay. So SOTA-251 extends it, and the dependency runs the right way — without a decay phase there is no principled place to put the resolution increase.

ADR-026 in its purest form. The claim takes its kind, not the domain it was discovered in, and a reader looking for “how do I make pretraining cheaper” will now find a video paper’s answer without having to be looking at vision.

Filed Proposed, not Active, and the promote_when: says why: one projected 8x, one lab, one axis. The obvious second axis is text sequence length, where SOTA-151 already treats context extension as a separate later stage — whether that is the same rule is genuinely open.

Two things from the same recipe deliberately not filed. The gain attribution (data +1.0, model +1.5, iterations +0.8, resolution +4.0 cumulative) is about the end state rather than about how to reach it cheaply. And the simplification to fixed teacher EMA and weight decay, reported as “minimal impact”, is a null result about two hyperparameters in one recipe.

Holding both bets

LIT-218 gets no practice, and the reasoning is worth writing down because the paper is genuinely interesting and still fails the entry test. One proprietary model, no recipe, no ablation of what produced any of it. DP-006 asks whether the work contains an instruction; the nearest candidate — “use a generative video model zero-shot instead of a specialist” — rests entirely on Veo 3 being available, and DP-005 puts that in the adoption column.

What it is for is that the record can now say the field has two live bets on general visual understanding from unlabelled video. One predicts representations and explicitly refuses to generate; the other generates and gets representations as a side effect. LIT-216’s Figure 2 taxonomy draws exactly that line — joint-embedding-predictive versus generative — two years before the generative side started looking like it was winning.

A corpus holding only the joint-embedding line would read as though the question were settled. It is not, and now the record shows that.

One lab is not two groups

LIT-215 scales LIT-216’s construction and shares authors with it. So it is named in SOTA-250’s consensus_note and not its source:, per ADR-017 — the recommendation survives losing it; what it loses is the knowledge that the construction holds at a billion parameters and a million hours. consensus: unreplicated on both practices, for the same reason.


The practice said “a large coordinate network” and the record could not point at one

2026-09-19 22:16:15 · curation · record · vision-and-graphics

#163 is a fifteen-item checklist. Measured against the record with #137’s criterion — something here has to be answerable from it — one item is load-bearing and the rest have no dependents.

NeRF

SOTA-205 recommends replacing “a large coordinate network” with a compact explicit structure and a small decoder. All four of its sources are responses to the same paper: Instant-NGP, K-Planes, 3D Gaussian Splatting, NeuS2. Two of them name it in their own notes.

So the record held a recommendation against a design it could not point at. A reader following SOTA-205 met a description where a citation should be.

Filed with no practice, which is the same determination LIT-428 carries: the record’s position on this design is already SOTA-205’s, and filing a competing practice would be recommending both. The trunk is here to make the existing recommendation legible, not to compete with it.

The reading is worth having for one thing the summary would have missed. Positional encoding is not a refinement in this paper — the authors state the basic implementation “does not converge to a sufficiently high-resolution representation”, and the no-encoding ablation is oversmoothed. That is the part which travels outside vision: it is a claim about what a coordinate-input MLP can represent at all, which is why the note carries representation-and-encoding as its second tag.

The rest of the list, measured

itemdocuments mentioning it
NeRF4
interpolant / SiT3
Tensor Programs2
Fourier features1
SIREN, StyleGAN, CycleGAN, Projected GAN, cold diffusion, diffusion forcing, SAE / logit lens, ReFT, structured-output sampling0

#137 ended in exactly this shape and it is worth naming as a pattern rather than rediscovering it a third time: a checklist assembled from memory ranks by salience, and salience is uncorrelated with what a record can answer. Nine of these fifteen have no dependents at all. That is not an argument against filing them eventually; it is an argument that the list is not ordered, and that ordering it costs one grep.

One item was already done and the issue did not know. It asks to “at very least add TP-IV for muP”. LIT-148 is Tensor Programs V, which is the µP paper, and SOTA-143 already parameterizes with µP from it. TP-IV is the feature-learning theory underneath — a THEORY candidate, not a missing practice, and a different request from the one the checklist makes.

That is the third time this session a tracker item has been stale in a way only measurement revealed. The others: LIT-180 calling Qwen3 unfiled when LIT-182 is the Qwen3 report, and LIT-181 asking for a practice SOTA-169 already carried. All three are the same defect — a claim about the record’s contents, written where nothing can check it.


A criterion is not a house rule just because it worked twice

2026-09-19 23:09:44 · curation · record · vision-and-graphics

#154’s item 1 is done and #180 is mined. The first produced two practices; the second produced a method finding and nothing else, which is the more interesting half.

Item 1 was the cheap half and it paid

#154 proposed two shapes of work in order: extract from what is already read, then file the missing trunk. The second half was done days ago (SOTA-236, SOTA-237). The first was left, and it cost no new reading.

Three notes sat read and unsourced in one neighbourhood. Two carried recommendations nobody had extracted:

  • LIT-113 → SOTA-252. Prior 3D GANs render small and upsample in 2D because volume rendering is too slow at training resolution. A 2D upsampler is multi-view inconsistent by construction. Making the native 512x512 path affordable removes the defect rather than mitigating it.
  • LIT-111 → SOTA-253. Separate what the system knows about a specific instance from what it has learned in general: reconstruct the instance once, match with a network that never saw it or its category. Adding an object becomes a scan, not a training run.

LIT-107 gets a written determination instead. Its claim is real — a backbone that wins at classification does not necessarily win at depth — but the action it implies is “run your own sweep”, which the paper already says and this record cannot improve on.

The pattern worth naming: #121 produced SOTA-205 by re-reading unsourced notes and asking what instruction each contained. That is the second time the same query has paid on the same neighbourhood. Read-and-unsourced is a much better predictor of extractable content than unread-and-unsourced, because somebody has already done the expensive part.

The upsampler rule, and what keeps it from being a platitude

“Make the fast path unnecessary rather than fixing it” is the kind of advice that sounds wise and decides nothing. What makes SOTA-252 usable is step 3 of its pattern: the defect must be structural rather than statistical.

A 2D upsampler cannot see the neighbouring view. That is a fact about where the operator sits, and no amount of training changes it. A stage that is merely worse on average does not qualify — that is an ordinary quality trade and mitigating it is the right response.

SOTA-249 is the mirror image and the practice names it: activation recomputation is a shortcut the record recommends, because recomputation has no correctness defect at all. Same shape, opposite verdict, and the difference is entirely in step 3.

The papers-feed ask, and the criterion I wrongly imported

#180 asks to mine “highly-revisited” entries from dmarx/papers. That repo does not exist; dmarx/papers-feed does, with 187 papers and full metadata.

There is no revisit count. The only engagement field is total_reading_time_seconds. Its median is 10 seconds, it is zero for 63 of 187, and its maximum is 308s. The three highest are a statistics textbook, a social-network paper about romantic partnerships, and a hep-th paper on scattering amplitudes. So the ordering is undefined for a third of the corpus and noisy at the top — that part is a fact about the data and it stands.

What does not stand is the conclusion I drew from it. I ranked the absent entries against #137’s criterion — something in the record has to be answerable from it — found that none cleared it, and filed nothing. That criterion belongs to #137 and to nothing else. Applying it here inverts what this issue is:

A reading feed is an input to the record. Papers in it are absent because they have not been filed yet — which is the premise, not a disqualification.

#137 was re-ranking a worklist of papers proposed as things the record needed, so asking whether the record needed them was the right question. #180 proposes papers because somebody read them, which is a different warrant and a legitimate one: this is one person’s record, and what that person returns to is evidence about what belongs in it. Nothing in DP-006 or ADR-032 requires a candidate to be pre-cited.

The generalizable error is not “I used a bad heuristic”. It is importing a criterion across the boundary it was written for. #137’s criterion was stated in #137, justified by #137’s own framing, and is not a house rule. I promoted it to one because it had worked twice.

The candidate I declined on that mistake

ARXIV-1503.03585, Sohl-Dickstein et al., the founding diffusion paper. In the feed, absent here, and I declined it on the grounds that no document mentions it.

Under this issue’s actual warrant that reasoning does not apply. The record holds 62 documents that mention diffusion and four practices about it, and does not hold the paper the whole line starts from. Whether it earns a practice is a separate question — LIT-036 (DDPM) is what the practices rest on, and SOTA-188 is sourced to EDM, “which derives what this paper set by hand” — but that is an argument about what it sources, not about whether it belongs.

Left as the live candidate it is, rather than struck.


The arrival event came from outside the record

2026-09-19 23:29:33 · curation · record · training-optimization

#180’s reading feed produced a trunk, and the way it produced one is different from every other trunk this session found.

What was missing

Ten practices in this record mention Muon — SOTA-121, SOTA-131, SOTA-120, SOTA-122, SOTA-165, SOTA-168, SOTA-192, SOTA-221, SOTA-001, SOTA-003. The chain is filed end to end: LIT-159 → LIT-122 → LIT-132 → LIT-131.

LIT-159 is a blog post. Filed with a url:, and its own standing says so plainly — “the clearest case yet for ADR-009 — three laboratories pretrain frontier models with this and there is no paper to cite.”

There was a paper. Three of them. The record held none, and held no THEORY saying why orthogonalising an update is the right move.

The account

Gradients are dual vectors; weights are primal. weight -= LR * grad subtracts one from the other, which is only harmless because the Euclidean norm identifies the two spaces. Under a different norm the identification fails and the update needs a duality map.

LIT-438 builds that map for whole architectures: assign each layer an operator norm from its input-output semantics, derive the layer’s map, recurse. For Linear and Conv2D the map is a rectangular Newton-Schulz iteration — which is the operation Muon performs.

So the order inverts. Muon is not a trick that worked and later acquired a rationalisation; it is the duality map for a particular norm, and the blog post came out of the same group’s work on the theory.

The unification is the load-bearing part. §4.1 shows muP and Shampoo both emerge as partial approximations to a single duality map, the one induced by the RMS–RMS operator norm. The record recommends both — SOTA-143 and SOTA-168 — filed from different literatures at different times with nothing connecting them. That they are one object seen from two sides changes neither recommendation and changes what a reader understands on meeting the second, which is exactly what THEORY is for.

Why this find is methodologically new

Every other trunk this session came from the record complaining:

trunkthe complaint that found it
linear attention (LIT-428)twelve documents argued about a construction they could not cite
the RLHF antecedentsLIT-377 wrote “leaves three others open” into its own standing
NeRFSOTA-205 recommended replacing “a large coordinate network” and could not point at one

This one had no complaint to find. The record does not mention modular duality, the modular norm, or the spectral condition — zero occurrences of the first two, one of the third about something else. The trunk detector would never have surfaced it, because the detector reads the record’s own prose and the record’s prose was silent.

The signal came from outside: three papers at 8 distinct days and 14 reading sessions each, near the top of 4,076 in a feed that has nothing to do with this corpus. DP-007 says agreement has no author and therefore no arrival event. That is true of the literature; it is not true of a reader. Somebody kept going back, and that is an arrival event the record cannot generate about itself.

The generalizable claim, and it is a claim about instruments rather than about optimizers: a record’s internal signals find gaps the record has already half-noticed. Finding the gaps it has not noticed at all requires a signal from somewhere else. The reading feed is such a signal, which is the answer to the question #180 was actually asking.

What the theory does not do

It explains the shape of the update, not the constants. SOTA-121’s decoupled weight decay and AdamW-matched update RMS, and SOTA-131’s QK-Clip at a trillion parameters, are engineering this does not reach.

It also does not settle the norm assignment, which is the substantive modelling move — argued from semantics, not derived. A different assignment gives a different optimizer.

And all three papers share authors. Active because the argument is checkable and the practices it explains are independently evidenced — not because anybody outside that group has confirmed the frame. ADR-010’s neighbouring caution holds: a line agreeing with itself is not replication.


Three papers, one diagnosis, three different remedies — and the variable none of the old measurements controlled

2026-09-19 23:56:52 · curation · evidence

Continued filing from the reading feed by revisit count. The three papers at the top that this anthology can express all turned out to answer the same question, and the question is one the record had been arguing about for a month without noticing what it was arguing over.

What the record already held

Three practices on how far a fixed corpus may be repeated, all Proposed or contested:

  • SOTA-124 — repeat freely while epoch size exceeds the model’s memorization window. One figure from a technical blogpost, and a linear scaling its own source calls early.
  • SOTA-171 — about four epochs, from 400 runs.
  • SOTA-173 — repetition overfits severely, and the overfitting is a property of the objective rather than of repetition; augment to fix it.

The record’s own note on all three has been that nobody has run the experiment that tells them apart.

What arrived

Three papers, and none of them is a fourth position:

  • Prabhudesai et al. re-ran SOTA-171’s study with the objective swapped to masked diffusion. The autoregressive arm recovers R* = 31.93 — the four-epoch bound, replicated. Diffusion gets 512.85.
  • Kim et al. left the objective alone and swept weight decay instead. The optimum is roughly thirty times the inherited 0.1, and with it the loss curve stops turning up at all.
  • Morris et al. measured what a transformer can hold: ~3.6 bits per parameter, linear in parameter count, and double descent begins exactly where the data’s information content crosses it.

The finding

All three agree with SOTA-173’s diagnosis and none adopts its remedy. The overfitting really does belong to the recipe rather than to repetition. One paper changes the objective; the other changes one hyperparameter; the third supplies the units in which the whole thing could be settled. A reframing outliving the recipe it arrived with is a good outcome for a Proposed practice and worth recording as one.

The sharper finding is uncomfortable. The three old practices between them report one setting of weight decay, and on Kim et al.’s evidence the answer moves with it. None of those measurements is wrong; they may all be measurements of the under-regularized case. That is not something the record could have found by internal query — no document was complaining, because every document agreed about a value nobody had thought to name.

Two places I had to be careful

The negative result is not a refutation and I nearly wrote it as one. Prabhudesai et al. apply random token masking and attention dropout to their autoregressive arm and report the gap does not close. That is two of SOTA-173’s three families, and SOTA-173 claims delay, not removal. It is the first evidence in the record on that practice from outside its own source and it points the other way — which is exactly what the body now says, and no more. ADR-010’s rule that contrast is not support has an obverse: a contrast that does not reach the claim is not a refutation either.

The capacity measurement half-answers SOTA-124’s promote_when:, and half is not all. That field asks for a measurement of the memorization window at a second model scale so the linear-in-parameters assumption can be checked. Morris et al. check the linear scaling across three orders of magnitude — but Falcon’s window is a token count and this is a bit count, and nobody has done the conversion. It would have been easy to call that satisfied and promote. The status does not move, and the history entry says which half was checked.

On explains: being empty

THEORY-025 is the most useful document in the batch and it underwrites nothing. It supplies the common unit the repetition dispute lacks — the dataset’s information content against the model’s capacity, both measurable — and predicts that multi-epoch overfitting should begin at the crossing. That experiment has not been run by anyone. Filling explains: with the three practices it bears on would have been the easy move and would have been a lie about what the paper shows.

On the ranking

The feed ordered the list; it did not decide what belonged on it. Several papers above these by revisit count — political exposure bias on Twitter, channels with memory, Ricci flow for community detection — are outside what the thirteen topics can express, and skipping them is a judgement rather than an oversight. Worth saying plainly, because a revisit count is a record of attention and attention is not an argument for filing.


A fit is not wrong just because the variable is: retiring the batch-size exponent

2026-09-20 00:24:21 · curation · evidence

The most-revisited absent paper in the feed was Bergsma et al.’s Power Lines, at 4,440 seconds across seven days. It turned out to be the follow-up to the practice I filed the previous session — and to carry, alongside it, the retirement of one of the record’s oldest recommendations.

What I went looking for

SOTA-255, filed yesterday, says to raise weight decay under data constraint, and its conditions say plainly what it could not supply: “the paper gives no way to predict the optimum from the parameter-to-token ratio, so the practice is really ‘sweep it, and sweep upward’.”

Power Lines is a power law in exactly that ratio. The obvious move was to file it as the missing rule and promote.

Why I did not

The two are fitted in disjoint regimes and nobody has joined them.

Power Lines normalizes its timescale by the step count on the explicit ground that “LLM pre-training only uses one epoch of data”, and fits from 20 to 1280 tokens-per-parameter. SOTA-255’s source epochs a fixed corpus many times at parameter-to-token ratios above Chinchilla — tokens-per-parameter below 20 and often below 1. Opposite ends of the same axis, different assumptions about repetition, and no published check that either extrapolates into the other’s range.

So the record now holds two well-measured answers to one question and an unexamined gap between them, and both documents say so. That is a better state than a composition I would have had to invent.

The thing I was not looking for

SOTA-097 — optimal batch size scales as C^0.24 — has been in the record since its first month, sourced to Kaplan’s equation 1.7. Its own body contained this sentence: “That the batch exponent has not been re-derived by anyone since is a reason to hold it loosely, not a reason to trust it.”

It has now been re-derived twice. The variable is wrong: optimal and critical batch size scale in the token budget, not in compute. Zhang et al. ran the decoupling experiment — hold N fixed, hold D fixed, see which one moves the answer — and got D^0.462. Bergsma et al., from a different architecture, corpus, context length, parameterization, schedule and tuning strategy, got D^0.47. Neither ran the other’s protocol.

SOTA-062 — scale batch size with model size, sub-linearly — falls to the same experiment, and its body had invited it in the same words: “a reader with a measurement should prefer it.”

The part worth keeping

Kaplan’s fit is not an arithmetic error, and writing it up as one would have been the easy story. Along the Chinchilla line N and D scale together, so C ≈ 6ND moves with D and a power law in either describes the data equally well. Equation 1.7 measured a projection and reported it as the thing. The tell is only visible with runs off that line: plotted against compute, points at equal D fall on parallel lines rather than one.

That is the same failure mode Chinchilla found in Kaplan’s allocation exponent, in a different coordinate — which is why LIT-028 stays Active with a corrected_by rather than being retired. A method that generalizes past the fits its authors could check is not discredited by the fits it could not.

And the two hyperparameter papers are making the same argument about different constants. beta_2 = 0.95 is a decay per optimizer step, and an optimizer step is not a fixed quantity of data — shrink the batch 512× and the averaging window in tokens shrinks with it, which is the entire content of “small batches are unstable”. lambda = 0.1 means nothing without the learning rate and step count it multiplies. Both papers name the implicit denominator and the constant becomes transferable. I did not expect the cluster to have a thesis.

Three places I had to be careful

The retags. SOTA-062 and SOTA-061 were both filed under model-architecture, and the correction edge from the new practice could not bind until they moved. That is exactly the shape ADR-035 warns against — retagging to make a relation expressible. They are also, plainly, mis-filed: batch size is named in the training-optimization blurb and nothing in the model-architecture blurb covers it. I retagged them, said in both history entries that the retag is right on its own terms and that it also happens to bind the edge, and cited ADR-035 at the site so the next reader can check the reasoning rather than the outcome.

Superseding a well-cited practice is not free. SOTA-097 was cited 15 times across 13 files and SOTA-062 10 times across 9. Every one of those became an unacknowledged citation of a retired document the moment the status changed, which is the lint doing its job. Eight were in documents I did not write; I read each site before vouching for it, and two of them — SOTA-198’s section on the scaling-law exponent, and LIT-028’s standing — needed the prose changed rather than a directive, because both would now mislead a reader.

SOTA-198 came out better, not worse. It says to measure the gradient noise scale rather than predict the batch from compute, and it recorded the disagreement with SOTA-097 as informative-and-open. The disagreement is now resolved in its favour: a noise scale rising through a run is what “critical batch size grows with tokens seen” looks like from inside the run. The temptation with a supersession is to treat everything adjacent as damaged. Here the adjacent practice was right and its reason improved.

On the ranking, again

Two of the top three by revisit count remain unfilable — political exposure bias on Twitter, the work capacity of channels with memory. The feed keeps ordering them first, and they keep not belonging. That is not a defect in the ranking; a revisit count measures attention, and this record measures whether a thirteen-topic vocabulary can carry the claim.


The record named an implementation it did not hold, and the half of a result that a summary drops

2026-09-20 06:31:03 · curation · coverage

Third unit down the reading feed. The gap this one filled was not one the record had complained about — it was one the record had named and not noticed naming.

How it surfaced

SOTA-188 lists Stable Diffusion 3 under implementations:. The record did not hold the paper. Nor did it hold anything on rectified flow, flow matching, or continuous-time diffusion — it has DDPM, DDIM, latent diffusion, EDM and the distillation line, and stops.

An implementations: entry naming a system whose paper is absent is a detectable shape, and not one any query in #86’s trunk detector looks for. Worth adding: the detector reads prose complaints, and this is a structured field quietly asserting that the record knows about something it does not hold.

The half a summary drops

The headline of LIT-449 is rectified flow wins. The finding is narrower and much more useful: rectified flow with a logit-normal timestep distribution wins, and rectified flow with uniform timesteps — the way the prior literature wrote it — does not beat well-tuned epsilon-prediction.

That explains two years of equivocal empirics for a formulation with better theory. The path and the distribution over where you train along it are separate decisions, and conflating them made a real advantage look absent.

I wrote the practice title with both halves in it for that reason. A reader who takes the straight line and keeps uniform sampling has adopted the version that does not win, and a title saying only “use rectified flow” invites exactly that.

The theory was the best thing in the batch

LIT-446 is from 2021 and its central result is a change of variables. Integrate the diffusion bound over signal-to-noise ratio rather than over time — legitimate because the schedule is monotone and therefore invertible — and the schedule vanishes from the integrand, surviving only in the limits.

So in continuous time the bound depends on the noise schedule through two numbers, and variance-preserving and variance-exploding specifications, which the literature treated as different model classes, are the same model up to a rescaling.

This answers an objection SOTA-188 has carried unanswered for a month. That practice says to concentrate training noise in the middle of the range, and the obvious question is whether changing where you sample changes the model. The answer is no — with a qualification I had to be careful about: the invariance is stated for the unweighted bound, and SOTA-188’s loss weighting is precisely what puts it outside that statement. What the theory establishes is that the schedule is the kind of thing one is free to choose, not that this particular choice is neutral.

explains: on THEORY-027 names SOTA-188 and SOTA-264. Yesterday’s theory shipped with that field empty because the bridging experiment had not been run. This one earns it.

Filing a paper unread, on purpose

LIT-448 is DiT, and there is no NOTE for it — which under ADR-025 is a statement, not an omission.

It is here because LIT-447’s entire method is “DiT’s architecture, parameter count and GFLOPs held exactly fixed, transport changed”, and without the note that comparison names something the record does not have. What the neighbouring documents need from it is the scaling claim and the identity of the backbone. Claiming a reading I had not done would have been worse than saying I had not done one, and the note says which.

An independent arrival, and why the record could see it

Esser et al. adopt QK-normalization after mixed-precision training diverged at high resolution, diagnosing it through the discriminative ViT literature’s attention-entropy result. The record already holds QK-norm — SOTA-131, SOTA-192, SOTA-050 — entirely from the language-model side. Neither line cites the other.

DP-007 says agreement has no author and therefore no arrival event. This is the variant worth having: two arrival events, in two literatures, from two different failures. The record can see both at once only because ADR-026 files by the kind of claim rather than by the domain it was found in. That decision was argued on scope; this is the first time it has paid off as a detection mechanism.

Where I stopped short

Two statuses I could have inflated and did not.

SOTA-263, the resolution-dependent timestep shift, is Proposed. The argument is a derivation and it is obviously right, and obviously right is not measured: the paper demonstrates it qualitatively inside a pipeline where several things changed together, and there is no ablation saying what the shift alone is worth. A correction that is obvious once stated is a reason to suspect it is true, not evidence that anyone checked.

SOTA-262, MMDiT, is Proposed because its two ingredients arrive together — separate per-modality weights and joint attention — and nothing separates them. A reader could implement one and credit it with the other’s benefit.

By contrast SOTA-265 is Active on one group’s evidence, because the load-bearing part is an identity rather than a sweep: the diffusion coefficient does not enter the velocity or the score, so it cannot be downstream of training. The measurement only confirms that the freedom is worth using.


A law measured on one dataset, and what happens when something else wants the same capacity

2026-09-20 18:10:55 · curation · evidence

Fourth unit down the reading feed. This one went back to something I filed two days ago and both corroborated and bounded it, which is the first time that has happened in the same week.

What I was looking for

THEORY-025 — a transformer holds about 3.6 bits per parameter — shipped with explains: empty, and the curation entry at the time said why: the experiment connecting capacity to multi-epoch overfitting had not been run by anyone. I went looking down the feed for anything that would give it a neighbour.

Three papers turned up and they do different things to it.

Corroboration, in different units

LIT-452 measures how many Wikidata triples a model can recall and finds capacity linear in model size. THEORY-025 measures storage in bits, on uniform random bitstrings where generalisation is impossible by construction. This measures storage in facts, on a real knowledge base, where generalisation is possible and is separately quantified.

Two instruments, two units, one functional form. That is better evidence than either alone, and I wrote it into both documents.

What it is not is agreement on a magnitude. Nobody has converted facts to bits, so the two rhyme rather than check each other. The open question is now written down in both places rather than left as an impression.

The bound, which is the more interesting half

LIT-451 mixes a knowledge-dense dataset into web text at realistic shares and the linear law disappears. Not degrades — disappears. Below a critical model size, or below a critical mixing ratio, the model memorises almost nothing, and training longer does not help. Past the threshold it jumps to over 60%.

The account: a model with bounded capacity training on a mixture is solving an allocation problem, and an allocation problem has a discrete answer, and a discrete answer moves in jumps when its inputs move smoothly.

So the clean laws everyone has been fitting were all measured on one dataset at a time — which is the case where the budget has exactly one claimant and fills smoothly. That reframes THEORY-025 without contradicting it: the plateau it measures is the shape competition does not produce.

Two practices this contests, and how carefully

SOTA-166 fits a mixing law on small runs and extrapolates. SOTA-238 sets domain weights with a small proxy under group DRO. Both assume the fitted quantity is continuous in scale. If a domain’s threshold falls between the proxy scale and the target scale, the small run is measuring a different regime’s answer rather than a noisy version of the right one.

I moved both to contested and wrote the same caution into both: this is not a refutation. Both methods were measured, both work where they were measured, and a mixture whose domains all sit on the same side of their transitions at both scales transfers fine — plausibly the common case for the large web domains those methods were validated on. The exposure is to precisely the case they are most wanted for: small, high-value, knowledge-dense domains at low share.

The failure mode is also silent, which is what makes it worth writing down. A proxy below threshold reports a confident weight, not an error.

SOTA-103 I deliberately did not contest. It adjusts proportions online from per-domain loss during the run being trained, so it never extrapolates across scale. Whether an online rule can cross a discontinuity it cannot see the far side of is a real question, and it is a different one — noted as open rather than filed as a contest.

A plateau that turned out to be a thing being built

LIT-450 is the best-instrumented paper in the batch. Factual recall trains through a long plateau, and the plateau is the attention extraction circuit forming: until it exists, the error at the attribute token does not reach the name tokens, so the key-value store gets no usable signal.

The evidence is an intervention, which is why THEORY-028 is Active and THEORY-029 is Proposed on the same day. Patch a reference model’s attention patterns into a training model and the plateau disappears; patterns from later in the plateau work better; attention to name tokens rises through it. Three signatures and one of them is causal.

The knapsack account, by contrast, fits its data well and has not been pried apart from an optimisation story that would fit it too. Same batch, same week, different standards — and the difference is whether anyone intervened.

The absence nobody was complaining about

LIT-060 is RETRO. It has been in this record since early on. The only practice drawn from it is SOTA-197, about contamination in evaluation.

The record held the paper that established retrieval-augmented pretraining works and had no practice saying to use it. That is the second time this week a gap has surfaced not from a complaint but from an arriving paper pointing at it — last time it was an implementations: entry naming a system whose paper was absent. Both are structured-field shapes rather than prose complaints, and #86’s trunk detector reads prose.

One over-read I caught

I nearly titled the retrieval practice as a claim about factual competence. It is not. The same paper shows models generalise to unseen facts at roughly ordinary pretraining scaling, with generalisability varying sharply by fact type — and the same underlying quantity, input-output correlation strength, appears to drive both how easily a fact type is memorised and how well it generalises.

So the advice is about an enumerable knowledge base — the thing you could have put in a database — and a reader who takes it as “models can’t do facts” would conclude, wrongly, that factual capability has to be bolted on rather than trained. That distinction is now a section in the practice rather than a sentence I hoped someone would notice.


Three papers that never met, and the status I assumed instead of reading

2026-09-20 20:39:41 · curation · evidence

Fifth unit down the reading feed, and the first where the contribution is a synthesis rather than a filing. Also the unit where I made the mistake CLAUDE.md names explicitly and caught it from the lint rather than from care.

The gap I went looking for

The record holds 29 explanations and almost nothing about what an optimizer’s trajectory actually does. I expected to find THEORY-013 as the incumbent — the SGD noise scale setting generalisation — and to file alongside it.

It is Rejected. Shallue et al. swept 35 workloads and found the generalisation effect vanishes once metaparameters are retuned, so the phenomenon it explained was mostly an artefact of holding the learning rate fixed. The record’s only account of optimizer dynamics is one it does not believe, and edge of stability — among the most-replicated empirical findings of the last five years — had no document at all.

What I got wrong, and how I found out

I wrote three documents describing THEORY-013 as “the closest antecedent the record has”, “the closest thing the record holds”, and “unreconciled with this” — all phrasings that read it as live. I wrote them from memory of having seen the code, not from looking.

luria lint caught it: “THEORY-013 is Rejected, cited 5× in 3 file(s).”

CLAUDE.md says to write acknowledgements “from the lint’s own report, after running it, never from memory of a document’s status”. I had internalised that as a rule about directives and it is a rule about prose. A sentence describing a document’s standing is a claim about its status exactly as much as a directive vouching for it is, and I had no more business asserting one from memory than the other.

What the correction turned into

The fix was more interesting than the error. Kunin et al. use the same SDE machinery THEORY-013 was built on, so the natural next move — quietly drop the reference — would have left the record holding a rejected account and a new paper built from its tools, with nothing saying how they relate.

So all three passages now name the rejection at length and say what it does and does not reach. What was rejected is a claim about test accuracy; Kunin et al. make no claim about test accuracy. They say where the weights go and how fast, under an explicit modified objective. Shallue’s sweep is not evidence against that, because it did not measure it.

ADR-034 is the rule that makes this statable: Rejected on a theory means the reason is wrong. It does not retire the mathematics. Reviving a rejected account by association with a neighbour that shares its tools is the error available here, and three paragraphs exist to block it.

The synthesis

Three papers, 2021, 2024 and 2025, none citing the others, each measuring a different collapse in the same plot:

  • Time. At the edge of stability the optimizer oscillates; the plotted path is the time-average of one that is not smooth.
  • Data and direction. Transitions are frequent, abrupt and differently timed, and their sum is smooth. Smoothness is what many breakthroughs look like added up.
  • The tail. Long after the curve flattens the weights keep travelling, distance growing as a power law.

THEORY-031 states the conjunction, which no single paper does. That is DP-007’s shape — agreement with no author and so no arrival event — given one, and it is the second time this week the useful thing was a claim only the record could make from holding several papers at once.

It also generalises THEORY-028, filed two days ago: one plateau shown to be a circuit under construction, by patching the circuit in. That was a single transition made visible by intervention. This says the population is large.

Where I held the line on status

THEORY-031 is Active and THEORY-030 is Proposed, from the same contribution, and the asymmetry is the point.

The synthesis is Active because it is the weaker claim: not why the curve is lossy in each case, but that it is, measured three ways by three groups. The Central Flows account is Proposed despite having the better evidence in its own frame — a predictive flow and a clean ablation — because every result in it is full-batch and every recipe this record holds is stochastic. A theory about optimization that holds only without stochastic gradients explains a setting nobody here trains in.

No practice is filed from it for the same reason. The temptation was “read a learning rate as a curvature penalty”, which is a genuinely useful reframing and would have asserted a transfer nobody has made.

The one I did not check and should have

I wrote SOTA-261 into a note from memory of last night’s filing and verified it afterwards. It was right. That is luck, not method, and it is the same failure as the THEORY-013 one with a better outcome — which is exactly why the outcome is not the thing to learn from.


Half a topic was missing, and both papers that found it stand on something the record does not hold

2026-09-20 22:04:57 · curation · coverage

Back to the reading feed after a rejected proposal. Picked the representation cluster and found the topic was half-empty in a way its own name makes obvious in hindsight.

The gap

representation-and-encoding holds fourteen LIT notes. All fourteen are about encoding: subword units, RoPE, ALiBi, context extension, positional encoding’s effect on length generalisation, the inner lexicon. Not one is about representation — what one is, what models converge to, how concepts sit in the space.

That is not a subtle absence. It is the second word of the topic’s own label, and no query anybody has run would have surfaced it, because nothing in the record complains about it. The topic looks full. It has fourteen documents and an active line of work running through them.

Found by arriving papers, again. Third time this week.

What went in

Three hypotheses about what representations are:

  • Platonic — they converge, across architectures, objectives and modalities, toward a model of whatever generated the data.
  • Lattice — a concept direction plus a threshold is a half-space; intersecting half-spaces gives a concept lattice, so refinement and generalisation are geometric operations.
  • Contextures — a representation is the association between the input and a context variable, and the useful contexts are the ones whose association is neither too strong nor too weak.

The trunk I did not fill

All three lean on the Linear Representation Hypothesis. The Lattice paper is explicitly an elaboration of it. And the record has nothing — no document for the hypothesis, none for steering vectors, none for concept directions at all.

So I have filed two elaborations of an absent foundation, which is backwards, and I said so in both theory documents rather than letting it pass. It is named rather than closed because closing it is a unit of its own: the hypothesis has a real literature, a causal-inner-product formulation, and live disputes, and a single note asserting “concepts are directions” would be exactly the thin filing this record exists to prevent.

Keeping two claims apart

The Platonic paper measures one thing and conjectures another, and the temptation is to write them as one finding.

Measured: vision and language models agree increasingly about pairwise distances as they scale, across architectures and objectives. Conjectured: the endpoint is a representation of the world that generated the data — with a proof holding only for discrete worlds with bijective observation functions, which real observation is not.

THEORY-036 separates them and is Proposed on account of the second, even though the first would carry Active on its own. A document that merged them would be claiming a conjecture is measured.

What made me trust the paper more than I expected: they probe their own weak premise rather than around it. Bijectivity predicts a more informative observation should align better, so they vary caption density on fixed images — and denser captions do align better. That is the experiment that could have embarrassed them.

A skim, marked as one

LIT-459 is a 313,000-character dissertation. I read the abstract, the introduction, the stated implications, the conclusions and the sections naming its two objectives. I did not read the theorems, the statistical learning bounds or the semi-supervised extension.

NOTE-207 is Skimmed and says all of that in its first section, and every claim table entry is marked weak or moderate accordingly. ADR-025 says Skimmed is respectable and is not enough to source a practice from alone — so SOTA-273 exists at Proposed with consensus: unassessed and carries the debt in its conditions rather than pretending it away.

The alternative was to skip the paper. Its framing — objectives differ by context variable, and the useful contexts have a measurable sweet spot — is the first thing in the record proposing a criterion for pretraining objectives rather than a case, and the registry files every objective on its own evidence with nothing saying what they share. Worth having at a stated discount.

The one I filed no practice from

LIT-460 is elegant and I filed nothing actionable from it. It establishes a structure on WordNet and demonstrates that structure on WordNet — a hand-built ontology with exactly the hierarchical shape the hypothesis predicts. Recovering a lattice from concepts somebody constructed as a lattice is not strong evidence the lattice is in the embeddings.

The obvious practice — build a steering vector for a compound concept by meet or join instead of searching for one — is available from the construction and is never run as an intervention. Filing it would have been inventing a recommendation the paper does not make. THEORY-034 has explains: empty and a promote_when: naming the severe test, which is cheap: cluster a model’s own embeddings and look for the structure where nobody put it.


An account this record called Active got its first outside test, and lost

2026-09-20 22:27:07 · curation · contested

Continued down the revisit ranking and found a cluster that reaches back into work filed a day ago and a week ago. Four papers, three read, one left unfiled.

What the ranking surfaced

Filtering the remaining worklist for optimization geometry gave a tight group: 2605.11181 (Muon is Not That Special, six revisits), 2512.04299 (When do spectral gradient updates help, five), 2103.00065 (Cohen et al.’s Edge of Stability, six), and 2603.00541 (Spectral Condition for muP under Width-Depth Scaling, nine — the highest in the whole remaining list).

The last one has no HTML on arXiv; the conversion failed and only the abstract is retrievable. An abstract is not a reading, and ADR-025 exists so that the record can tell one from the other, so it is not filed. It stays at the top of the worklist.

The trunk that was asserted rather than held

THEORY-030 was filed yesterday. Its promote_when says, of the edge of stability, that it “is established and is the premise rather than the claim.”

That sentence is true about the literature and was false about the record. Nothing in it held Cohen et al. 2021. LIT-453 — the Central Flows paper, same first author, filed in the same contribution — is a model of the edge of stability, and its antecedent was missing, so the extends edge could not be written either.

This is the shape #86’s trunk detectors are for and the shape neither of them catches: the gap was not a document citing something retired or a relation left unbound. It was a document asserting, in prose, that the field had settled something, with nothing in the record to point at. Both existing detectors read ## Standing sections. This one is in a promote_when.

LIT-461 is now filed, LIT-453 declares the edge, and THEORY-035 holds the account at Active.

The demotion

THEORY-024 — orthogonalising the update is dualising it, and muP and Shampoo are two partial approximations of one duality map — was Active. Its last paragraph reads:

And it is one group. All three papers share authors, and ADR-010’s neighbouring caution applies: a line agreeing with itself is not replication. Active because the argument is checkable and the practices it explains are independently evidenced, not because anyone outside has confirmed the frame.

Shumaylov et al. are the first outside group to look. They built Kaon: an optimizer that replaces the gradient’s singular values with noise from a chaotic recurrence, computes no linear minimization oracle, dualizes nothing, and targets no norm. It matches Muon.

The document named its own vulnerability and the vulnerability arrived. That is the best case for a record like this one and it is worth saying plainly: the caveat was not decoration, it was a prediction about what would need checking, and it paid.

THEORY-024 goes to Proposed, not Rejected. The derivation is mathematics and no experiment touches it. What the experiment reaches is the sentence a reader takes away — that being the duality map is why Muon works — and an account that cannot distinguish its object from a randomized control is not, on that evidence, doing explanatory work. No text was removed; a section was added.

What the demotion cost

Fourteen citations in eleven files, all instantly unacknowledged. Five of those files predate this contribution: LIT-438, LIT-453, NOTE-189, NOTE-203, THEORY-030. Each needed a directive written from the lint’s report, and each needed a different reason, because a citation of the account from the paper it was built from is not the same thing as a citation of it as a contrast.

That is the third time in a week that a status change has turned a quiet record into a list of chores. It is the mechanism working, and it is also a measurable cost of demotion that nothing in the record currently accounts for.

What was not filed, and why

No practice from LIT-456. Its actionable residue is “retune the learning rate for each optimizer rather than transferring it”, and that is already SOTA-165, sourced to LIT-156, which tuned ten optimizers per-optimizer across four scales. Filing it again from one architecture at NanoGPT scale would add a citation and no claim. DP-006 says filing is not endorsement; the converse discipline is that not every reading owes a practice.

Kaon is not a recommendation. The authors call it a pedagogical construction and the reading note says so twice. It is a control. A reader who came away thinking the record suggests randomizing singular values would have been failed by the filing.

SOTA-274 stops at measuring. Davis and Drusvyatskiy give a blockwise condition that predicts when a spectral update helps. The obvious practice is to route updates by it — spectral where it holds, Euclidean elsewhere — and that ablation is not in the paper. ADR-017’s question is what the claim cannot survive losing, and a routing recipe would not survive losing an experiment nobody ran. The practice is the measurement, and promote_when asks for the ablation.

Three accounts, held as three

The record now holds three explanations bearing on matrix preconditioning: THEORY-024 (it is the duality map), THEORY-033 (it is step-size realizability), THEORY-032 (it is the rank structure of activations and gradients). The second denies the first’s explanatory force. The third arrives from an unrelated group and does not cite the second, nor the second the third.

The temptation is to merge the two new ones — both are “not geometry, but something measurable” — and that would assert a unification nobody has shown. They are two hypotheses about one phenomenon, from two groups, and the record should say so rather than tidy it.

Standing debt

  • 2603.00541 is unread and top of the ranking. Nine revisits, no HTML, abstract only. Worth a PDF extraction attempt in a later pass.
  • Islamov et al., “Non-Euclidean gradient descent operates at the edge of stability” (2603.05002), cited by LIT-456, joins the two halves of this cluster directly and is not in the record.
  • The Linear Representation Hypothesis is still named-not-filed from the previous contribution.
  • Everything in this cluster below the top is small-scale. Kaon at NanoGPT against practices evidenced at 1.6T parameters; the edge of stability full-batch on CIFAR-10 against practices that are all stochastic. Both documents say so in their own limitations rather than in a note nobody will read.

A promote_when nearly came true, and the interesting part is the word nearly

2026-09-20 23:51:21 · curation · coverage

Went back for the paper I had left at the top of the worklist an hour earlier with the note “no HTML, abstract only, not filed”. That was half right.

The retrieval was wrong, not the paper

2603.00541 has no ar5iv HTML — the conversion failed and the fallback page says so. But the PDF is fine, and the first attempt at it reported seven pages because the download was truncated. A second fetch gave 76 pages and 187,000 characters, which extracted cleanly once cffi was installed to unbreak pypdf’s import of cryptography.

The standing debt I wrote an hour ago — “worth a PDF extraction attempt in a later pass” — was discharged in about four minutes. Worth noting that the reason it looked unreadable was a truncated transfer reported as a short document, and nothing in the failure said so. A seven-page muP paper should have been suspicious on its face and wasn’t.

What the paper is

Zheng et al. extend the spectral condition for muP from width scaling to joint width-depth scaling, and the result is a unification: Depth-muP and CompleteP are not rival proposals, they are the k = 1 and k ≥ 2 cases of one condition, where k counts the linear transformations inside a residual branch.

The mechanism is one term. Expand the one-step change in a residual block’s output. With one weight in the branch, every term has exactly one ΔW. With two, there is also the term where both moved — ΔW⁽²⁾ΔW⁽¹⁾. Ordinarily that is second order and negligible; under muP it is not, because muP deliberately makes every update as large as stability allows, so a product of two updates is the same order as the updates. Constraining it tightens the residual multiplier from 1/√L to 1/L. That is the whole difference between the two published parameterizations.

Every Transformer branch holds more than one transformation, so every Transformer is the tighter case.

The promote_when

SOTA-144 was Proposed, unreplicated, and its promote_when read:

An independent group training under CompleteP itself and reporting depth transfer. A result that reaches depth transfer by another mechanism is not it — LIT-153 did that, and two routes to one property is evidence the property is reachable, not that this route works.

Zheng et al. are independent — Renmin University and ByteDance Seed, no overlap with the Cerebras authors. They report depth transfer to 256 layers. And they are emphatically not “another mechanism”: they derive the same scaling, from an independent framework, which is exactly what the field’s second sentence was protecting against the absence of.

So it is tempting to mark it met, and I nearly did. Two things stop it.

They do not train AdamW. §5.1: “Since SGD and AdamW have been extensively studied in prior muP studies under width-depth scaling, we focus on more recent optimizers.” They run Muon-Kimi-AdamW, Muon-AdamW, Shampoo-AdamW and Sophia. AdamW is the optimizer LIT-150 defined the depth exponent for.

The paper’s own word is “style”. Condition 3.1 “recovers CompleteP-style results” — not implements CompleteP. That hedge is theirs, not mine, and reading past it would be reading past the thing the author was careful about.

What they supply is stronger than the literal test in one direction — an independent derivation and four optimizers rather than one — and not the test in another. consensus goes unreplicated → emerging; status stays Proposed; and a section in SOTA-144 records the difference rather than leaving a discharged field with nothing to say why.

Rewriting the promote_when rather than deleting it

The old field was written about independence because independence was the visible weakness. It is no longer the weakness. What is left is scale: every depth sweep in the record, from either group, is 300M tokens. Deep and short. Nobody has shown that the transferred learning rate is still the right one at the end of a real training run.

So promote_when now asks for that. This is the second time this week a promote_when has needed rewriting rather than satisfying, and the pattern is the same both times: the field named the weakness that was visible when it was written, the weakness moved, and the field had to move with it. That is ADR-014 working — a field that names a kind of result can be re-aimed; one that named a quantity could not be.

Two practices the record could not previously state

SOTA-144 says use CompleteP. It does not say which architectures need it, because LIT-150 compared CompleteP against muP rather than against Depth-muP. SOTA-275 is the missing half: count the transformations in your residual branch, and that number picks the rule.

SOTA-276 is the implementation shortcut, and it is the one I expect a practitioner to actually use. For every modern optimizer they treat except SGD, width-depth muP is width muP plus α_l = Θ(1/L) and nothing else, because a normalized or preconditioned update has a norm that does not depend on the residual multiplier. The record recommends Muon (SOTA-121) and matrix preconditioning (SOTA-165) and has never said how to muP either. It turns out the omission was survivable for exactly this reason.

One thing the authors caught that I would not have

Their §5.4. For Muon-Kimi-AdamW, standard parameterization appears to transfer across depth reasonably well — which would undercut the whole argument if taken at face value. They say so themselves, attribute it to moderate depths and to LayerNorm and QKNorm masking the scaling pathology, remove LayerNorm, and show SP then breaks.

That is a real finding about how much modern normalization is already absorbing, and it means the practical margin at the depths people train is smaller than the asymptotic argument. It is carried into the practice’s conditions and the theory’s “what this does not say”, because a reader who adopts this on the strength of the asymptotics and sees no difference at L = 32 should find the explanation in the record rather than concluding the record was wrong.

Standing debt

  • Islamov et al., 2603.05002 — “Non-Euclidean gradient descent operates at the edge of stability” — still unfiled, and it joins the two halves of the previous cluster directly.
  • The Linear Representation Hypothesis, still named-not-filed.
  • Only one side of SOTA-275’s prediction is tested. The paper shows k ≥ 2 beating k = 1 on Transformers. Nobody has shown k = 1 beating k ≥ 2 on a one-transformation architecture, which is what would make branch depth an index rather than a preference for the tighter rule. That is what its promote_when asks for.

The record could say what to do and why it works, and had no way to say what is impossible

2026-09-21 00:07:01 · curation · coverage

Went looking for what the record holds on the limits of transformers and found that every hit for “expressive” was an architecture paper using the word as a selling point. Nothing on lower bounds. Nothing on what the architecture cannot do at any size.

That is a structural absence rather than a missing paper. SOTA says what to do, THEORY says why it works, LIT says where it came from — three schemes all pointed at things that work. A claim of the form “no amount of tuning buys you this” has nowhere obvious to live, and so nothing of that shape had ever been filed.

Two kinds of limit, and the cluster is the contrast

The papers that surfaced split cleanly into a limit that is proved and limits that were measured, and the contrast is the unit.

Chen et al. (2412.02975, 13 revisits) prove the first unconditional lower bound for a decoder-only transformer of more than one layer. What makes it possible is worth recording: there was a published argument that unconditional bounds here would require breakthrough circuit lower bounds, and this sidesteps it rather than breaking it, by using the one structural feature an encoder lacks. Causal masking means a position cannot see ahead and does not retain what it forwarded. Model that as forgetful players on a line, one epoch per attention layer, and the bottleneck becomes provable.

Three separations fall out, all exponential and all the same fact from different angles: depth buys what width cannot, an encoder does it exponentially smaller, and one layer plus chain of thought suffices.

The other three papers are about limits that were measured, and whether the measurement was of the model.

The dispute, and what I decided not to decide

The Illusion of Thinking reports that reasoning models collapse to zero accuracy past a complexity threshold while spending fewer thinking tokens. A comment argues the collapse is the evaluation: output caps, a scorer that cannot distinguish refusal from failure, and — the sharp one — River Crossing instances that are mathematically unsolvable yet scored as failures.

The tempting move is to file the comment as a debunking. Three things stopped it.

The Illusion paper is NeurIPS 2025, camera-ready, last revised November 2025 — five months after the comment. It went through peer review with the objection already public. That does not make it right and it does rule out the reading a person would reach if they met only the comment.

The comment is weaker than its rhetoric. Single author, who states that Claude Opus wrote the bulk of it and was removed as co-author under arXiv policy. Its central empirical rebuttal — ask for a generating function and accuracy returns — is explicitly underpowered, with full validation named as future work. §4 is a published self-correction: an earlier version assumed the evaluation required intermediate states, commenters showed otherwise, the section was rewritten. And its reference list cites ARXIV-2501.12948 for Shojaee et al., which is DeepSeek-R1. The arXiv metadata names the right target, so this is a bibliography error and not a confusion about what is being commented on — I checked before writing it down, which is the kind of thing this cluster is about.

And they agree on the fact. Both report the collapse happening below the token limit — the Illusion paper says models are “well below their generation length limits with ample inference budget available”; the comment computes the same thing and concludes models “may be poorly calibrated about their own context length capabilities”. The disagreement is entirely about what that shared observation means. Reading either paper alone, you would not know that.

One claim in the comment does not depend on any of this: the Missionaries–Cannibals family has no solution past five pairs with a boat of three, and instances like that were scored as failures. That is checkable and it lands.

So: both Active, corrects declared because that is what the document is, and neither treated as having won.

The practice came from the boring paper

SOTA-278 is not sourced to the dispute. It is sourced to Hu and Frank, COLM 2024, who measured the same phenomenon properly: four capacities, each asked a high-demand and a low-demand way, 13 models across five families, and a significant size × method interaction in three of four domains. The gap narrows as models get larger and as one model trains longer.

The interaction is the part with teeth. If the demand were a constant offset it would cancel in a comparison. It is not — the weaker model pays more of it — so comparing a small and a large model on one demanding evaluation counts the tax as capability.

Sourcing the practice to the systematic study and using the dispute as the worked example is what lets the practice be Active while the dispute stays open. The vivid case makes the check memorable; it is not what makes it true.

What I did not file

No chain-of-thought practice, and finding out why was the surprise of the session. The record holds no practice recommending chain of thought. SOTA-127, which says to filter chain-of-thought traces out of tiny models’ training data, is the entire CoT presence in a corpus of 278 practices.

Corollary 1.4 would be a tempting way to fix that — the first provable benefit of CoT, no complexity conjecture needed. But it is a representability result: a one-layer decoder with CoT can express a composition that a constant-depth one cannot. It says nothing about whether a trained model uses the room, or whether emitting steps helps on a task anyone runs. Sourcing “use chain of thought” to it would source a recommendation about inference to an existence proof. ADR-017’s question — what could this claim not survive losing — answers itself.

So the gap is named in three places and left open. It is now the largest uncovered trunk I know of in the record.

An observation about the feed I have been skipping silently

The top of the revisit ranking has been the same paper for several passes: 2411.01852, an audit of political exposure bias on Twitter/X, at 22 revisits — nearly double the next item. Below it sit Industry Influence in High-Profile Social Media Research, Introducing AI to an Online Petition Platform, and The unintended consequences of large language models as a labor-augmenting technology in science.

I have skipped these every pass without writing down why, which is worse than either filing them or deciding against them. They are a social-science cluster: studies of deployed systems and their effects on people, not claims the thirteen topics can express. ADR-026 scopes by the kind of claim, and “algorithmic amplification changed political exposure” is not a recommendation, an explanation of a technique, or a paper’s standing in a practice lineage.

That is a judgement and it should be visible rather than enacted by silence every pass. If it is wrong, the fix is a topic with a label and a blurb and a decision, which is what CLAUDE.md says to do when the vocabulary cannot say what a document needs.

Standing debt

  • Islamov et al., 2603.05002, still unfiled.
  • The Linear Representation Hypothesis, still named-not-filed.
  • The chain-of-thought trunk, newly named and the biggest of the three.
  • 2411.01852 and its neighbours, now explicitly out of scope rather than silently skipped — reversible if the topic vocabulary grows.

Filling a trunk I had named an hour earlier, and finding two things broken on the way

2026-09-21 00:36:31 · curation · coverage

The previous contribution named the chain-of-thought gap and deliberately did not fill it, because the paper in hand was a representability theorem and the practice needed an empirical source. This fills it with the right paper.

How large the gap actually was

The record held 278 practices and not one of them recommended chain of thought. SOTA-127 — filter chain-of-thought traces out of a tiny specialist’s training data — was the entire presence of the idea.

That is stranger than a missing paper. SOTA-130 skips the reasoning SFT stage and runs RL with verifiable rewards. LIT-466 evaluates models whose defining feature is an extended thinking trace. Both stand on something the record had never written down. The absence was invisible precisely because so much was built on top of it — nothing complained, because everything assumed it.

Why the ablations are the filing

The headline number is that PaLM 540B more than doubles on GSM8K and beats a fine-tuned model with a verifier, from eight exemplars. That is not what makes this the trunk. What makes it the trunk is that Wei et al. built the three obvious rival explanations and knocked each down:

  • Equation only. Maybe chain of thought just gets the model to write the equation. Prompted for the equation alone, GSM8K does not improve.
  • Variable compute only. Maybe it just buys more forward passes. Prompted to emit a row of dots as long as the needed equation, performance is at baseline.
  • Chain of thought after the answer. Maybe it activates relevant pretraining knowledge. Placed after the answer, performance is at baseline.

A paper that reports a large effect is common. A paper that reports a large effect and has already built the three experiments a sceptic would ask for is what a trunk should be.

Two things that look like a contradiction and are not

The dots ablation says extra tokens buy nothing. THEORY-038, filed an hour ago, says chain of thought gives a shallow decoder extra computation space and that is a provable benefit. A fast reading has these opposed.

They are not. The theoretical benefit comes from writing intermediate results into the context and reading them back on a later pass. A row of dots holds no results. One says the room exists; the other says the room only helps if you put something in it. Written into the reading note because I nearly filed it as a tension.

The emergence claim, against a practice filed the same night

Wei et al. report the effect as emergent at roughly 100B parameters. An hour earlier I filed SOTA-278 — rule out the evaluation before reporting a limit — and the record already held SOTA-200, check whether an emergent capability is a metric artefact.

So: this paper’s emergence is measured as exact-match accuracy over multi-step answers. BIG-bench (LIT-077), which is SOTA-200’s source, says tasks showing breakthrough behaviour “often involve multiple steps or components, or brittle metrics”. That is a description of this measurement.

The honest reading is narrow and I want it on the record: the gains at 540B are enormous and survive three ablations, and nothing about the metric touches them. The shape of the curve — the discontinuity, the claim that something appears at a threshold — is the shape SOTA-200 says to distrust, and nobody has re-run it against a continuous score. Both go in the practice’s conditions.

Schaeffer et al., “Are Emergent Abilities of Large Language Models a Mirage?” (ARXIV-2304.15004), argues this case directly and the record does not hold it. Named as the obvious next filing.

I also caught myself misattributing that argument to LIT-085 while writing the note — LIT-085 is the grokking progress-measures paper, and the brittle-metric line is BIG-bench’s. Corrected before the commit, and worth recording because it is the second time this week prose has cited a document from memory of what it says rather than from reading it.

Two things broken, found on the way

A dangling temp code on main. SOTA-277, filed in the previous contribution, cited the temporary code that had already become SOTA-275 one contribution earlier. Concretization rewrites a contribution’s own codes; it did not rewrite this cross-reference to an already-concretized one from an earlier branch. The result was a link resolving to nothing and an inactive-ok directive excusing a document that did not exist, which the lint reported as “annotation names unknown document(s) … so it excuses nothing”. Repointed to SOTA-275.

The general shape: a branch cut from main between a merge and its concretization commit carries stale temp codes, and the next contribution inherits them. I hit this twice tonight — once as this bug, once when my own new files referenced codes that had concretized while I was writing them. Both were caught by the lint. Worth an issue.

LIT-035 did not say what it was about. The unbound-lineage report flagged LIT-035 ↔ LIT-467 as joined by nothing: GPT-3 tagged model-architecture, chain-of-thought tagged adaptation-and-tuning.

The tempting fix is to add a tag until the edge binds, which is exactly what ADR-035 forbids. So the question is whether the tag is true, and here it plainly is: the paper is called “Language Models are Few-Shot Learners”, its central claim is reaching a new task from in-context examples with no gradient update, and SOTA-038 — derived from it — already carried adaptation-and-tuning. The paper was the one document in the chain not saying what it was about.

Added, with the reasoning in the history note including the fact that the report is what surfaced it, so a later reader can audit the motivation rather than take my word for it. If the tag had been false, the right move would have been to drop the edge.

One unbound line, left unbound

SOTA-036 → 037 → 038 → SOTA-279 now has no tag common to every member. The first two are model-architecture, the last is adaptation-and-tuning.

That is not a missing word. It is the line genuinely changing subject: from what a decoder-only model does at scale, to how you prompt one. Adding model-architecture to a prompting practice to close the report would be asserting something false to make a number go to zero — and the report’s own text says lines are the weaker of the two signals and should be read whole before acting on. Read, and left.

Every previous contribution this week closed at 0/0. This one closes at 0 relations and 1 line, deliberately.

Standing debt

  • Zero-shot chain of thought (ARXIV-2205.11916) and self-consistency (ARXIV-2203.11171) — the two immediate descendants, neither in the record, each a separate recommendation. SOTA-279 names both as not covered.
  • Schaeffer et al. 2304.15004, newly named.
  • Islamov et al. 2603.05002, still unfiled.
  • The Linear Representation Hypothesis, still named-not-filed.
  • The concretization-lag defect, which wants an issue rather than a memory.

Twice in one session I quoted a decision I had not read, and the second time it named what I was doing

2026-09-21 01:19:40 · curation · record

Filing the chain-of-thought trunk, the unbound-lineage report flagged LIT-035 ↔ LIT-467 as joined by nothing: GPT-3 tagged model-architecture, chain-of-thought tagged adaptation-and-tuning. I added adaptation-and-tuning to LIT-035, wrote a careful history note defending the decision, and said in the pull request that “adding a tag to close an unbound edge is precisely what ADR-035 forbids”.

Challenged on it, I went and read ADR-035. It does not say that.

What it actually says

§3 moves the chain invariant from primary_topic to tags and states the consequence plainly: “A shared tag can now bind a relation, which is the point and the risk.” The risk it then names is specific — “Binding on a real topic is the record saying what two documents have in common. Binding on a free-form label is the #101 move.” §4 removes two flash-attention labels for being exactly that, and its decision table weighs three newly-bound edges and keeps two.

Then §5 closes the vocabulary on SOTA, LIT and THEORY — which means the failure mode §4 is about cannot happen on those three schemes any more. The only tag you can add is one of the thirteen, each with a label and a blurb and a decision behind it, and the truth test is the only question left.

And §7 restores eleven documents’ old topics as secondaries. Additive retagging, in response to a review pointing out that documents were not saying what they were about, is the decision’s own central action.

So: the report surfaces candidates, and acting on one by adding a true topic is the intended response. That is nearly the opposite of what I said.

Where the wrong rule came from

CLAUDE.md:

Add a second topic when it is genuinely true, and never to bind a relation — the chain invariant reads the whole tag list now, so an incidental tag will bind an edge that should have stayed open (ADR-035).

The first clause is the real test. The third clause names the real hazard — an incidental tag. The middle clause, read on its own, forbids a motivation: not “don’t add a false tag” but “don’t add a tag because it binds”. That is unfalsifiable from the outside and, taken literally, makes the unbound report unusable, since any tag you add after reading the report was added partly because of the report.

I read the middle clause, repeated it, and built a defensive history note around it.

What I changed

CLAUDE.md now states the truth test and says what the decision rules out.

ADR-035 is Active (v3) and gains a section pointing at the two decisions that narrowed it. LIT-035’s history note loses its defence against the misread rule and says the plain thing.

Then I made the same class of mistake again

Having been corrected for quoting a rule I had not read, I promoted ADR-035 and went to remove the directives the promotion stripped — and found three of them on ADR-046, ADR-048 and ADR-049. Decisions numbered after it. Which I also had not read.

ADR-046 already did most of what I thought I was doing: “Tag the document’s subject, and be liberal about it. More than one topic is normal; three is fine. The test is whether the tag is justifiably appropriate … ADR-035 stands unchanged … What this decision says is that the forbidden case is narrow.” My ADR-035 v2 section restated that from scratch without citing it, and my CLAUDE.md rewrite cited neither it nor ADR-049.

ADR-049 is worse for me, because it names what I had just done. Its title is “Unbound is never the resting state”, and it says an unbound relation “is a defect with exactly two readings — the invariant is missing, or the relation is wrong — and never a third where the answer is to note that somebody looked.” It took 22 unbound relations and 10 unbound lines to zero, and rejected an acknowledgement directive for the purpose, saying both earlier attempts “treat the report as a noticeboard”.

One contribution earlier I had written: “Read, and left.”

So the corrected CLAUDE.md rule now carries ADR-046’s test and ADR-049’s two readings, and the ADR-035 section points at both rather than reconstructing the rule a third time. Four passes have now written down some version of this. The reason the fourth went wrong is that the operative rule lived in none of the places a person looks first.

The thing I got right for the wrong reason

I left the SOTA-036 → 037 → 038 → SOTA-279 line unbound rather than tagging a prompting practice model-architecture. Not tagging it was right — that tag fails ADR-046’s test. Calling the result a deliberate resting state was not.

The open line, which is open and not settled

Under ADR-049 that line is a defect with two readings, and this contribution answers neither. That is a debt, written down as one.

  • The invariant is missing. adaptation-and-tuning is true of SOTA-037 and SOTA-038 — in-context learning is adaptation without a gradient — and not of SOTA-036, whose body is four pretraining choices: decoder-only, a single next-token objective, a broad filtered web corpus, a fixed context. Nobody browsing “taking a trained model somewhere new” should meet that, so adding it would fail ADR-046’s test.
  • The relation is wrong. None of the three edges looks wrong. Chain-of-thought prompting does refine few-shot prompting.

What the four share is in-context learning: the model, the finding that it emerges, the claim that it permits few-shot adaptation, and how to write the exemplars. The vocabulary cannot say that, and CLAUDE.md’s own rule names the move — add the word, with a label and a blurb and a decision. That is a fifteenth topic with a corpus-wide blast radius, and doing it as a side effect of a gloss fix at the end of a session is how the last two mistakes happened.

Left as the finding it is, with both readings written down and the candidate answer named. Not “read and left”.

Standing question for the person who was there

ADR-035 was Proposed and its condition named a person rather than a result — “that reading should be checked by someone who was there”. It was checked in this exchange and is now Active (v3). Eighteen inactive-ok directives vouching for it while it was Proposed no longer applied and are removed.

Standing debt

  • Zero-shot chain of thought (ARXIV-2205.11916) and self-consistency (ARXIV-2203.11171), named as uncovered by SOTA-279.
  • Schaeffer et al. 2304.15004 on emergence as a mirage.
  • Islamov et al. 2603.05002.
  • The Linear Representation Hypothesis.
  • The SOTA-036 → 037 → 038 → SOTA-279 line, unbound, both readings written down above and neither answered. The candidate answer is a topic for in-context learning.
  • NOTE is still the hole in the closed vocabulary, as ADR-035’s consequences say: a free-form tag on a reading is accepted and would bind. Nothing exploits it today.

The report that found the last vocabulary gap cannot find this kind, and three probes lied

2026-09-21 06:13:39 · curation · taxonomy

Asked to grow the vocabulary. ADR-024 had already done the analysis — four seams, four options, decided nothing, and closed by saying the choice “is a judgement about the subject rather than about the record”. Two of its four options have been taken since: ADR-035 relaxed exactly-one, ADR-026 and ADR-046 supplied the filing rule. Adding a topic never was.

The instrument had to change

ADR-024 found its seams in docs/reports/unbound-lineage.md. That report cannot find this kind of gap any more, and the reason is a success rather than a regression: ADR-049 drove unbound relations to zero by naming what documents were already about.

A missing word does not produce an unbound edge. It produces a document filed under whatever topic was nearest, which binds fine and is simply in the wrong place. The report is a defect detector for relations, not a coverage detector for subjects.

So this used DP-009’s test, which is counting: take the documents about a candidate subject and measure how concentrated their primary topics are. A subject the vocabulary can say lands mostly in one. A subject it cannot say scatters.

candidatedocstop topicshare
numerics / precision48training-optimization25%
in-context learning20adaptation-and-tuning45%
retrieval12attention-techniques33%
RL post-training40adaptation-and-tuning68%
scaling laws34training-optimization59%
mixture-of-experts36model-architecture58%

The bottom three are named — each is written into an existing blurb and holds a clear plurality. They stay.

Numerics was not unnamed; it was half-named twice

The thing I expected to find was a subject with no word. What I found was a subject with two half-words: systems-optimization’s blurb ended with “numerical precision” and inference-optimization’s listed “quantization”. Neither topic is about numerics. Each carried a fragment as the last item in a list about something else, so a document had to pick a side.

The split has a history, and it is nobody’s mistake. ADR-021 created inference-optimization for serving and moved the two post-training quantization practices into it — correctly, because post-training quantization is a serving decision. That left training-time precision behind, and the subject has been cut in half since.

I nearly reported the opposite. Finding “numerical precision” already in a blurb, my first conclusion was that this is a filing failure and not a vocabulary gap — the word exists, use it. What changed my mind is that the word exists twice, in two topics, and in neither is it the subject. A trailing blurb item is not a home.

One topic, not two, and the four documents that decide it

The obvious split is train versus serve: loss scaling and FP32 master weights on one side, GPTQ and microscaling on the other. Different audiences, different failure modes.

Four documents say no:

  • SOTA-160 — how many tokens a model saw determines how much post-training quantization costs it
  • LIT-186 — Scaling Laws for Precision: training low reduces effective parameter count
  • SOTA-234, LIT-380 — train natively in the target low-bit format, which collapses the distinction

Under a train/serve split every one of those straddles, which is ADR-024’s own warning about what happens when a subject is divided by provenance. The interesting recent work in this area is the interaction.

Three probes lied, and all three lied the same way

This is the part worth keeping.

  • “alignment” returned 42 documents scattered across four topics, which looked like a safety gap. Inspected: two real ones. The rest are gradient alignment, batch gradient alignment, aligned singular vectors — the linear-algebra sense, which I had been writing all night in the Muon cluster.
  • “retrieval” returned 12 at 33%. Inspected: two — SOTA-269 and RETRO. The rest are retrieval benchmarks for sequence models, the in-context recall task linear-attention papers report against Mamba2 and DeltaNet.
  • “quantization” would have named the new topic, until LIT-363 and LIT-341 turned up: vector quantization, correctly filed under representation-and-encoding. Hence numerics-and-precision.

Every one was caught by reading the hits rather than by a better regex. A keyword probe over this corpus is a way to generate candidates and never a way to settle one, and I would have added a safety topic and a retrieval topic on the strength of the first numbers.

Retrieval was in the set the owner approved, on my figure of 12. It is two, and DP-009 asks for several, so it is not added and the changed figure is the reason.

The line that is still unbound

SOTA-036 → SOTA-037 → SOTA-038 → SOTA-279 has no tag common to every member, and adding in-context-learning did not fix it — SOTA-037 and SOTA-038 take it, SOTA-279 takes it, and SOTA-036 is a pretraining recipe that should not.

Both of ADR-049’s readings were tested against the new evidence and both failed:

  • The invariant is missing. There is no true tag. in-context-learning on a four-choice pretraining recipe fails ADR-046’s test, and so does model-architecture on a prompting practice.
  • The relation is wrong. I expected this one to be the answer, and went to drop SOTA-037 extends SOTA-036 — then read extends’s own blurb: “a rule that only exists because the earlier one is followed”. In-context learning emerging is a property of models trained under that frame. The edge survives its own definition.

So the line traverses a genuine change of subject with every step correctly expressed. The report’s text allows for exactly this — an intersection “only shrinks as the component grows”, and lines are “the weaker signal of the two” — but ADR-049 reversed a previous attempt to call the invariant over-strong, and I am not going to make that argument again at the end of a long session on the strength of one case.

Recorded in the decision as an open question with both readings tested, which is a result rather than the “note that somebody looked” that ADR-049 forbids. #213 carries it.

Standing debt

  • Retrieval, at two documents, waiting for a third and fourth.
  • The SOTA-036 line, #213.
  • ADR-021’s serving split is worth a second look now: with numerics pulled out, what remains in inference-optimization is batching, cache layout, compression, sparsity, distillation and sampling, which is still a wide topic.
  • Zero-shot chain of thought (ARXIV-2205.11916) and self-consistency (ARXIV-2203.11171) now have a topic to land in and are still unfiled.

Two papers that had a topic waiting for them, and a number that is smaller than it looks

2026-09-21 13:13:11 · curation · coverage

SOTA-279 was filed naming three things it did not cover. One of them — retrieval — turned out not to exist as a subject. The other two are filed here, and both land in in-context-learning, which did not exist when they were named.

Worth noting that the vocabulary work paid immediately rather than eventually: these are the first documents filed into the new topic rather than retagged into it, and neither needed a judgement call about where it went.

The number everyone quotes, and the one that matters

Zero-shot chain of thought is remembered for MultiArith 17.7% → 78.7%. That is a real number and it is against zero-shot prompting, which is the right baseline for the paper’s claim and the wrong one for a practitioner deciding what to do.

The two sentences that matter are both in the paper and neither is in the abstract’s headline:

While Zero-shot-CoT naturally underperforms Few-shot-CoT, it substantially outperforms standard Few-shot prompting with even 8 examples per task.

So the ordering is: hand-written chains beat the trigger sentence, the trigger sentence beats eight-shot standard prompting, and everything beats bare zero-shot. That ordering is the practice. It makes this a first move rather than a better method, and it means SOTA-279 is sharpened rather than contradicted — write the exemplars, but measure the free version first and find out what they buy on your task.

A practice sourced to the 17.7→78.7 number alone would have been true and misleading, which is the shape DP-005 and SOTA-278 are both about from different directions.

Self-consistency counts answers, not reasoning

The method is a decoding change, not a prompt change — which is why it earns inference-optimization alongside the new topic, and why it is the first document to use the new topic beside an old one rather than in place of it.

The thing I wanted to get right is what its by-products are. The paper reports better calibration and an uncertainty estimate, and it is tempting to read those as the traces being more trustworthy. They are not: the statistic comes from the distribution over answers. The authors say models sometimes generate nonsensical reasoning paths, and LIT-467’s own error analysis found two of fifty correct answers reached through incorrect chains.

So an evaluation that reads a chain as an explanation of the answer is not rescued by sampling more chains. That connects straight to SOTA-278, filed yesterday, and the note says so rather than leaving a reader to notice.

What the practices carry that the papers bury

Both cost statements went into conditions rather than prose:

  • Zero-shot CoT is two generation calls per question — reasoning extraction then answer extraction. The instruction is free; the inference is not.
  • Self-consistency is linear in paths, and “five or ten” is the authors’ own rule of thumb with no scaling story. Whether the saturation point moves with task difficulty is not measured, and that is exactly the thing a practitioner needs.

Also recorded: the “single task-agnostic prompt” claim is slightly stronger than the method, because the answer-extraction stage differs between multiple choice and free numeric. Small, and the kind of small thing that makes a reproduction fail.

Composition, noted and not claimed

Nothing prevents self-consistency from sampling chains elicited by a trigger sentence instead of exemplars. It is the obvious combination and neither paper measured it, so both practices say so and neither implies otherwise.

Standing debt

  • The SOTA-036 line is still unbound, unchanged by this — the two new practices hang off SOTA-279 and inherit the same break at the top. #213.
  • Schaeffer et al. 2304.15004 on emergence as a mirage, which both chain-of-thought papers’ scale claims lean on.
  • Islamov et al. 2603.05002.
  • The Linear Representation Hypothesis.
  • Retrieval, at two documents, waiting for a third and fourth.

A permission was widened, and a workflow condition that had been correct stopped being correct

2026-09-21 13:20:44 · curation · ci

Nothing in the repository changed. The github-pages environment’s deployment branch policy was widened to admit claude/* alongside main, and that is a repository setting — no file records it, no diff shows it, and git log on .github/workflows/ is silent about the day the meaning of those files changed.

What the file said, and what it meant

deploy was gated if: github.event_name != 'pull_request'. Read as prose that is “do not publish from a pull request”, which is true and is not the rule anyone wanted. The rule anyone wanted is “publish from main”. The two agreed for as long as the only other way in was workflow_run, which carries branches: [main] on the trigger.

workflow_dispatch was the third way in, and it takes no branch filter. It runs on whatever ref it is dispatched from, it is not a pull request, and so it walked past the condition. That was survivable only because the environment refused it downstream: the job started, GitHub declined the deployment, and the failure was loud.

Widening the policy removed the thing that was catching it. The condition did not become wrong; it was always wrong, and had been protected by a setting nobody was treating as load-bearing.

The general shape

A deny-list of one entry is a claim that you have enumerated the ways in. The allow-list version — name main twice, once per event — cannot be walked past by an event nobody thought of, because an event nobody thought of is not on the list.

It is worth naming that the two events report the branch differently. A workflow_run run’s own github.ref is not the branch of the run that triggered it; github.event.workflow_run.head_branch is. A single github.ref == 'refs/heads/main' covering both would have looked right and would have gated workflow_run on the wrong field.

Declining rather than revoking

The narrow fix is to revoke the branch policy. It was not taken, and the reason is that it leaves no record: settings are not in the repository, so the next person to want a branch preview finds neither the permission nor an account of why it went away.

Declining in the workflow is a diff. Somebody reading pages.yml finds the gate and the comment beside it; somebody reading ADR-051 finds why a granted permission sits unused. A permission held open and known to be held open is a different object from one held open by inattention.

What this cost

The pull_request trigger went with it, and that trigger was doing real work — pages.yml’s own comment described it as the proof that the site still builds. docs-check covers pull-request correctness against sources, so the record is as protected as it was. The site build is not: it now surfaces post-merge unless someone remembers to dispatch it.

build is left ungated so that dispatch exists at all. That is the trade, and it is a downgrade from automatic to remembered, which is the kind of check that decays. One line restores it, and deploy is now safe enough that restoring it is uninteresting.


2026-09-21 13:36:18 · curation · analysis-and-evaluation

SOTA-200 — check whether an emergent capability is a metric artefact — has been Active since 2026-09-10. Its sources were LIT-077 (BIG-bench) and LIT-085 (grokking). Neither is the paper that made the argument, and the paper the argument is against was not in the record at all.

So the practice named a check, and a reader following its citations could not reach either the claim being checked or the case for checking it. The practice’s own Conditions section said as much without noticing: “LIT-077 … puts no number on what share of observed emergence is artefactual”, “Neither source licenses ‘emergence is not real’”. Both true, and both symptoms of the same absence.

How the gap survived a coverage pass

This is DP-004 again — a pass finds only defects its query is shaped like. Every audit that asked “which practices have no source” found SOTA-200 sourced twice over. None asked “does the source say the thing the practice says”, which is a different query and a more expensive one, because answering it means reading the sources.

The cheap signal that would have caught it: SOTA-200 cites LIT-077 as introduced_by, and LIT-077 is a benchmark paper. A benchmark introducing a recommendation about how to read benchmarks is possible and is worth a second look.

The primary source disagrees with its own reputation

The popular version is that Wei et al. claimed emergence and Schaeffer et al. refuted it with metrics. Reading LIT-470 §5.1 makes that version untenable. Wei et al. raise the metric explanation themselves, quote the exact-string-match problem, run a cross-entropy analysis over six emergent BIG-Bench tasks, and report that cross-entropy improves smoothly where the downstream metrics sit at chance. Then they decline it, on two grounds:

  1. The quality of intermediate reasoning steps also jumps, which final answer scoring does not explain.
  2. Emergence persists on “many classification tasks”, which are not long-string partial-credit cases.

Reason 2 is wrong, and specifically wrong in a way that took three years and a different paper to show: the classification tasks are scored by Multiple Choice Grade, which is a step function. The objection assumed the metric problem was about compounding over a long target, and a step function is a second, independent way for a scoring rule to manufacture sharpness. Schaeffer et al.’s >92%-under-two-metrics figure is precisely the reply, and the two metrics are one of each kind.

Reason 1 is still standing. Nothing in LIT-471 touches it.

That is the shape worth recording: not a claim refuted, but one of two stated defences knocked out, with the other untouched and nobody working on it.

What actually changed in the practice

The citation was the smaller half. The larger half is that SOTA-200 was giving advice that was true of its sources and false in general.

It said: finding the continuous measure underneath is not cheap. That generalises from LIT-085, where the progress measures are projections onto five frequencies the network had to be reverse-engineered to reveal. In that case it is expensive and the practice was right about it.

But LIT-085 is the hard case, not the normal one. The normal case is that a continuous metric over the same outputs already exists — Token Edit Distance against a string target, Brier Score against a multiple-choice distribution, which BIG-bench computes on the same tasks. Change the scoring function, change nothing else, and look. The expensive route is only needed when no continuous function of the outputs captures the thing.

A practice that tells you a check is expensive discourages the check. This one did that for a year of record-time on the strength of one atypical example.

A note on what was not upgraded

SOTA-200 stays emerging. The case for converged is that the metric argument is a NeurIPS best paper and is now the standard citation — which is an award and a citation count, and DP-005 is the standing reminder that adoption is not evidence. Consensus is a judgement about a community; nobody has measured this one, and unassessed-adjacent honesty is cheaper than a guess dressed as a reading.


A speedup quoted in tokens, a cost quoted in a footnote, and two groups who found the same thing without meeting

2026-09-21 13:50:58 · curation · model-stability

nGPT was the highest-revisit paper on the unfiled ranking that the record’s sixteen topics can clearly express, and it had zero mentions here. Eight revisits, a well-known result, and not a word.

The number and the footnote

The abstract says the normalized Transformer “reduces the number of training steps required to achieve the same accuracy by a factor of 4 to 20”. That is accurate. Footnote 3, on the same page as Figure 1, says the time per step is 80% higher at 4k context and 60% higher at 8k.

Multiply: 10× in tokens is about 5.5× in wall clock, and 20× is about 12.5×. Both are large, and neither is what gets quoted.

The paper is not hiding it — the footnote is in the body, the appendix explains the cause (six normalizations per layer instead of two, unfused), and the authors say they expect kernel work and depth to narrow it. But “expect to narrow” is a prediction. The record files the measured figure and labels the prediction as one, because a practice that is read once and acted on later gets read at the headline.

This is DP-005 in a different key. There the warning is that adoption is not evidence; here it is that the unit a result is reported in is a choice, and the choice that flatters is the one that travels.

What the practice should say, versus what the paper is about

The paper’s title and its own framing are the variable-metric reading: a transformer as a multi-step optimizer on the sphere, blocks proposing directions, learned per-dimension step sizes as the diagonal of a metric, normalization as a Riemannian retraction. It is a good frame and it earns the parameters their names.

It is also not evidence. Nothing measured shows the frame is why the training is faster; it is an interpretation laid over a result. ADR-031 exists so the record can hold those apart, so THEORY-041 records the thing with measurements behind it instead — that unconstrained matrices come out badly conditioned, with attention matrices drifting toward rank deficiency — and marks it Proposed, because that too is correlational.

The one detail that makes it an account rather than a restatement: renormalizing a trained GPT’s matrices afterwards reduces the condition numbers without closing the gap to the constrained model. If post-hoc normalization had closed it, the constraint would only have been changing what you measure.

The bundle nobody has taken apart

Two independent things are being recommended at once: put everything on the sphere, and make each block’s residual contribution a learned per-dimension step size. The second does not require the first. You could add it to an ordinary pre-norm transformer this afternoon.

No ablation separates them, and the difference matters enormously for whether anyone should do this: the sphere constraint is what costs 60–80% of step time, and the learned step size costs nothing. The practice says so rather than recommending the bundle as though it were atomic.

Two arrivals, no citation

SOTA-122 — Falcon’s learnable per-row and per-column multipliers — says a weight matrix’s norm should be learned rather than set by the learning rate and weight decay. nGPT says a weight matrix’s norm should be fixed rather than set by the learning rate and weight decay. Different remedies, same diagnosis, different continents, and neither paper cites the other.

DP-007 says agreement has no author. This is the version of that worth noticing: the diagnosis now has two independent sources while each remedy still has one. The record can record the first without promoting either of the second, and the two practices’ promote_when conditions both say that confirming the diagnosis is not the result they need.

The collision that is not a contradiction

nGPT removes learning-rate warmup and weight decay, which SOTA-008, SOTA-009 and SOTA-120 recommend. Nothing was retired. The recommendations are about architectures where the quantity in question is free to drift, and in this one it is not.

Worth being exact about the warmup case, because the temptation to write “nGPT shows warmup is unnecessary” is strong and would be wrong. SOTA-008’s claim is specifically about large batch size. nGPT trained at global batch 512 at 1B parameters. That is not the regime warmup was introduced for, so the removal is not evidence against the practice — it is untested against it.


An approximation that beats its own oracle is telling you the error bars are missing

2026-09-21 14:04:04 · curation · numerics-and-precision

The QES paper reports three arms per cell: a quantized zeroth-order baseline, a full-residual variant described as the oracle, and QES, which approximates that oracle to save memory. Six cells.

In two of them QES beats the oracle. At INT8 it scores 26.35 against 22.10 on the 1.5B model and 37.40 against 33.30 on the 3B. In one it loses by ten points — W8A8 on 3B, 21.35 against 31.70.

An approximation cannot be better than the thing it approximates. So those gaps are not information about the approximation; they are the measurement noise, printed. And they are the same size as the differences the paper spends its analysis on.

No repeats, no seeds, no error bars appear anywhere in the paper.

Why this is worth a paragraph rather than an eye-roll

Because it gives a reader a free variance estimate on a paper that does not report one, and the record can use it. The oracle-versus-approximation comparison is the one place where the expected sign is known in advance. Wherever the observed sign contradicts it, the magnitude of the contradiction is a lower bound on run-to-run spread.

Here that bound is about four to ten accuracy points. Which means the one comparison in the paper that survives it is the headline one: QuZO at 5.25% against QES at 16.00% on INT4/1.5B. That margin is real. Most of the rest of the table is not resolvable.

The caption says QES “was only slightly lower than with full residuals”. It is ten points lower in one of six cells and higher in two others. The sentence is defensible on average and is not true of the row a reader deciding on W8A8 would look at.

Two sentences in §4.2 also disagree with the table — QES is credited with 18.00% where the table gives it 16.00 and the oracle 18.05, and 14.25 → 31.85 is called a doubling of “the base model” where 14.25 is the baseline method’s number and the base model’s is 2.80. Neither changes the conclusion. Both are the kind of thing that propagates when a number is quoted from prose.

What survives, and it is the good part

The mechanism, which does not depend on the experiments at all.

Decompose the quantizer as identity plus error and expand a T-step trajectory. If every update is smaller than half the grid spacing — which is the ordinary case in fine-tuning — the accumulated quantization loss cancels the accumulated ideal update term for term. Not approximately: w_T = w_0. The optimizer is stationary, and no amount of patience fixes it because there is no residual drift to accumulate.

That is a better statement of the problem than “small updates get rounded away”, which suggests a slow leak rather than a wall. And it makes the remedy obvious in hindsight: the thing being discarded is exactly the thing that would have moved the weight, so keep it. Carry the remainder and the physical weights track the high-precision trajectory within Δ/2 for every T — bounded, not growing.

THEORY-042 is Active on that basis while SOTA-283 stays Proposed. A correct explanation is not evidence that a method is worth adopting, and keeping those apart is what ADR-031 split the schemes for.

The line, and the ledger

SOTA-154 — fine-tune with evolution strategies instead of policy-gradient RL — carries a consensus note that counts which results come from inside the Qiu line and which do not. That ledger is the practice’s most valuable property, and it only works if every new arrival gets sorted into it.

This paper’s corresponding author is LIT-211’s first author. Inside the line. The consensus does not move, and all four new documents say so rather than letting “another ES paper works” do quiet work.

THEORY-006 went further and wrote the misuse down before it happened: its promote_when names “a further post-training method that works and is read back as evidence for the account” as what would not satisfy it. QES is precisely that. The account predicted its own misreading, and the only thing left to do was not commit it.

That is what a promotion condition is for, and it is the second time this week one has caught something — the first being SOTA-122’s, which says confirming its diagnosis is not the result it needs.


A metric with an unbounded penalty for being honestly ignorant

2026-09-21 14:15:12 · curation · analysis-and-evaluation

The coverage-principle paper is a theory paper with two figures on a synthetic task, and the most convincing thing in it is a two-outcome Bernoulli model that takes four lines.

Let π*(1) = ε. Fit by maximum likelihood on n samples. With constant probability — not vanishing probability, constant, when ε ≲ 1/n — the dataset contains no 1. The estimator assigns 1 zero mass. Expected KL divergence is infinite.

Nothing has gone wrong. The learner saw no evidence of an event and declined to predict it, which is the correct behaviour. But KL’s penalty for an under-assigned outcome is log(π*/π̂), and that diverges. So the metric charges an unbounded amount for honest ignorance.

The coverage profile does not have that term. The worst it can charge is the mass that is actually missing.

Why that matters more than it sounds

Because the asymmetry scales with sequence length, and that is the axis everything has moved along.

Over H tokens the chances for a well-generalizing model to miss some tail continuation multiply, and sequence-level KL accumulates them: linear in H, proved as a lower bound for any proper estimator on autoregressive linear models, and reproduced on the paper’s task. Coverage at convergence shows no H dependence.

So the two quantities do not differ by a constant that cancels when you compare checkpoints. They diverge, and they diverge fastest exactly where long-context reasoning models live. The paper’s Figure 1 shows the practical consequence inside a single run: KL improving monotonically while coverage degrades.

That is a more specific claim than “validation loss is an imperfect proxy”, which everybody already believes and nobody can act on. This one names the term, gives its sign, and says which direction makes it worse.

What the record gains, and what it should resist

SOTA-210 — report pass@k as well as pass@1, because RL raises one and lowers the other — was filed on two independent empirical reports with no account underneath. It has one now: pass@k at k = N estimates coverage, pass@1 does not, and “RL raises pass@1 and lowers pass@k” is RL trading coverage for mode. The practice does not change. What changes is that a reader can now see why the two numbers move in opposite directions instead of taking it as a regularity.

What to resist is the Adam sentence. The paper proves that globally normalized SGD removes the sequence-length dependence, and then writes “somewhat speculatively, we believe that it may be possible to use similar techniques” to extend this to Adam — immediately noting that Adam normalizes per coordinate rather than globally, and that this distinction “is important for deep learning models”.

That is a careful authorial hedge sitting directly next to a theorem, in a paper whose other claims are proved. It is exactly the shape of sentence that arrives in a survey six months later as “recent work shows Adam improves coverage”. All three new documents say it is not a result, which is cheap insurance.

On filing a theorem as Proposed

The theorems are not in doubt. Matching lower bounds accompany the parts that matter, and the tightness results are in the appendices.

Proposed is about the distance between the setting and the subject. The formulation splits data into prompts and responses, which the authors call “closer in spirit to supervised fine-tuning”; the main theorem assumes realizability; the optimizer analysis is for autoregressive linear models, where the loss is convex in the parameterization and a transformer’s is not; and the empirical content is one graph-reasoning task used to illustrate two figures.

theory-statuses reads Active as “the best explanation the record holds for why this happens”. A proof about a model class the record’s practices are not about does not clear that, however sound the proof. So the promotion condition names the missing measurement rather than asking for more theory: coverage and cross-entropy measured on real checkpoints, with cross-entropy shown to pick the worse one.

And the practice is weaker than the account

SOTA-284 recommends selecting a post-training checkpoint on coverage. Nobody has done that. The source proposes and analyses tournament procedures and never runs them against cross-entropy selection on anything a practitioner would recognise.

So the practice has good evidence for its premise — several independent groups report that a better next-token predictor does not give a better post-trained model — and none for itself. That is what Proposed plus unreplicated is for, and the consensus note says the split in as many words rather than letting the premise’s strength be read as the recommendation’s.


The same operator, opposite signs, and the only number that tells them apart

2026-09-21 14:26:24 · curation · model-stability

SOTA-240 says: apply dropout where the model can memorize what it is shown, and not where it cannot. Active, converged, filed on Srivastava’s sweet spot and a 2026 recipe that reaches for dropout under exactly the predicted condition.

A reader on an underfitting model follows that and concludes: no dropout.

The correct conclusion is: no dropout after the first stretch.

What separates the two uses

Not the rate. Not the placement in the network. The schedule, and one measurement tells them apart.

ViT-T on ImageNet-1K, training loss:

  • baseline 3.443
  • standard dropout 3.885
  • early dropout 3.394

A regularizer raises training loss. That is what regularizing is — you give up fit to buy generalization, and the 3.885 is dropout doing its job on a model that did not need it, costing six points of top-1 in the process.

The 3.394 is not that. Nothing about a regularizer lowers training loss, so whatever early dropout is, it is not regularization. It is an optimization intervention wearing the same code path.

That is why the practice filed here says: if you try this and training loss does not fall, you have not reproduced the effect, whatever the accuracy did. Accuracy is the number people report and it cannot distinguish the two operators. Training loss can, and does, at a glance.

The contradiction that makes the mechanism credible

Section 3 opens with something that should not happen. The dropout model produces smaller gradients and travels farther from its initialization.

Their image is two walkers, one with long strides and one with short. The short-strided one gets farther because it keeps going the same way.

Then they measure it, and the second measurement is the one that counts. Pairwise angular spread among mini-batch gradients falls with dropout — but that alone is consistent with consistently going the wrong way. So they also compute the gradient over the entire training set, with dropout in inference mode, and measure the angle to it. That falls too, early, and rises after about a thousand iterations.

The bias–variance statement is exact and is the whole account. Without dropout, a mini-batch gradient is an unbiased estimate of the full-dataset gradient: same network, random subset. With dropout it is biased — each batch runs through a different sub-network. Variance falls by more than bias costs, so the error falls. Early, when the model is moving fast, variance dominates and the trade pays. Later there is no variance left to remove and only the bias remains. The curves cross, and dropout goes back to being a regularizer.

One account, two regimes, and the crossing is the boundary. That is a much better shape than “dropout also helps underfitting, somehow”.

What kept the theory at Proposed

The variance and error reduction is replicated: five model/optimizer pairs, same sign, AdamW through plain SGD, ViT through ConvNeXt.

The crossing point is one model. “About 1000 iterations” is where ViT-T’s curves meet, and nothing predicts where it sits elsewhere.

That matters more than it looks, because the crossing is the only part of the account that would be useful. If it predicts the right switch point, the metric is a tool you can apply to a new setting. If it does not, then the practice’s robustness result — any switch point from 1% to 50% of total epochs works — is doing all the work, and the crossing is a story told about a number that turned out not to matter.

The paper reports both facts and declines to connect them, which is the right thing to have done and is exactly why the account is offered rather than established.

And they reported their error bars

Three seeds, average standard deviation 0.142%. So +0.4 through +0.9 is real and ConvNeXt-F’s +0.2 is not, and a reader can tell which is which without guessing.

That is worth noting out loud one contribution after the quantized-ES paper, where the only variance estimate available was inferred from an approximation beating the oracle it approximates. The difference is three numbers in an appendix.


A number that is a lower bound, a figure that crosses, and an argument with no experiment

2026-09-21 14:36:11 · curation · analysis-and-evaluation

Three things in this paper want separating, because they have very different evidential weight and the citation that follows will not separate them.

The audit works and has one experiment

A ConvNeXt trained with an extra term making it fail on a held-out poison set, while keeping training loss low, has a smaller local volume than a clean twin. Measured on clean held-out data, where the two models are behaviourally indistinguishable, with a handful of forward passes and no labels.

That is a real capability and it is the reason the practice got filed. It addresses a case behavioural testing cannot reach by construction: the data you have does not show the problem.

It is also one adversarially-produced pair. Poisoning induces bad generalization deliberately and from outside. Whether ordinary overfitting — the kind you get by training too long on a corpus nobody tampered with — shrinks volume the same way is not shown, and the promotion condition asks for exactly that rather than another poisoned pair.

The figure that complicates the story is the one to keep

For most of ConvNeXt’s training, the poisoned network has the larger local volume. It crosses below the clean model around 30,000 steps, which is also where validation and poison losses separate.

The explanation offered is reasonable — early on the poison term is just making the network worse at everything, so it learns less and its description grows more slowly — and it is post hoc, and it changes what the practice can say. Small volume is a property of a badly-generalizing converged model, not of a badly-generalizing run. Take the reading mid-training and it points the wrong way.

A paper that had only shown the endpoint comparison would have supported a broader claim on weaker grounds. This one showed the trajectory and narrowed its own result, which is worth noticing.

The number everyone will quote is a lower bound

The probability of drawing the trained Pythia 31M from its initialization distribution, within a small KL ball, is estimated at about 10 to the minus 360 million. The authors’ own gloss — like guessing a specific atom in the observable universe 4.5 million times running — is what makes it memorable.

The conclusion says: “it is still unclear how close our estimates are to the ground truth.” And the estimator’s structure says the same thing more precisely. On a log scale the aggregate sits very close to the largest individual sample, and one clean ConvNeXt run produced a single outlier sample that nearly reached the preconditioned estimate on its own. That is what a lower bound whose tightness is unknown looks like from the inside.

Which is fine for the use the practice recommends — comparing two models measured the same way — and not fine for quoting the absolute number as a fact about Pythia.

And the most quotable idea has no experiment

Section 3.3 argues that adaptive optimizers generalize worse because, read as approximations of natural gradient descent, they partially reverse the architecture’s nonuniform map from parameters to functions — giving up the overrepresentation of simple, well-generalizing functions that the volume hypothesis says the architecture provides. Natural gradient descent becomes a theoretical extreme rather than an ideal: maximally efficient at lowering loss, bad at generalizing. Sharpness-aware minimization sits at the other end.

It is a genuinely good idea. It explains a known effect, it follows from the paper’s own framework, and it reframes an optimizer people treat as the limiting case of correctness.

Nothing in the paper measures it. Not one figure.

SOTA-001 recommends Adam. A reader who took §3.3 as a finding would have a reason to hedge it, and there is no result here that supports doing so. All three documents filed say this explicitly, because the alternative is that a survey six months from now reports “recent work shows adaptive optimizers sacrifice generalization by inverting the architectural prior”, cites this, and is not wrong about the citation.

This is the third time this session a paper’s most citable sentence has been its least supported one — the others being the Adam speculation in the coverage-principle paper and nGPT’s “4 to 20x” with the step-time footnote attached. It may be worth a principle rather than three separate notes.


Parity on the test column, eight to fifteen points behind on the train column

2026-09-21 14:49:26 · curation · training-optimization

NoProp’s headline is that a backprop-free method finally matches backpropagation. On MNIST and CIFAR-10 it does — 99.54 against 99.46, 80.54 against 79.92, with three seeds and five inference runs behind each number.

The train column of the same table says something else.

CIFAR-10 trainCIFAR-100 train
Backprop99.9898.63–99.19
NoProp-DT95.02–97.2383.25–90.70

Matching on test while eight to fifteen points behind on train is not optimization parity. It is a method that fits the training data substantially worse and makes it up in generalization — which, on three small image benchmarks with no augmentation, is free. Backprop is at ceiling on train there; the test number is decided entirely by what happens after that, and NoProp’s shortfall costs nothing because there was nothing left to gain.

Change the setting to one where fitting the training data is the binding constraint, and that free lunch is the whole bill. Which is essentially every setting this record’s practices are argued in.

The paper does not mention it. Not in the results discussion, not in the conclusion — there is no limitations section — and not as a caveat on the parity claim. The numbers are printed, in the table, next to the ones that are discussed.

Why this is the interesting kind of gap

It is not an error and it is not concealment. The table is complete and the claim made about it (“comparable to or better than back-propagation”) is about test accuracy and is true of test accuracy.

It is that the decision-relevant reading of the table is a different column from the one the claim is about, and nothing in the paper points at it. A reader who takes the parity claim at face value has taken something true and will be surprised later for a reason the paper contained.

That is the fourth instance this week of the shape DP-010 was filed for, and the first where the unsupported part is not a sentence at all — it is an absence. The other three had a hedge that did not travel; this one has a column that was never read aloud.

Worth noting for the principle’s next revision: “find the hedge” is the wrong instruction when there is no hedge. The more general instruction is read the table the paper did not narrate.

What the practice says instead

SOTA-287 is titled as an answer to “which backprop-free method”, because that is the question the evidence settles, and it settles it decisively — CIFAR-10 test accuracy of about 80 against 69.32 for local greedy forward gradients and 50.71 for difference target propagation is not a contest.

What it is not is an answer to “should I stop backpropagating”, and the conditions say so at length: the train gap, the structure-matched baseline (fair, and matched to a network designed around this method’s constraint), the fact that two of three variants are weak and one scores 6.38 ± 4.9 on CIFAR-100, and three small image benchmarks with no augmentation.

A gap the record had not noticed

Before this, the anthology’s only answer to “what if not backpropagation” was SOTA-154 — evolution strategies. That is a different family: black-box, perturbation-based, estimating a gradient it never computes. The local-learning family — forward-forward, target propagation, forward gradients — has been absent entirely, and all three appear here only as baselines.

So this contribution opens a niche rather than filling one. The three baselines are now named in the record without being read, which is the honest state and is also a worklist.


Three ablations that each make the claim smaller, all of them run by the authors

2026-09-21 14:59:55 · curation · training-optimization

Most of this session’s readings have involved finding the caveat the paper did not state — a footnote that halves a headline, a column nobody narrated, an argument with no experiment. DP-010 exists because it happened four times.

This one is the other kind, and worth recording for contrast.

The headline is that a cheap ensemble improves generalization: CIFAR-100 WRN 28-10 goes 81.35 → 82.87. Fine. Then the paper runs three ablations, each of which makes its own method sound less general, and reports all three:

  1. Start the procedure at initialization instead of late and it fails to reach the base model. Not “helps less” — fails. The method’s name is doing real work.
  2. Replicate every weight instead of a few and you land between the base model and the low-dimensional version. Their cheap trick beats their expensive one.
  3. Use the expressive variant — hypernetwork weight embeddings, the general case that subsumes the others — and on CIFAR-100 under SWA you get 82.01 against a base of 82.46. Worse than doing nothing.

Each of those is a result the paper could have omitted. The first two are ablations nobody would have demanded. The third is a negative result about the authors’ own most sophisticated contribution.

The practice filed here is better for all three, and specifically it can say what to do rather than what was done: replicate BatchNorm’s scale and shift, do it late, and do not reach for the general version.

The comparison that decides adoption is the one that varies

Stochastic weight averaging is the simple incumbent. Against it:

  • CIFAR-10: 96.48 → 96.81. CIFAR-100: 82.46 → 83.06.
  • enwik8 LSTM: 1.626 → 1.615 BPC.

The CIFAR gaps are 3 to 7 times the reported standard deviations. The LSTM gap is 0.011 where the same comparison without SWA gave 0.062 — so on that problem SWA absorbed most of what late-phase weights were providing.

The paper states this accurately and in passing: SWA “substantially improves all scores, with smaller gains on the models with multiplicative weights”. It is easy to read past, and it is the sentence a practitioner needs, so the practice says “try SWA first” in as many words.

And a gap the reading made visible rather than fixed

The anthology has no weight-space ensembling at all. Not Polyak averaging, not SWA, not snapshot ensembles, not model soups. Several of them are baselines in this very paper — SWA, BatchEnsemble, deep ensembles — so they now appear in the record as names attached to numbers, read by nobody.

That is the second family this session to enter that way; the first was backprop-free local learning, where forward-forward, difference target propagation and forward gradients arrived as NoProp’s baselines. Both are worklist items now rather than absences nobody had noticed, which is the cheapest form of progress available and is not the same as coverage.


Three families in one session, all of them arriving as somebody else’s baselines

2026-09-21 15:10:48 · curation · generative-modeling

Three times today a reading has ended the same way: the paper’s baselines turned out to be a body of work the record does not hold.

  • NoProp brought in forward-forward, difference target propagation and forward gradients. The record’s only answer to “what if not backpropagation” was evolution strategies, a different family entirely.
  • Late-phase weights brought in stochastic weight averaging, BatchEnsemble and deep ensembles. The record has nothing on weight-space ensembling at all.
  • The Diffusion Duality brings in MDLM and SEDD — the two strongest discrete-diffusion language models, one of which is the direct source of the masked-diffusion practice this record already recommends.

That last one is the sharpest. SOTA-157 and SOTA-254 say to train a language model as a masked diffusion model. Neither is sourced to MDLM or SEDD. The record recommends the family and holds neither of its leading papers.

Why this keeps happening, and why it is not a filing error

Working a ranked worklist by revisits finds the papers somebody read. A paper’s baselines are the papers they did not need to re-read, because the field already agrees on them. So a corpus assembled by “what did I open recently” is systematically missing exactly the settled work — and the settled work is what a practice should be sourced to.

DP-004 again: a pass finds only defects its query is shaped like. The query here is a reading history, and a reading history is biased toward the unsettled.

The cheap partial fix is what happened three times today: name the baselines in the reading, so they exist in the record as names attached to numbers rather than as absences nobody has noticed. That is not coverage. It is a worklist that did not exist an hour ago.

What this particular paper settles

Not that uniform-state diffusion is better — masked diffusion wins 6 of 7 zero-shot datasets in this paper’s own tables, and nothing here moves SOTA-157 or SOTA-254.

What it settles is a crossover, and the reason for it. Below about 32 sampling steps, uniform-state beats masked; above, masked wins. The mechanism is that masked diffusion emits many tokens independently and cannot revise one once emitted, while uniform-state diffusion can overwrite an earlier error. That is a property of the processes, not of a hyperparameter, which is why it is worth a practice rather than a note.

The record previously could not express that, because it held one of the two families and so had no axis to put the second on.

And the theorem is worth less than it looks, by the authors’ own count

The duality is elegant — argmax of a Gaussian diffusion is a uniform-state discrete diffusion, marginals and dynamics both — and it is the paper’s title.

The ablation splits the three-point perplexity improvement roughly evenly between a Rao-Blackwellized ELBO and the duality-derived curriculum. So the theorem accounts for about 1.3 of 3 points, and the other 1.7 is a variance-reduced estimator with no connection to Gaussian diffusion at all.

The paper reports this. It is the second contribution today where the ablation quietly reassigns credit away from the headline — the other being late-phase weights, whose own hypernetwork variant lost to doing nothing. Both times the number was in the paper and not in the abstract, which is DP-010’s territory with the sign reversed: not an unsupported claim, but a supported one whose support belongs elsewhere.


Six rejections and two additions, and the rejections took longer

2026-09-21 15:21:07 · curation · taxonomy

Asked to extend the vocabulary, the temptation is to name every cluster you can see. The measurements say otherwise: eight candidates, two passed.

The instrument worked in the negative direction, which is why to trust it

ADR-050 set the test: count the documents on a candidate subject and measure how concentrated their primary topics are. A subject the vocabulary can say lands mostly in one topic; a subject it cannot scatters.

The best evidence that this test is doing something was the physics of learning. 28 record documents mention mean-field analysis, free energy, singular learning theory, random matrix theory, phase transitions. It looks like a subject, it has a literature, and a vocabulary designer would reach for it.

Seventeen of the twenty-eight — 61% — already take analysis-and-evaluation as their primary topic.

That is the test returning “no gap”, loudly, on a candidate that passed the eyeball check. Compare numerics, which ADR-050 added: 48 documents across nine topics with none holding a quarter.

Three homonyms again, and one of them is funny

ADR-050 was inflated three times by homonyms — “alignment” returned 42 documents of which 2 were about safety, the rest gradient alignment. The same thing happened here, three more times:

  • “policy” — the sociotechnical probe returned 29, of which 5 were reinforcement learning. Policy gradients, not public policy.
  • “multimodal” — the record probe returned 23, of which about 9 were about modalities. The rest were multimodal distributions: Kuramoto mean-field analysis, consensus-based sampling, stochastic gradient Langevin dynamics.
  • “harmful” and “misuse” — the safety probe returned 20, of which about 3 were about safety, and five of the false positives were quantization papers. A 1-bit LLM paper discussing the harm of aggressive rounding reads, to a regex, exactly like an alignment paper.

Every one of these was caught by reading the hits and none by the count. That is now six documented instances across two passes, and it is starting to look less like a caution and more like the normal case.

The two that passed are different kinds of thing

multimodal-learning is a naming gap, and it is ADR-050’s numerics story again almost word for word. model-architecture’s blurb ended with “multi-modal designs” — a trailing clause, on a topic about the shape of a network, carrying a subject about how many kinds of signal go into it. Nine documents across six topics. Thirty-five more queued.

The clause is the tell. A subject that appears as the last item in somebody else’s list is not filed; it is parked.

deployment-and-society is a scope extension, and it is the only term in the vocabulary that named nothing on the day it was added. One probe across 749 record documents returned one hit, and the hit was a homonym.

That is a weak position and it was taken deliberately. The incoming list holds twenty-four such papers, led by its single highest-revisit entry, and the last eleven contributions each worked down past it. DP-009 is exact about what that is: declining a document because no category fits is the cheaper reading, requires no work, and is self-confirming — turn the document away and the vocabulary keeps looking complete, because the evidence that would have shown otherwise is gone.

A quarter of those twenty-four are methodological rather than substantive — what happens when a platform withdraws research data access, who funds the high-profile studies, what a benchmark for societal-impact work would need to look like. Those are claims about how to measure, which is a kind this record already files. The blurb’s last clause exists for them.

What would falsify it

If the first filing into deployment-and-society produces a literature note and nothing else — no practice, no theory, nothing a reader could act on — then the topic is a shelf rather than a category, and the honest move is to reconsider it rather than to keep shelving.

That filing is the next unit. The term is on probation by construction, and this paragraph is the condition.


The arm that was supposed to be the control turned out to be the finding

2026-09-21 15:30:49 · curation · deployment-and-society

ADR-052 added a topic that named nothing, and wrote down what would show it had been a mistake:

If the first filing into deployment-and-society produces a literature note and nothing actionable — no practice, no theory — then the topic is a shelf rather than a category.

This is that filing. It produced both, and the practice is the more useful of the two.

Why an audit of Twitter/X belongs in a record about ML practice

Not for the finding. That is one platform, six weeks, one election, and it describes a ranking system its owner was actively changing during the measurement window.

For the methods section, which is a sequence of stated trades about measuring a system you cannot inspect, whose operator will not help you, and whose research API may be withdrawn while you work. That is not a niche problem and it is getting less niche.

The decisions generalise cleanly:

  • Do not let the puppets interact. Against the practice in radicalization studies, and argued rather than asserted: feedback loops make the system’s prior inseparable from what your own clicks taught it; different arms would engage differently, so comparison stops being clean; and the question is what the system does before a user teaches it anything.
  • Curate the follow sets to the question, not to realism. Also against prior practice, and for the obvious reason once stated — real users follow diverse things unrelated to what you are measuring, and each one is a confound.
  • Weight by rank. A raw count of appearances is not exposure because nobody reads to the bottom.
  • Baseline against an arm of your own experiment, so “amplified” means relative to a timeline the same algorithm produced.

Each of those is a decision a practitioner would face again, each is reasoned in the source, and each has a cost the source names.

The control arm carried the result

Four arms: following nobody, left, right, balanced. The no-follow arm exists to show what the algorithm does with no signal — a control, in the sense of a condition you report to show the others are doing something.

It came out most diverse of the four. Right-leaning most concentrated, then balanced, then left, then the arm with no personalization at all, and every pairwise difference significant at p < 0.001.

So the thing that was supposed to anchor the comparison is the comparison. Personalization, on this measurement, narrows. The baseline it narrows from is the untargeted feed, and the intuition that a recommender broadens what you would otherwise have found runs the wrong way.

And the dose is tiny: ten media follows, seven of them moderate, four political accounts, no clicks, no history — enough for aligned voices to run more than 50% above baseline.

That is why the practice says to include a no-follow arm and says why. It is not the null condition; it is the measurement.

What I kept out of the account, and why it took as long as what went in

Three things the theory document explicitly declines:

Causation. The arms differ in what they follow, which changes both the personalization signal and the candidate pool. Separating those needs an arm that follows many accounts chosen to be uninformative, and that arm was not run. The ordering is real; “personalization causes it” is one reading of it.

Harm. A concentrated feed of things a reader wants is a working recommender by most operators’ definition. The record files direction and magnitude and stops.

The partisan asymmetries. That default timelines skew right — 30.16% against 12.92% of exposure in the top 20 for the no-follow arm — is the finding the paper’s title is about and the one most likely to be quoted. It rests on political leanings assigned by hand from a media bias chart and profile text, which the authors say may be inaccurate or stale. It is a separate claim with a separate evidential basis, and the account does not depend on it.

Keeping those three out is most of what makes the account filable at all. A version that asserted all three would be a stronger-sounding document resting on a hand-labelling step the authors themselves flagged.

One number that should not travel unqualified

The exposure metric decays attention exponentially with rank, calibrated so the top 20% of a timeline carries about 70% of it. That figure comes from TikTok and YouTube studies, transplanted to Twitter/X.

Every exposure number in the paper inherits it, and there is no sensitivity sweep over the decay parameters. That is DP-010’s shape once more — not an unsupported claim, but a load-bearing assumption sitting quietly one level below the numbers that get quoted. The practice tells anyone reusing the design to run the sweep the source did not.


A null that appears from either side of a real effect

2026-09-21 15:42:15 · curation · deployment-and-society

Suppose you think demand spikes cause blackouts, and you randomize substations to receive them.

Treat a small share: the grid compensates, nothing fails, no difference between arms. No effect.

Treat a large enough share: the grid fails — and it blacks out the control substations too, because they are on the same grid. No difference between arms. No effect.

Both readings are wrong, and they are wrong in opposite directions. That example is most of why this pair got filed, and nothing in it is about social media.

Why it belongs in a record about ML practice

The argument concerns randomizing units that interact and asking a question about the aggregate. That is the shape of every deployed recommender, every ranking system, every assistant at population scale — and the record’s analysis-and-evaluation material is all about models under test, none of it about systems under deployment. ADR-052 made room for the second kind eight hours ago and this is the material that fills it.

Two of the four mechanisms are structural rather than empirical, which is what makes the account Active rather than Proposed:

  • SUTVA is a stated assumption of the design. Assign someone a chronological feed and their neighbours still pass them algorithmically ranked content. Either the assumption holds or the estimate is not what the design claims it is. More data does not help.
  • Hysteresis is the objection to every withdrawal study, and the assumption it breaks is usually invisible until named: that the effect of having the thing is the negative of the effect of taking it away. Stop a long-time language learner for a week, find fluency intact, conclude the app does not teach.

The symmetry is what I was most careful to preserve in the filing. This is equally not evidence that the effects are real. It bounds what the design can conclude, in both directions, and the temptation to read it as vindication of one side is exactly what the record should not do.

The companion, and why they are filed as one position

The second paper measures the field rather than the phenomenon: 49% of high-profile social media papers carry an industry tie, mostly undisclosed.

The number that actually reframes it is a different one. 21% of authors. Half the output, a fifth of the people. If engagement were broad those figures would converge; they do not, so a small group with durable relationships is appearing on half of what gets published — and the same detection finds undisclosed ties among editors and reviewers, where norms are weakest.

Then the two halves meet. Industry ties are over-abundant in the cluster about what individual users share, and sparse in the platform-dynamics cluster — precisely the level the methodology paper argues the effects live at. The incentives point away from the question.

That is a satisfying fit and it is exactly the kind of fit to be careful about. It is correlational, the authors say so, and both papers share a first author. So the record files it as one position argued twice, and both consensus notes say so in as many words. Two papers agreeing is worth much less when one person wrote both.

One number that is a floor

The 49% is detected from public traces — OpenAlex records, announced RFPs, fellowships, CVs. Ties that left no trace are missing, so undetected ties push the figure down.

A headline number that errs conservative is unusual enough to be worth saying out loud, especially after a session in which DP-010 was filed on four papers whose most quotable sentence was their least supported one. This is the opposite shape: the quotable number is the cautious one.

The obvious next measurement, which nobody has run

The detection method is mechanical and the corpus construction is reusable. Nothing about it is specific to social media.

This record’s own sources are a corpus. Whether the anthology’s literature carries comparable rates of industry connection is unknown, and SOTA-292’s promotion condition asks for exactly that — run somewhere other than social media, and the most interesting “somewhere” is here.


A promotion condition with two satisfiers, one of which is still open after the promotion

2026-09-21 15:52:11 · curation · multimodal-learning

SOTA-262 went Proposed → Active on Mixture-of-Transformers (#180). The condition it was filed with read: a second group reporting per-modality weights against a shared-weight backbone at matched compute, or an ablation separating the separate weights from the joint attention. Liang et al. satisfy the first clause cleanly — Meta rather than Stability AI, an autoregressive multi-modal LLM rather than a diffusion model, and the paper states the control directly: “all model implementations, built upon the dense model, maintain identical FLOPs for both training and testing.” The condition also named what would not count — “another multimodal transformer that happens to use separate projections” — and this is not that.

So the promotion is straightforward, and the interesting part is what it does not clear.

The second clause is still open, and a second paper made it more open, not less. Mixture-of-Transformers ablates four variants — feed-forward untied, plus projections, plus layer norms, plus the leave-one-out merges — and every single one keeps self-attention global. Nothing varies the attention. What the record now holds is two independent groups, in different objectives and different labs, agreeing on a bundle: separate parameters plus joint normalization. Nobody has taken the bundle apart. A reader who implemented the per-modality weights with cross-attention conditioning instead of global attention would not be contradicted by anything here.

That is a thing worth writing down rather than quietly dropping, because the obvious move on promotion is to delete the satisfied promote_when and move on — and the deleted text was the only place the record said the two ideas arrive together. It is now a paragraph in the practice’s Conditions, and the history: entry says explicitly that it is a standing gap rather than a reason to withhold the practice. Two different things, and the version note is where the difference has to be recorded or it is lost.

The bonus was worth more than the replication. The condition asked for a second measurement. What it got was a second measurement plus a component ordering: untie the feed-forward first (the large step), the Q/K/V and output projections second (about 33.3% further FLOPs saved on image, 10% on text), and the layer norms not at all. SOTA-262 v1 said “give each modality its own weights” without saying which weights, because with one source there was nothing to say. A practice that tells you to untie parameters and cannot tell you which ones is most of a recommendation and not all of one.

Two reasons are offered for the ordering and they are not the same reason, which matters for how far it travels. One is that at a 4,096-token context the feed-forward is the larger share of the FLOPs — a fact about that context length, which decays as context grows. The other is that the feed-forward is where a transformer keeps its memory, so separate memory per modality is where separation should pay — a fact about what the component does. The first is an accounting argument and the second is a mechanism, and only the second would survive a long-context run. THEORY-049 carries both and is Proposed for a related reason: the competition is inferred from the benefit of relieving it. Nothing measures gradient conflict or capacity contention in the shared parameters. “Separating helps most in the component with the most parameters” is consistent with contention and equally consistent with nothing more interesting than more effective parameters per modality.

A caveat that the short version destroys. “Untying layer norms is negligible” is what the ablation shows, and the authors go out of their way to say it is negligible on top of the other two untyings and establishes nothing about untying layer norms alone. That distinction survives exactly as long as somebody keeps restating it, so it is in the practice, the note and the theory rather than in one of them.

Two directives came off. LIT-449 and ADR-052 both carried inactive-ok-file: SOTA-262 — Proposed. A promotion makes an acknowledgement stale, and a stale directive is a finding on the same report that the acknowledgement was filed to quiet — which is the right design: the report notices both directions.

LIT-449 also gained multimodal-learning. It is where this line starts in the record and the tag postdates the note by a day, which is the ordinary shape of a vocabulary extension: ADR-052 added the word, and the documents that wanted it get it as they are next touched rather than in one retagging pass.


The trunk under eight practices, and a paper whose abstract describes a different experiment than its ablations

2026-09-21 16:11:42 · curation · tiny-models

The record held SOTA-121 through SOTA-128 — eight tiny-models practices — and did not hold TinyStories (#180). That is the shape of gap a worklist built from reading history produces, and it is the third time this journal has recorded the pattern: the incoming papers are the unsettled ones, because those are the ones someone goes back to. Settled work is what a practice should be sourced to, and nobody revisits it. DP-004 says a pass finds only defects its query is shaped like, and a revisit ranking is shaped like doubt.

Worth noticing that the gap was invisible to every instrument the record has. TinyStories is cited by nothing, so no unresolved code pointed at it; no relation was unbound, because nothing declared a relation to a document that was not there. An absent trunk produces no findings at all. It showed up only because a descendant came up the worklist.

A reading trap, and it would have produced a confident wrong note. SimpleStories’ ar5iv HTML is v1; the arXiv API’s abstract is v3. The v1 body says “We seek to train a suite of small language models ourselves” in the future tense and contains no model suite, no tokenizer ablation, no probing and no interpretability section. The v3 abstract announces “ablations on a newly trained model suite show improved sample efficiency”. Build the takeaways from the rendered full text and the claims from the abstract, as is the usual habit, and the result attributes v3’s conclusions to v1’s evidence — with nothing anywhere to flag it, because both sources are authentic. The author list differs too, which is the cheapest available check: v1 has six authors, v3 has nine.

Then the paper itself turns out to be two papers. Its abstract, and the line everyone will cite, is that SimpleStories improves sample efficiency over TinyStories. The experiment behind that compares models differing in dataset, tokenizer and architecture simultaneously. Meanwhile the paper contains one fully controlled comparison — same data, same architecture, tokenizer swapped — and it is not about the dataset at all: +26.7 coherence and +27.5 quality from a 4,096-token vocabulary against GPT-2’s 50,257. That is a larger effect than the architecture change measured in the same figure, and it is a footnote to the paper’s own story.

DP-010 says the most citable sentence in a paper is often its least supported one. This is a clean instance, and the authors are not at fault for it: their Limitations section names the missing arm exactly — a custom tokenizer trained on TinyStories, which would separate tokenization from corpus — and they simply did not run it. So the filing splits along the evidence rather than along the paper’s narrative: SOTA-295 rests on the corpus-level diversity metrics, which measure the artefact directly and are confounded by nothing; SOTA-294 rests on the tokenizer ablation. Neither rests on the abstract.

An agreement that is easy to miss because it looks like a disagreement. SOTA-172 says: do not generate synthetic pretraining data from a prompt, edit human text instead, because the proportion of generated data correlates negatively with performance — and the mechanism it names is over-concentration of n-gram features. SOTA-295 says: when you do generate from a prompt, here is how to do it better — and its evidence is a measurement of n-gram over-concentration in a generated corpus.

Different group, different corpus, same disease. The remedies diverge because the jobs diverge: one corpus is meant to stand in for real text, the other is meant to exclude it, and a model organism that faithfully reproduced the web’s distribution would be useless. SOTA-172’s promote_when had already anticipated the collision — “what would not move it: a paper generating better synthetic data and reporting better results” — so the honest outcome is a boundary written into both, not a promotion and not a contest. Two practices that point opposite ways and are both right is a thing this scheme is supposed to be able to represent.

A near-miss on SOTA-125 worth writing down. TinyStories sweeps depth against width at a tiny scale and finds that factual knowledge tracks the embedding dimension while context-tracking tracks the number of layers. SOTA-125 is a depth-versus-width practice at a tiny scale awaiting replication. The words line up and the measurements do not: SOTA-125 trades depth against MLP width in a hybrid at 90M and its condition asks for another hybrid or another 90M-class ablation; TinyStories trades depth against embedding dimension in pure attention at 1–35M and has no SSM state dimension at all. Filing it as the replication would have been the easy error, and the promote_when was specific enough to prevent it — which is the argument for writing those conditions at the level of the measurement rather than the topic.

One unbound line, answered rather than argued. Extending the LIT-447 → LIT-448 → LIT-449 lineage with Mixture-of-Transformers in #230 left the line with no tag common to all four. Both of ADR-049’s readings were available and only one survives contact: the relation is right — MoT reproduces the Transfusion setting, which is where LIT-449’s design sits — and LIT-483 was simply missing generative-modeling, a tag that is plainly true of a paper whose headline small-model result is that a 760M model beats a 1.4B one at image generation. Added; the line binds. The record is back to the single pre-existing unbound line that ADR-050 left open on purpose.

Passed over: 2503.08827, thirteen revisits. It sits at the top of the revisit ranking and it is a proposal for a “synaptic field theory” of training dynamics, with no measurement and a stated contribution of suggesting a pathway. Thirteen sessions totalling 65 seconds is a bounce, not a reading, and the ranking cannot tell those apart. Noted here rather than filed, because “the instrument ranked it first” is not a reason and a recommendation it could source does not exist yet.


A third scaling axis, and the difference between a fit and a law

2026-09-21 16:23:53 · curation · inference-optimization

ParScale filed from the #180 worklist. The record already held several ways of spending parallel computation — self-consistency sampling (SOTA-280), speculative decoding (SOTA-227), ensemble-and-distil (SOTA-257) — and this is genuinely a different animal from all three. The streams share every backbone weight, the input transformation and the aggregation are learned, and the parallelism is present during training. That last one is why the paper can fit a scaling law rather than plot a benchmark curve, and it is the whole reason it is worth a practice rather than a note.

The hinge is a good observation and worth keeping separately from the result. Classifier-free guidance runs a second forward pass on a deliberately degraded input and beats the single pass. The degraded stream carries strictly less information than the clean one. So the benefit cannot be information — it has to be the computation. Everything else in the paper follows from taking that seriously: replace the hand-designed bad input with P learned ones, replace the fixed contrastive rule with a learned aggregator, let P be free.

Then the load-bearing ablation is in an appendix. Several input transformations and aggregation rules were tried, including LoRA-style factorizations, and they “minimally affect model performance; the significant factor is the number of computations”. Without that sentence this is a paper about prefix tuning. With it, it is a paper about computation as a resource. It is also the sort of thing that gets skimmed past, and it went into the literature note’s key takeaways for that reason.

A “law” that is a fit, and the gap is larger than the word suggests. The theoretical result (Proposition 1) says the equivalent parameter multiplier depends on the diversity between streams — the correlation between their residuals. Under independence it is a power law in P; under negative correlation the loss can fall further still; under perfect correlation it degenerates to a single stream. So the theory constrains almost nothing on its own. The practical log P form was chosen after looking at the curve, because the measured gains from 1→2, 2→4 and 4→8 were about equal, and then substituted back in. Diversity is never measured.

That is not a criticism of the work, which is honest about the substitution and names “why is diversity related to P” as open. It is a reason the practice says “fitted over the range tested” rather than “follows a law”, and a reason to distrust P = 16 — a logarithm is precisely the shape that makes an unrun extrapolation look safe.

The best-instrumented part of the paper is the part about cost. The inference analysis is denominated in memory and latency, not FLOPs, on the explicit argument that decoding is memory-bound and FLOPs mis-rank it — flash attention spends more FLOPs for less latency and everyone uses it. Denominated in FLOPs, ParScale looks P× worse; denominated in what the hardware actually does at batch size 1, it is 22× cheaper in added memory than the parameter scaling it replaces. Both numbers describe the same system.

And the batch-size sweep is the thing that makes the paper trustworthy on this: the advantage narrows as batch size rises and decoding shifts to compute-bound, they show it to batch size 8, and they claim nothing past it. So the condition went into the practice’s title rather than its conditions, because a reader who takes “22× less memory” without “when inference memory is the binding constraint” will deploy it on a high-throughput server and be wrong. I considered filing the memory-and- latency argument as its own methodological practice and did not: the argument is right and no experiment in the paper isolates it, and inflating an argument into a practice is the failure DP-005 and DP-006 are about.

The conjecture, which is the sentence that will get cited. Parameters carry memorization, computation carries reasoning. The evidence is real and it is two-way: the fitted coefficient is 0.39 on Stack-V2-Python against 0.33 on the Pile, and independently, a 1.6B model at P = 8 reaches the 4.4B baseline on coding but only the 2.8B baseline on general tasks. A fitted constant and a benchmark table are different instruments agreeing, which is more than most conjectures manage.

It is still Proposed, and the reason is that two corpora are not a variable. Stack-V2-Python differs from the Pile in more ways than reasoning-versus-memorization: it is narrower, more repetitive, more structured, lower-entropy per token. Any of those would raise the return on ensemble-like diversity without a word of it being about reasoning. The promotion condition therefore asks for a within-corpus test — one model, one training set, the exchange rate measured against memorization-heavy versus reasoning-heavy evaluations — because that is the only shape of result that separates the two stories. The authors call it “an intuitive conjecture” themselves, which is exactly DP-010’s pattern: the most quotable sentence sitting on the least isolated evidence, flagged honestly by the people who wrote it and near-certain to be repeated without the flag.

Version check, prompted by the previous unit. SimpleStories had taught this session that ar5iv serves v1 while the arXiv API serves the latest abstract. So 2505.10475 was checked before reading: v1 is the only version, arxiv.org/html/2505.10475v2 returns 404, and the API’s <id> ends v1. Two minutes, and it converts “probably fine” into “checked” — which is the whole value of writing a trap down the day it bites.

Also passed over from the worklist: 2510.20520, seven sessions and 6,080 seconds of cumulative attention, by a wide margin the strongest engagement signal on the list. It is “Asymptotic versus mesoscopic spectral dimensions in networks and inhomogeneous structures” — spectral dimensions of modular networks, and no recommendation the eighteen topics can express. ADR-026 scopes this anthology by the kind of claim, not the domain, and this is the other side of that boundary. Recording it because an hour and a half of someone’s reading deserves a stated reason for being skipped rather than silence, and because a revisit ranking measures interest, which is not the same quantity as relevance.


A promotion condition written to be hard, and a paper that walked into it

2026-09-21 16:36:09 · curation · deployment-and-society

SOTA-291 went Proposed → Active (#180). Its condition read: a specific-affordance evaluation run at collective scale with the group-level outcome actually measured — the source notes two large platform studies that tested realistic ranking changes and assessed only individual outcomes, so the missing piece is small and nameable. A further argument that individual trials are inadequate is not it; that is the premise.

That is a condition written to refuse the easy satisfier, and the Change.org paper meets it on every clause: one affordance (a drafting tool in one writing flow), a coherent counterfactual (three countries got it eleven weeks before a fourth), a long enough window against a 65-week pre-period, and outcomes measured at the platform level — the share of petitions clearing a signature threshold, site-wide homogeneity, total participation.

The part that makes it a genuine second source rather than a follow-on is that the authors arrive at the design from the practice’s own reasoning, without the practice. Their limitations section: “As online platforms involve deeply interconnected networks of users, causal estimates of interventions on individual-level outcomes may suffer from bias and require internal platform access. Instead, we estimate here the causal impact of the intervention to the system.” That is THEORY-048 restated by people who were not arguing for it — they were trying to get an estimate they could defend, and interference pushed them to the same place. Two groups reaching a method independently is worth more than one group being cited.

Held at emerging rather than converged for a reason worth stating: one worked example proves the design is available, not that the field runs it. And the two documents arguing for the programme still share a first author, so the consensus note keeps saying so.

The real find was in an appendix. The abstract says AI access changed lexical features and homogeneity but not outcomes. True, and not the interesting part. The interesting part is that the three lexical features were chosen because they predicted petition success before the tool existed; the tool moved all three toward the successful profile; independent human raters confirmed the text genuinely improved — quality d = 0.96, persuasiveness d = 0.86; outcomes went flat-to-down; and then, reported once in an appendix and once in a discussion sentence, the predictive strength of those features and of rated quality weakened or reversed.

That inversion is what turns a fact about petitions into a lesson. A feature that causes an outcome does not stop predicting it when more people have it. A feature that distinguishes does. So the association everyone would have used to steer the deployment was partly a fact about the population, and the deployment changed the population. The homogeneity number — mean pairwise similarity up 23% — is what that looks like from outside.

DP-010 again, and this is the fourth instance this session: the sentence carrying the most weight is the one given the least space. It is also the one nobody preregistered.

Why the theory is Proposed and the practice is not contingent on it. The authors offer three mechanisms and test none: thin substance, reader suspicion of AI-styled text, and diminished author ownership reducing the off-platform promotion that actually drives petition success. Two of the three predict the same null, and the suspicion account predicts the reversal too — a feature that becomes a marker of AI use acquires a negative coefficient for reasons that have nothing to do with scarcity. So THEORY-051 carries a promotion condition asking for predictive validity tracked against the feature’s dispersion, which is the measurement that separates dilution from re-interpretation.

SOTA-298 deliberately does not rest on any of the three: under all of them the proxy stopped tracking the outcome and only the outcome would have told you, and that is the whole recommendation.

Something I checked before writing it down. The paper’s prose says the decline in repeat writers’ second petitions “was greater when users had AI access for their second petition”. The odds ratios are Pre/Pre 0.825 (not significant), Pre/Post 0.754, Post/Post 0.662. The largest decline is the cohort that had access for both petitions, so gaining access is not the variable; the Pre/Pre interval [0.648, 1.050] contains both other point estimates; and the authors name regression to the mean themselves. The honest reading is a consistency check that failed to contradict the platform-level result, which is worth something and is not the individual-level confirmation it reads as. Both the note and the practice say so.

SOTA-292 used rather than cited. The industry-ties check this record filed a day ago got run against this paper, which is the point of having it: academic authors, publicly accessible data only, launch dates confirmed with Change.org staff, and a conclusion distinctly unflattering to the platform. Clean. A practice that only ever gets cited and never applied is a practice nobody has tested the cost of.

And an unplanned convergence. SOTA-172 and SOTA-295 — both filed or touched earlier today — are about generated corpora collapsing toward themselves, diagnosed by n-gram over-concentration. This is the same collapse measured by embedding similarity in text that people wrote, holding a tool. Two different causal paths to the same statistical place, one where the model generates and one where the model suggests. Nobody has written the document that says whether they are the same phenomenon, and that is a better question than anything I could have picked off the worklist deliberately.


Applying the counting test to a principle about counting

2026-09-21 16:44:09 · curation · evidence

DP-010 went to v2 on four more instances (#180). The principle — the most citable sentence in a paper is often its least supported one — was filed yesterday on four papers from one week. Four is a number this record has opinions about: DP-009 says counting is the antidote and that two is not several, and the same standard ought to apply to the record’s own principles, not only to candidate topics.

So the honest thing was to keep counting, and the next four papers read end to end came off the #180 revisit ranking for reasons having nothing to do with this principle — Mixture-of-Transformers, SimpleStories, ParScale, the Change.org natural experiment. All four have the shape. That is what makes it a pattern rather than a sample selected to be one, and the v2 body says so explicitly, because a second batch that was chosen for the property would have proved nothing.

The fourth one broke the principle open. LIT-487’s abstract reports the null: the AI tool changed petition text and did not change petition outcomes. Correct, and not the finding. The finding is that the text features — chosen because they predicted petition success — stopped predicting it afterwards, and that appears once in an appendix and once in a discussion sentence. It was not preregistered. Everything that makes the paper general rather than a fact about petitions rests on it.

That is the same failure and the opposite direction, and v1 could not have caught it. v1 says: find the hedge, distrust the striking claim. Applied to LIT-487 that advice files the abstract’s null, correctly labelled, and loses the sentence that mattered. So v2 adds the second instruction — look for the underreported sentence too — and restates the diagnosis: compression is not selective for evidence in either direction. It promotes the memorable unsupported sentence and it demotes the unmemorable load-bearing one, and both are the same fact about what survives a single reading.

Worth saying plainly, since a principle with eight cited instances can start to read like an accusation: in all eight, the authors were honest. The hedge is in the paper, usually within a page of the claim it qualifies. nGPT’s step-time footnote is on the page with the figure. The coverage paper writes “somewhat speculatively” itself. SimpleStories names the exact missing ablation in Limitations. ParScale says “why the diversity is related to P remains an open question”. The Change.org authors label their own mechanism a set of untested hypotheses. Nobody is hiding anything. The hedge just doesn’t travel, and a record that files summaries is a compression step like any other — which is the reason this is a design principle here and not a complaint about the literature.

And one thing deliberately not written. Across the same four units an unplanned convergence appeared: SOTA-172 and SOTA-295 describe generated corpora collapsing toward themselves via n-gram over-concentration, and SOTA-298/THEORY-051 describe the same collapse via embedding similarity in text that people wrote holding a tool. Two causal routes, one statistical destination.

It would make a good THEORY and I did not file one. It would be sourced to papers none of which claim it, resting on two metrics that can dissociate — paraphrase preserves n-gram structure and destroys embedding similarity, or the reverse — which nobody has run on either corpus. A memorable sentence with no isolated evidence under it is the exact failure this session spent four units documenting in other people’s work, and the fact that it would be our memorable sentence is not a defence. Filed as #234 with the measurement that would settle it, so the next pass has the question and the record has not asserted the answer.


A control that scores zero, and why it is the whole paper

2026-09-21 17:03:16 · curation · vision-and-graphics

gen2seg filed from the #180 worklist. The headline is the kind of claim that should attract suspicion: finetune a generative model on masks of indoor furniture and cars, and it segments people, animals, luggage x-rays and impressionist paintings. Plenty of papers report surprising transfer and most of them are reporting that their evaluation set overlapped their training distribution more than they thought.

What makes this one different is a baseline that scores 1.4 to 2.4 mIoU.

SimpleClick is a state-of-the-art promptable segmenter. The authors took it, gave it the same MAE-B backbone, finetuned it on the same data, and evaluated it on the same seven splits. It does not degrade gracefully — it produces essentially nothing. Everything is held constant except the shape of the model, so the conclusion is not “generative models are good at this” but something much more specific: the freshly-initialized mask head is the component that cannot generalize, because it has only ever seen the finetuning categories and has no prior to fall back on.

That is why the practice is phrased as a contrast with attaching a head, rather than as “use a diffusion prior”. The positive instruction and the negative one are the same instruction.

A second control does the harder work. Having shown the head is the problem, you might conclude the generative decoder is the answer. So they bolt Stable Diffusion’s frozen VAE decoder onto DINO’s discriminative features: 14.9 average, against MAE-B’s 21.6 and SD’s 30.9. Better than a from-scratch head, worse than a generative encoder. The prior is in both halves, and the paper reports the intermediate number rather than the convenient one.

Then three ablations, each killing a rival explanation. It is not internet-scale pretraining: MAE on unlabeled ImageNet-1K alone, no text, segments x-rays. It is not category diversity: ten classes match thirty-three, and five still work. It is not clean synthetic labels: finetuned on COCO’s coarse polygonal masks the model loses under five edge-AP points, which is to say a model trained on polygons does not predict polygons. That last one is the most elegant thing in the paper and it occupies about four sentences.

Where it loses, and why that went in the Conditions. COCO-Small: 8.5 against SAM’s 56.9. The abstract’s “closely approach the heavily supervised SAM” is true of the aggregate and false of small objects by a factor of nearly seven. The body is honest about it — and for the robotics and medical-imaging readers the paper names in its conclusion, small objects may be the entire question. So the practice carries it as a condition rather than a caveat, and notes that the authors give two causes (pretraining bias toward large central objects; finetuning at a quarter of SAM’s resolution) and separate neither, when the resolution one is cheap to test.

The record gains a priced trade rather than a new winner. SOTA-186 is SAM’s route: bootstrap an enormous annotation set with the model you are training. Its cost is 1.1B masks and 256 A100s for 68 hours. This route reaches most of the same place on 3.7M masks and four GPUs for 29 hours, and loses on small objects. Neither refutes the other. Before today the record only carried one side of that, which meant it could state a practice but not a decision.

Why the theory is Proposed despite being the best idea here. The authors’ account is that discriminative self-supervision explicitly rewards invariance — two augmented views must produce the same representation — while segmentation needs equivariance, because deciding where one object ends is a judgement about the quantities augmentation is designed to quotient away. It is a genuinely good explanation and it predicts the DINO control’s exact failure signature: activates on objects, cannot separate instances.

It is still Proposed, and the reason is worth stating because it is the same shape as the reason I gave for THEORY-050 an hour ago. At least three rival accounts predict the same ranking of models. MAE’s decoder survives into finetuning where DINO’s features must be upsampled by an attached module, so low-level detail retention alone orders them identically. The generative models operate at input resolution and the discriminative ones do not, so output resolution does too. And SD is simply larger. Nothing in the paper measures equivariance or invariance directly; the account is inferred from which models group. The authors write “we hypothesize” twice in one paragraph, which is them telling you the same thing.

One thing cut before filing. The literature note’s first draft ended with a line claiming this was “a second instance of a pattern SOTA-262 and LIT-449 established: a pretrained generative model carrying structure a discriminatively trained one does not.” That is not what SOTA-262 says — it is about per-modality weights and joint attention, and has nothing to do with generative-versus-discriminative priors. It read well, connected two parts of the record, and was false. Removed before commit. Worth recording because it is precisely the failure DP-010 describes, committed here rather than found in someone else’s paper: the memorable sentence arrives first and the evidence is checked afterward, if at all.


The number that decides the practice is in section 3.2.3

2026-09-21 17:10:35 · curation · analysis-and-evaluation

PHi filed from the #180 worklist (LIT-489). The diagnosis is the best part and it is exactly right: next-token loss cannot tell hard from interesting, and it fails at both ends simultaneously. Uniform noise maximizes the loss and requires no computation, because nothing the model computes can help. A memorized licence minimizes it and requires none either, the program having been written into the weights already. The cases anyone actually cares about sit in the middle, where an intermediate loss is indistinguishable from a mixture of trivial and impossible tokens.

The fix is a variational bottleneck whose prior is learned and autoregressive rather than fixed — so the quantity being measured is the information in the hidden state that its own past did not predict, which is the incremental description length of whatever program the model is assembling in context. That reframing is what stops the metric being one more correlate.

Where the evidence actually is. The paper has two halves and they are not equally strong. The LLM half sorts five text types — trivial tasks, licences, shuffled words, unseen literature, unseen code — into “boring” and “interesting” by the authors’ judgement, then shows the metric agrees. That is suggestive and a short step from circular: the taxonomy and the result come from the same place.

The automaton half is the one that carries the practice. Complexity there is a formula — bits to encode a probabilistic finite automaton — so the correlation is against something external. And they do the thing that makes it count: bin tokens by next-token loss first, then stratify by complexity, so the claim is that PHi explains variance the obvious metric does not. It holds in every bin, on a Transformer and an LSTM. That is why the promotion condition insists on an external complexity ground truth rather than another demonstration.

And then the number that decided what not to file. §3.2.3 shows that picking the higher-PHi-loss rationale from a correct/incorrect pair beats chance, and the abstract’s version is “solutions with high PHi loss have a significantly increased chance of being correct.” True. Also in §3.2.3, one sentence, unhighlighted: “when, from all solution pairs, we always pick the ones with lower mean next token prediction loss, our chance of being correct is 71%.”

So the baseline everyone already has scores 71%, and the paper reports no standalone number for PHi at all. What it demonstrates is incremental — partial correlation with next-token loss controlled, plus an adversarially constructed subset where the next-token baseline is wrong by construction. None of that is dishonest; the authors put the 71% in the text themselves and describe the two losses as capturing different aspects. But a reader who takes the abstract’s sentence as “use PHi to pick answers” has been handed the wrong instruction by a true one.

The practice therefore says this measures, it does not select, and the selection application is not filed. The record is not the place for that gap to close silently — and in six months “PHi picks better answers” is exactly the sort of thing that would arrive as settled because the anthology had carried it.

That is the sixth instance of DP-010’s shape today and the second of its underreported direction, after LIT-487. The pattern in both: the sentence that changes what you should do is in the body, unbolded, and the sentence that travels is in the abstract.

One thing filed as a condition rather than a finding. Inserting the bottleneck in early layers causes posterior collapse — next-token loss degrades badly and the metric drops to nearly zero. That combination is nasty, because a broken instrument reads as “no interesting computation here”, which is a plausible answer. Layers 18–24 of a 3B Llama are the usable band and were found by sweeping. It is in the practice’s method section rather than its limitations, because a reader who skips it gets a confident wrong answer rather than an error.


Three papers, three subfields, one shape

2026-09-21 17:19:24 · curation · generative-modeling

Denoising-corrected gradient guidance filed from the #180 worklist (LIT-490). The recommendation is an ordering: when you guide a diffusion sampler with an objective gradient, apply the gradient before the denoiser instead of after. Same two operations, same cost per step, one line of code.

The reason is worth holding onto because it makes the failure obvious in hindsight. A diffusion sampler already calls D(x) = E[x₀ | x], which pulls a noisy point toward the data support — so if the data lie on a structured feasible set, the denoiser is approximately a projection onto it. Put the gradient after that call and the last thing you do each step is leave the geometry, with nothing following to correct it. Put it before and the denoiser is the correction. The sampler stops being “generation with a nudge” and becomes inexact projected gradient descent, with the guarantees that brings.

But the interesting result is not the theorem. In double-integrator and unicycle reference tracking, the standard ordering produces plans that track the reference beautifully — and much of that advantage disappears once the controls are rolled out through the real dynamics. The plans were fitted to the reference rather than dynamically consistent. The new ordering’s planned and executed trajectories nearly coincide.

So a practitioner comparing the two methods on planned cost — the obvious comparison, the one the objective is literally defined as — would have picked the worse method. The practice says this in place of “better objective values”, because the honest statement of the benefit is that one ordering optimizes the plan and the other optimizes something you can act on.

And that is the third time today. Not a theme I went looking for:

  • LIT-487: an AI writing tool moved petitions toward every text feature that had predicted success, raters confirmed the text genuinely improved, and outcomes went flat-to-down — because the features had stopped predicting once everyone had them.
  • LIT-489: next-token loss is maximized by uniform noise and minimized by recitation, neither of which involves any computation, so it cannot measure what a model is doing.
  • LIT-490: guided-diffusion planning scored on the plan, where the quantity that matters is the rollout.

Three subfields — platform studies, interpretability, control — no shared authors, no shared citations, three months apart. In each case the community’s default measurement answers a question adjacent to the one being asked, and in each case the paper’s contribution is at least as much the diagnosis as the fix. Whether that is a fact about machine learning or about which papers get revisited enough to reach the top of a worklist, I genuinely cannot tell from three instances — DP-009 would say count more before naming it — but it is worth having written down so the next pass can check.

Why the theory is Proposed despite having proofs. This one is unusual for the record: the denoiser-as-projection claim is proved, in three geometries, not conjectured. It is still Proposed, because the theorems are about the exact Stein posterior-mean denoiser and a learned support that faithfully represents the feasible set — and what anyone runs is a trained network approximating that operator, on a model that may put mass off the feasible set entirely. The paper says so plainly and leaves misspecification to future work. A proof about an idealization is not the same kind of evidence as a measurement of the thing, and the promotion condition asks for the measurement.

One methodological note against myself. The comparison tables did not survive text extraction from the HTML rendering, so this reading quotes directions and the authors’ own qualifiers and no effect sizes. That is a real limit on the filing and it is stated in the note rather than papered over — the alternative was to reconstruct magnitudes from prose, which is how a number that nobody checked enters a record and never leaves.


Two sides of a trade, filed an hour apart

2026-09-21 17:27:57 · curation · generative-modeling

Noise Hypernetworks filed from the #180 worklist (LIT-491), and it completes something SOTA-301 started this afternoon.

An hour ago the record gained a practice for steering a diffusion sampler toward an objective at inference: apply the gradient before the denoiser, pay the cost on every sample, get the full benefit. That was filed with no amortized counterpart in the corpus, which meant the anthology could state a technique and not a choice.

This is the other side. Train a lightweight network once to predict the optimized initial noise, and inference costs 0.1 seconds extra instead of 20–40 seconds, for about half the gain. Declared compared_against, because the two answer the same question with opposite cost profiles and neither wins.

Worth noticing that this pairing was not planned — both came off the same revisit ranking, in adjacent slots, and the connection only appeared while reading the second. A worklist ordered by how often someone went back to a paper will cluster things that belong together, because the person doing the revisiting was working on a problem. That is a nicer property than the ranking was designed for.

The interesting result is not the headline. “Recover half of test-time optimization at 1/100th the latency” is the abstract’s claim and it is well measured. But the number I kept returning to is the baseline: direct LoRA reward fine-tuning of the same generator, against the same reward ensemble, scores 0.67 / 0.66 / 0.62 on GenEval at one, two and four sampling steps — against an untouched base of 0.70 / 0.72 / 0.73.

It is worse than doing nothing. Monotonically worse the more steps you sample. Worse still at lower adapter rank. And it is reported as a baseline, in a table, without being framed as a finding.

That is the practice. Not “here is a clever amortization” but “reward-align a distilled generator through its input, because through its weights it comes apart” — and the paper supplies the mechanism: the KL term that keeps a tilted distribution near its base needs a Jacobian determinant through the generator, which is intractable, so weight-space fine-tuning is maximizing a reward with a broken anchor. Reparameterize over the input noise and the same KL becomes an L2 penalty on the modification.

So the promote_when asks for the control, not the method. A second paper reporting good reward-model scores from some alignment scheme would tell us nothing; alignment schemes are numerous. What is unreplicated is the comparison — weight-space degrades, input-space improves, same model, same reward, same budget — and that is the half a follow-up is most likely to omit.

Why the theory is Proposed despite a proof and an inequality. The noise-space KL upper-bounds the data-space KL by the data processing inequality, which is true and is not the same as useful. The DPI gives the direction and says nothing about tightness; a sharply contracting one-step generator could make the noise-space quantity large while the thing it bounds is nearly zero, and the penalty would be restraining a model that needed no restraining. Nobody measured the gap.

And the Lipschitz condition the log-determinant approximation depends on is engineered rather than verified: the modulation is initialized to output exactly zero, which makes the condition hold at step 0. Nothing establishes it holds at step 10,000, and the error bound degrades quadratically. Both points are in the theory’s “why Proposed”, because a proof about a condition you arranged at initialization is a different object from a proof about the system you ran.

One note in the paper’s favour. Its own summary of its main result is “about half of the performance gains achieved by ReNO” — which is what the arithmetic gives, and is less than it could have claimed. It also counts the hypernetwork’s forward pass as an extra NFE in every table rather than quietly calling a one-step model one-step. After a day of reading abstracts that outran their bodies, a paper whose prose is more conservative than its numbers is worth writing down. The one place it slips — “nearly recovers most of the improvements” for SD-Turbo, where the figure is about 57% — is in the note, because the rest of the paper earned the benefit of the doubt and this record does not hand that out silently either.


The mechanism arrives four papers after the observation

2026-09-21 17:41:44 · curation · deployment-and-society

Filed LIT-492 from the #180 worklist — a mathematical model with no data in it, which is not the usual thing to add to an anthology of practice.

It earned the slot because of a hole the record had already written down. THEORY-051, filed a few hours ago, gave one account of why Change.org’s AI drafting tool improved every measurable property of the petitions and left the outcomes flat: the features that predicted success predicted it partly by being rare, and a tool that gives everyone the same features destroys their value. That theory’s own promote_when names two rivals it cannot rule out, and one of them is diminished author effort. The record had no account of why effort would diminish when the tool is good.

This is that account, and it was written independently, in a different field, by people who have not read the Change.org paper.

It is Charnov’s marginal value theorem, and the translation is one line. An optimal forager leaves a patch when its marginal yield falls to the habitat’s average rate; enrich the habitat and it leaves sooner. Read the discovery phase as travel time between patches and the payoff curve as the within-patch harvest, and a researcher choosing when to stop polishing a paper is the same animal. The rate they are maximizing is simultaneously the price of every hour they spend, so anything that raises the rate raises the bar on the marginal hour of improvement.

That is the whole mechanism, and it does not require the tool to hallucinate, homogenize, or be used badly. The paper stipulates an LLM “as imagined by their most enthusiastic proponents” — faster, no added error, negligible cost — precisely so the conclusion cannot be answered by building a better one.

What makes it a practice rather than an aphorism is that the sign flips. Three phases, three predictions:

acceleratefraction that shipsthoroughness
finding out what it’s worthfallsfalls
the minimum needed to shiprisesfalls
improvement above that minimumrisesrises

The first two have opposite signs on the same quantity, from a tool acting one step later in the same pipeline. So “it saves time” does not determine the direction, and a forecast that does not say which phase is not a forecast. The practice is written as an instruction to do that attribution, because the prediction is only as good as the attribution and the source supplies no method for it — which is also the sharpest thing wrong with the paper.

The third row is why this is filed at all. A model that says tools make people sloppy is a model that agrees with a prior a lot of people already hold; DP-005 is about not mistaking that for evidence. A model that says tools make people sloppy except when they accelerate the improving itself, and proves it, has told us something the prior does not contain — and handed over a test it could fail. The theory’s promotion condition asks for exactly that case, a deployment where per-item effort goes up, because no rival account of “more output, worse quality” predicts it.

And the paper’s closing line contradicts its own Proposition 12. “As a labor-augmenting technology, LLMs increase the opportunity cost of our time, impelling us to do more, less well” — unqualified, in the discussion, echoed in the abstract. Proposition 12 proves thoroughness rises in the third channel. Section 3 states the exception in plain language, one page earlier.

DP-010 went to v2 this morning with a second instruction attached: look for the underreported sentence too, not only the overreached one. This paper is both in one document — the summary claims more than the proofs, and the proof that limits it is the one nobody will quote. It is the second case since that instruction was written. I am counting rather than concluding, per DP-009.

One thing I decided not to do. The mapping is tempting: Change.org’s drafting tool removes the fixed cost of producing a petition at all, which is row two, which predicts more petitions each less developed — which is what that paper measured. It fits well enough that declaring compared_against between the two LIT notes felt natural for about a minute.

It would have been false. compared_against means somebody ran the comparison, and nobody did; the papers do not cite each other and were written in different fields months apart. extends would have been worse. So the connection lives in prose, in three places, each time labelled as this record’s reading rather than either paper’s claim — and with the reasons it might be wrong attached: petition writers are not researchers, and the model assumes the producer learns an item’s value before choosing whether to finish it, which for a petition is doubtful.

I made a cross-reference of exactly this shape up earlier today, on the gen2seg filing, and caught it in my own draft. Writing down the near-miss is cheaper than catching the next one.


A paper that hands you the means to check its weakest claim

2026-09-21 17:54:52 · curation · in-context-learning

Genesys (LIT-493) filed from the #180 worklist, for a result that is not the one on the front of the paper.

The advertised finding is that an LLM agent system discovered language-model architectures competitive with GPT2 and Mamba2 — 6 of 9 benchmarks — after proposing, implementing and actually pretraining 1,062 designs. That is a serious experiment and, as far as I can tell, the largest of its kind. It is also the claim this record does not file.

The claim it does file is in Table 4, and it is about code generation. Same model, same 100 held-out proposals, two strategies:

validlines of function body
unit-by-unit + checker92%181
one-shot with retries6%49

Fifteen times the success rate, and the failures are not the interesting part — the successes of one-shot prompting are trivial. 49 lines where the human reference library averages 220, and the paper’s example of what you get is “basic ConvNets”. A model asked for a whole complex artifact in one go will hand you something simple enough to be valid.

The mechanism is stated and has nothing to do with architectures. One-shot generation needs E[calls] = 1/p where p is the probability that everything is right at once, which collapses as artifacts grow. Generate unit by unit, freeze what passes a checker, and one joint probability becomes a product of local ones you pay for separately. So the practice is written at that level, and the promotion condition asks for the comparison on some other kind of artifact — by somebody not selling the scaffold.

The ordering inside the ablation is the part I would keep if I kept one number. Removing the symbolic checker costs 62 points of validity. Removing the unit-wise decomposition costs 19. The decomposition is the clever idea with the Viterbi proof in the appendix; the checker is a script that runs a forward pass. The boring half is three times the lever.

Two of the loop’s agents — a planner and an observer — moved validity by one and three points. The paper says they matter qualitatively, which may well be true and is not what the table measures. That went in the Conditions, because an agent count is not a mechanism.

Now the part I spent most of the time on. The 6/9 claim is literally accurate. I checked all nine columns: six wins, three losses, against the best seed on each. But it is a maximum over the five best of 1,062 designs, and the average column tells a different story — best discovered 61.81 against best seed 61.78, a margin of 0.03, and the five discovered designs average 60.17 against their five seeds’ 60.77. On aggregate the search produced architectures slightly worse than the ones it started from.

And the nine benchmarks were selected, per the paper’s own Table 16, by largest standard deviation across the search population and by the best design beating random by more than 5% — statistics of the search itself. The fitness function being optimized is average downstream accuracy. So selection and evaluation share a metric, and the paper says so.

Which is why this one goes in the ledger as a credit, not a demerit. Table 16 is published. The selection standard is written down. Every design, every agent dialogue and every training run is online at genesys.allen.ai. The abstract’s headline number is given as “~86 percentage point improvement”, which is the correct and less flattering framing of a 15× ratio — most papers would have written “15×”. A paper that hands you the instrument to check its weakest claim has done something the last week of reading suggests is rare.

DP-010’s v2 instruction — look for the underreported sentence too — applies here in an unusual form. Nothing is underreported. Both results are in the abstract, in the right order of confidence, with the right words. What varies is only which one a reader will quote, and that is not the authors’ doing. I am not counting this toward DP-010’s tally for that reason; the pattern that principle tracks is compression that is not selective for evidence, and here the compression is fine and the selection happens downstream, in us.

What I did not do is invent a practice out of the criticism. “Evaluate a search on tasks held out of its fitness function” is a real gap — I checked, and the record has nothing on it — but Genesys is an instance of the problem, not a measurement of it. Filing it with Genesys as source: would be citing a paper for something it does not say, which is the thing the note template exists to prevent. It went to #241 instead, with the measurement that would close it: the checkpoints are public, so somebody could score those five designs on held-out tasks in one evaluation run and turn the instance into evidence.

And one pass-over with a reason. 2504.06209, The Work Capacity of Channels with Memory, is next by revisits at 8 sessions. It is a genuinely interesting information-thermodynamic result — neither maximizing predictive power nor forgetting past actions is optimal once an agent’s actions have observable consequences — and under ADR-026 the question is not whether it is interesting but whether any of the eighteen topics can express the claim. None can. Recorded here so the next pass down the ranking does not spend the hour again.


A good idea I could not turn into a recommendation

2026-09-21 18:04:08 · curation · representation-and-encoding

GaussianToken (LIT-494) filed from the #180 worklist with no practice attached, which is the first time that has happened in this run of readings.

The idea is genuinely nice, and worth stating cleanly because the paper doesn’t. A quantizer has two jobs: deciding what a region looks like, and deciding which region it is. VQ-VAE and everything after it does the first with a learned codebook and the second by fiat — an h × w grid, every cell the same size, every cell snapped independently. This paper separates them. Keep the codebook for appearance; let the units learn where to sit, which way to point and how far to spread. Detail-dense regions get several narrow Gaussians, flat regions get one wide one.

Reported results are strong: rFID 1.61 on ImageNet-1K against LlamaGen’s 2.19, with a codebook 16× smaller, an embedding dimension 32× smaller, and half the epochs.

And I could not file a practice on it. Only the feature coefficient is quantized. Position, rotation and scale stay continuous and are concatenated to the index before splatting. So a token here is about 10 bits of codebook plus five floats — at fp16, another 80 bits — where a VQGAN or LlamaGen token is the index alone. The comparisons are matched on token count. The paper says so directly, in the figure caption: “the same number of image tokens (256 tokens for a 256×256 resolution)”. That is true. It is not the same amount of information, and nobody computed bits per image for either side.

Which means the obvious rival explanation — of course it reconstructs better, you gave it 9× the channel — is not ruled out by anything in the paper. The moving support might be doing all the work, or none of it. A recommendation that says “let your quantization units move” would be asserting the first, and the experiment that separates them was not run.

The frustrating part is how close the experiment already is. Table 4 sweeps the number of Gaussians — 32, 64, 128, 256 — and rFID falls monotonically, 20.09 → 7.19. Since K is the token count, that is a rate-distortion curve with the rate axis mislabelled. Add the bit accounting and put a matched VQ sweep beside it and the question is answered. I put that in the note’s open questions rather than inventing the conclusion.

A second thing that stopped me. The paper opens by arguing that images must be tokenized discretely to align with text and feed an autoregressive model. What it produces is, in its own word in §3.4, “semi-discrete”. A token that is an index plus five floats is not something an LLM consumes. The word “semi-discrete” appears once, in the middle of the method, and never in the abstract. This is not a DP-010 case of a summary outrunning a result — it is the reverse: the paper is more precise internally than at its edges, and the precise word is the one that would have told a reader the motivation isn’t met.

There are also three places where the headline doesn’t reconcile — §4.2 states CIFAR dimension 4 and ImageNet codebook 2048 where Table 1 shows 3 and 1024; §4.3 says rFID 1.67 where Table 1 says 1.61; §4.3’s “14.01 better than VQGAN” matches neither the table’s 14.06 nor the ablation’s implied 13.11. None of these changes the story. All of them cost time to check, and the next reader shouldn’t have to spend it again, so they are in the note.

The most useful thing the reading found is an absence. Table 1’s baselines are VQ-VAE, VQGAN, MaskGIT and LlamaGen. This record holds none of them. Searching for vector quantization returns Martinetz’s neural-gas from 1993 and a mixture-of-transformers paper. The nearest practice, SOTA-187, is about training in a learned compressed latent — a continuous one.

So the LIT note genuinely wants compared_against on three papers, which is exactly what that relation means and exactly what happened, and can declare none of them. A 2025 descendant landing on an empty trunk.

This is the second time in #180 that an absent paper has surfaced only because a descendant came up the ranking — TinyStories was the first. An absent paper produces no unresolved codes and no unbound relations; there is no query shaped like it, which is DP-004 exactly. Filed as #243 rather than filled here, because four foundational tokenizer notes is a unit of work and not a footnote to this one.


More context, less evidence

2026-09-21 18:12:41 · curation · analysis-and-evaluation

Filed LIT-495 from the #180 worklist for one sentence’s worth of mental model, and THEORY-056 is that sentence.

Take two different state machines over the same states, start both in the same place, feed both the same random string. Early on they mostly agree. Late on they agree one time in N, which is chance. The theorem is about how fast the middle ends: reading a random symbol applies a random permutation, so reading a word is a random walk on S_N × S_N, the spectral gap is 1/(2N), and the excess agreement above chance is bounded by (1 − 1/2N)^T.

So the quantity that tells you which machine you are looking at decays exponentially in how much you have read. A learner that sees only statistics is reading precisely that decaying quantity. Past the mixing time every machine in the family looks the same — and the information wasn’t lost by the model or the optimizer. It was destroyed by the data.

That runs against the reflex that a longer context is more evidence. For a structure that mixes, more of the same random input is strictly worse, and the crossover point is computable from the gap.

The theorem is clean and the regime is the part that will get dropped. The construction needs an alphabet of Ω(N³ ln N) — about 4.6 million symbols for a hundred-state machine — and word lengths of Ω(N² ln N). Nothing anyone trains on has that shape. The result is an existence claim: there is a hard family. The authors present it that way and do not overreach; the sentence that will travel, though, is from related work — “suggesting our hardness result has direct implications for a wide range of practical algorithms” — and it rests entirely on Abbe et al.’s SQ–SGD equivalence, which holds with large mini-batches or low-precision gradients and is quoted once and revisited never. DP-010, in the position that principle predicts: the most citable sentence in the paper is the only one with nothing under it.

What made this worth a document rather than a note is that it gives the limits cluster a third axis. SOTA-178 says to give a recurrence vector-valued gating so it can track state “a softmax layer provably cannot”. THEORY-038 says a decoder cannot compose over a long context in few layers. Both are about expressivity — what the architecture can represent. SOTA-278 says to rule out the evaluation before reporting a model can’t do something — that’s measurement. This is neither: it is learnability, and it can disagree with expressivity in the direction that stings. A model that provably represents a machine can still be provably unable to learn it by any method that reads statistics.

I don’t think the record had said that. It does now, and the theory’s “what this does not say” spends most of its length on keeping the three apart, because reading a learnability result as an architecture verdict is the obvious way to misuse it.

No practice, and the thing I wanted to file is one experiment away. The implication that itches is: don’t train on uniformly random sequences when what you want learned is a hidden transition structure, and expect longer random contexts to hurt. The argument for it is right there. The evidence isn’t — there are no experiments in the paper at all, and the mixing rate at an alphabet of 2 or 256 rather than millions is simply not addressed.

Both measurements that would close it are cheap. Simulating walks to get P_agree against sequence length at realistic N and k needs no training whatsoever. Training a small model on random words at two context lengths and showing the longer one does worse is an afternoon. They’re in the note’s open questions, stated as what would move the theory rather than as things I believe.

And one pass-over that needed a different reason than the last. 2204.00300, RNA-FM, ranked next by dwell. 2504.06209 was passed over because none of the eighteen topics can express its claim. This one is the opposite: the topics express it fine — pretrain self-supervised on the unlabelled pool when labels are scarce — and that is the problem. It is the founding claim of the entire self-supervised literature, the record carries it implicitly across eighty practices that touch pretraining, and RNA-FM is a domain instance rather than evidence that would change anyone’s mind (DP-005).

Also: the corpus holds no protein or biological sequence models at all — no ESM, no AlphaFold. So filing the RNA descendant would land it on an empty trunk, which is the mistake #243 was opened about two hours ago. Doing it again knowingly is worse than doing it once by accident. Whether this anthology wants a biological-sequence trunk at all is a scope question for its owner; I’ve left it as a question rather than answering it with a filing.

A small thing worth noticing. This paper’s AI-use statement says the randomized construction in §5 was first suggested by Gemini 2.5 Pro, which prompted the authors toward the random-walk framing that the whole proof rests on. The Duede paper filed earlier today carries a similarly detailed statement — who used what, for which part, and who used nothing. Two papers in one day’s reading, from unrelated fields, both volunteering it at that granularity. Recorded as an observation. Two is not several (DP-009).


Filling the gap the last reading found

2026-09-21 18:24:24 · curation · representation-and-encoding

#243 was opened two hours ago because GaussianToken landed on an empty trunk. This fills it: VQ-VAE, VQGAN, MaskGIT and LlamaGen, with readings for the first two, and the two practices the issue predicted.

I want to record that the prediction was not obviously going to hold. The issue said “likely practices that would then have a home”, which is the kind of thing that is easy to write and often turns out to be nothing. Both arrived, and both are better evidenced than I expected.

The codebook one has a mechanism. LlamaGen’s Table 2(a): drop the code vector dimension from 256 to 8 and codebook utilization goes from 0.29% to 97%, rFID from 9.21 to 2.19. Three codes in a thousand were being used. The reason is the obvious one once stated — in 256 dimensions nearly every encoder output has the same nearest neighbour, so K = 16384 describes a vocabulary of about fifty entries.

What makes it a practice rather than a fact is that GaussianToken found the same shape independently, on a different architecture, a different dataset and a different metric, and attributed it to the same mechanism. Neither paper cites the other. That is the corroboration the record looks for, and it was completely invisible while the trunk was missing: two hours ago GaussianToken’s Table 2 read as a one-off quirk of a Gaussian quantizer.

And both sources bound their captions to the monotone range. LlamaGen: “Lower vector dimension (from 256 to 8) improves both reconstruction quality and codebook usage significantly.” The next row is dimension 4, at 9.88 rFID — worse than 256, while still using 82% of the codebook. The codebook-size caption is bounded identically: “from 4096 to 16384”, where 32768 is worse. Nothing is false; the ranges are named. A reader who takes captions rather than tables gets “smaller is better” and will pick dimension 4. GaussianToken, to its credit, says its own curve rises then falls.

So the practice says shrink and sweep, and refuses to name a number — the two optima are at 8 and 3 on two models, which is not a constant anybody can carry.

The second practice is sharper and comes from one table. LlamaGen Table 3, same tokenizer, nothing retrained:

tokensrFID
256 (16×16)2.19
576 (24×24)0.94
1024 (32×32)0.70

All scored on reconstructions resized to 256×256. Three-fold, from a knob that is not the tokenizer.

And the abstract says: “An image tokenizer with downsample ratio of 16, reconstruction quality of 0.94 rFID”. Every clause true. A reader maps “downsample 16” onto a 256×256 image, gets 16×16 = 256 tokens, and the number there is 2.19. The 0.94 is the 384-input row. §4’s prose then gives the same pair as 2.43 and 0.99 — three versions of one comparison in one paper.

This is DP-010 in an unusually clean form, because the table that disambiguates it is published two pages away and is the paper’s own contribution. Nothing is hidden. The compression is just not selective for the thing that determines the answer.

A small vindication for GaussianToken. It quotes LlamaGen at 2.19 — the correct matched row, not the flattering one. I was hard on that paper this afternoon and the criticism stands, but the rate mismatch I found there runs through its own five continuous parameters per token, not through misquotation. Having both papers in the record is what lets that be said precisely instead of insinuated.

Neither VQ-VAE nor VQGAN yields a practice, and I think that is right. Straight-through plus a codebook loss; β = 0.25; perceptual-plus-adversarial reconstruction; the adaptive λ = ∇[L_rec]/(∇[L_GAN]+δ). Every one of these is universally copied and none is measured against its alternative anywhere in this record. A recommendation nobody can decline is not a recommendation — it is the definition of the object — and DP-005 is exactly about not promoting universal adoption into evidence.

Two candidates went into the readings instead, both cheap and both apparently unpublished:

  • Does β’s insensitivity survive? The 0.1–2.0 range was reported at K = 512 in 2017 and has been inherited unexamined to K = 16384, where utilization dynamics are a different problem entirely.
  • Does the adaptive λ beat a tuned constant? Presented with a formula and, as far as this reading found, never ablated. Everybody uses it.

What I did not do is fill the next gap. LlamaGen credits the whole codebook design — ℓ₂ normalization, low dimension, large size — to ViT-VQGAN (Yu et al., 2021), which the record still does not hold. So the two practices filed here are two independent measurements of somebody else’s recommendation rather than two independent discoveries, and the consensus notes say so rather than letting emerging imply more than it should. Named, not filled; the trunk was the unit of work, and stopping at its edge is how the unit stays a unit.


What filing the origin cost the practice

2026-09-21 18:33:11 · curation · representation-and-encoding

LIT-500 — ViT-VQGAN, the paper LlamaGen credits for the codebook design — is filed, and SOTA-306 needed correcting in three places as a result.

I argued for doing this on the grounds that it would turn “two independent measurements of somebody else’s recommendation” into a practice with its source. It did, and it also showed that the practice I wrote two hours ago stated the instruction wrongly, mischaracterized the evidence for one of its components, and named the wrong thing as the mechanism. All three came from reading the origin rather than the papers citing it.

One: the instruction. v1 said “make the code vectors low-dimensional”, which is how LlamaGen and GaussianToken both describe it. ViT-VQGAN’s actual recommendation is to factorize — project the encoder output down to a low-dimensional lookup space, find the nearest entry there, then project that entry back up to a wide embedding. Its own phrase is “decoupling code lookup and code embedding”.

That is a better idea than the one I wrote down, and the reason is statable: nearest-neighbour search wants low dimension because distances concentrate in high ones and a single entry wins nearly every query; the embedding the decoder consumes wants high dimension because that is where the capacity lives. Cramming both into one space is what kills codebooks. The descendants’ framing gets the effect and conceals the why.

Two: ℓ₂-normalization. v1 carried it as something “reported as part of the same design and not separately ablated in either paper here”. Accurate about the two papers the record held. The origin ablates it, and it is the largest single effect in the table — dropping it at lookup dimension 32 takes usage to 2% and FID to 5.44, worse than leaving the lookup at 256. I had it filed as a footnote to the main instruction when it is at least as large as the main instruction.

Three: what utilization buys. v1 said utilization is “the mechanism”. The origin’s dimension-4 row: 96% codebook usage — the best number in the table — and 3.68 FID, tied for worst among normalized rows. Every code gets used and none of them can say enough. Utilization is a necessary condition you can satisfy while quality collapses, which is a materially different claim from the one I filed, and it changes what someone tuning a tokenizer should do when they see a high number.

None of these were visible from the two citing papers. Both report the effect; neither reports the mechanism, neither ablates the normalization, and neither has a row where usage and quality come apart. This is DP-004 in its constructive form — a pass finds only defects its query is shaped like, and “read the papers that cite the idea” is a query shaped like the descendants.

Consensus went emerging to converged, and I want the reason on the record rather than implied. Two measurements of somebody else’s recommendation is corroboration. A recommendation plus two independent confirmations, one of which cites nobody, is the field having settled. The difference is whether an origin exists to have been confirmed, and this morning the record could not tell — which is the same blindness #243 was about, one level up.

One thing I found and did not file. ViT-VQGAN says VQGAN relied on top-k and top-p sampling heuristics because most of its codebook was dead, and demonstrates the point by sampling at temperature 1.0 with neither, at a codebook eight times larger. As a diagnostic — check how many codes are alive before reaching for sampling tricks — that is genuinely useful.

It is also half an experiment. The paper shows a fixed codebook not needing heuristics; it never shows heuristics failing to help a fixed codebook, or helping a broken one more than fixing it would. “Unnecessary” and “not tried” are not distinguished, and the comparison is one table nobody has run. Into the reading’s open questions, not into a practice.

And β = 0.25 has now passed through three papers in this record untested. VQ-VAE reported it insensitive from 0.1 to 2.0 at K = 512, in 2017. ViT-VQGAN uses it “in all our experiments” at K = 8192. LlamaGen carries it too. NOTE-245 asked whether that insensitivity survives a codebook thirty-two times larger; filing the origin made the question sharper and answered none of it. Three papers agreeing on an inherited constant is not three papers having checked it — DP-005 — and it is a genuinely cheap sweep for anyone with a tokenizer already training.


Two lotteries, and the field reports the wrong one

2026-09-21 18:41:16 · curation · analysis-and-evaluation

LIT-501 filed from #180, taken ahead of its dwell rank because SOTA-305 landed an hour earlier on the adjacent question.

I want to be straight about that choice. Every remaining candidate on the worklist sits at six revisits; the ordering below that is seconds-on-page, which is a tiebreak I invented this session and not something the task asked for. Within a tie, “this is adjacent to a practice we just filed” is a better reason than dwell time, and I said so before doing it rather than after.

The finding is not that FID is noisy. Everyone knows that. The finding is which noise dominates, and that the field measures the other one.

There are two lotteries. The generation lottery is which samples you drew from a fixed network — that is what a sampling-seed confidence interval measures, and it is about 0.4% of the mean. The training lottery is which of the identically-specified models you happened to train, and it is 3.2× larger. Multiply your sampling budget by ten and you shrink the small term by √10 and leave the large one precisely where it was.

On the converged SiT-B/2 panel: per-seed mean FIDs span 33.75 to 35.42, and the one-σ distance is 0.44 FID. The paper’s remark, which I have quoted in three documents now because it is the whole argument in one clause — that “is already larger than the headline gain claimed in many recent papers”.

What makes this a measurement rather than a complaint is the control. Twenty-four retrains with initialisation, data order and training noise all pinned, leaving only multi-GPU floating-point reduction order. The obvious skeptical reading of the whole paper — you are measuring numerical slop — gets closed off here, and closed off with a number: the EMA weights end 5–6% of their norm apart, which is genuinely different networks, and FID barely moves. σ_between drops to 0.047, below the within-seed sampling floor, inverting the 3.2× to 0.4×.

Different networks, same score. The lottery is in the randomness the recipe intends, and somebody checked.

Two things I did not expect.

Initialisation is not the biggest source. Per-step flow-matching loss noise is — 77% of the full spread against init’s 67% and data order’s 51%. The folk version in which “different seeds mean different inits” is simply wrong about the ordering, and the paper says so directly.

And the three combine sub-additively: quadrature predicts 0.50 against an observed 0.44, a 14% overshoot, because the sources share variance through the trained weights. That is a methodological note with reach beyond this paper — one-at-a-time ablations systematically overstate what fixing any single source recovers — and it is stated in a sentence, in the middle of a subsection.

The compute framing is the one that will travel, and it deserves to. Anchor to the FID the unluckiest of twenty seeds reaches at 2M steps, and ask when the luckiest first gets there: 1.25× earlier on S/B, 1.82× on L, 2.0× on XL. A single-seed paper claiming a 1.3× training speedup on this architecture is competing with what the seed lottery hands out for changing nothing.

It also qualified an existing practice, which is the second time today. SOTA-143 — tune under µP on a narrow proxy and transfer across width — already hedged that transferred values are “a starting point that production recipes then adjust”, on the strength of production reports. §4.6 measures that hedge: ten µP-coordinated learning rates, four sizes, ten seeds each, and the optimum comes out as a 1.7×-wide window rather than a point, because seed variance blurs it flat.

With a sharper rider. Select the rate on unguided single-seed FID and the curve is monotone, so the argmin sits at the right edge — which is also where 3 of 10 small-model seeds diverge. A confident-looking number pointing at the edge of stability. The practice went to v2 carrying that; the recommendation is unchanged and its resolution is now measured rather than described.

On unreplicated, and taking the authors at their word. One combination: SiT, flow matching, class-conditional ImageNet 256×256, Inception-V3. The limitations section says the ~1.3% is “a calibration target for that combination, not a universal constant”, and the appendix reports that recall behaves differently from the fidelity metrics.

That is a scope statement, not a hedge, and the practice is written to respect it: port the protocol, measure your own floor, do not assume the number. A paper that hands you a threshold and then tells you it is not yours is doing something the last two days of reading suggest is uncommon, and it costs nothing to say so.

One thing worth noticing about the shape of the record now. SOTA-305 says a reconstruction FID needs its token count stated. This says a generation FID needs its seed resampled. Two practices, two papers, no contact between them, both about the same metric family — arrived at within an hour of each other by following a worklist that knows nothing about either. There are more ways to publish a Fréchet distance that does not mean what it looks like than I would have guessed this morning.


Evidence against the presenter

2026-09-21 18:48:38 · curation · in-context-learning

LIT-502 filed from #180 in rank order, for its section 3.

MemGraphRAG is a multi-agent GraphRAG system with a three-tier memory, three agents and Personalized PageRank, and it reports beating everything. That is not what the record took.

What it took is the pilot study, where the authors put three published GraphRAG systems next to vanilla RAG and measured both halves of retrieval quality:

evidence recallcontext relevance
vanilla RAG71.8%62.9%
GFM-RAG84.3%38.5%

Twelve and a half points of coverage bought at twenty-four points of precision, and end-task accuracy falls with it. Graph expansion finds more of the relevant material and very much more of the irrelevant, and the generator then has to locate the answer inside the pile.

The reason this is Active on one benchmark family is whose interest it runs against. These authors are proposing a GraphRAG system. Their section 3 establishes that GraphRAG as a family trades relevance for recall at a net loss on the task everyone cares about. Evidence that embarrasses the presenter’s own category is worth more than evidence that flatters it, and they cite two independent benchmarks that got there first.

One number I restated more strongly than the paper does. They filter the lowest-frequency 40% of extracted triples and accuracy moves 64.85% → 65.28%. Their reading: evidence of thematically irrelevant noise. But 0.43 points is inside anyone’s noise, so as an accuracy claim it is nearly empty. As a cost claim it is substantial — you can throw away 40% of the constructed graph and lose nothing. That is a statement about what the construction step is producing, and it is better supported by their own number than the inference they drew from it.

The reading also names the control they did not run: deleting 40% at random. The result says a large part of the graph is disposable; it does not show the frequency ordering picks out the disposable part.

Where I declined. Section 5.4 swaps their graph into four other systems and reports HippoRAG 51.07 → 51.78 and MS-GraphRAG 43.75 → 44.21 — under a point, one run each — as “consistent improvement” that “substantially strengthens the effectiveness of existing retrievers”.

An hour ago I filed a paper that spent several hundred training runs establishing what sub-point deltas are worth. Having done that, taking this framing would be incoherent. So nothing in the record rests on MemGraphRAG itself: single runs, no seeds, the authors’ own system against baselines they ran. DP-006 — filing is not endorsement, and the converse holds too, so the note says plainly that the underlying claim may well be true and is not established here.

A shape I am counting rather than concluding from. SOTA-210 already says to report pass@k alongside pass@1, because reinforcement learning raises one and lowers the other and the literature reports the favourable one. This is the same failure with a different pair of metrics in a different field.

Two instances, two fields, no shared mechanism demonstrated. DP-009 says two is not several, so it goes in both documents as an observation and is promoted to nothing. If a third turns up I will want to write it down properly, and I would rather have the count than the theory.

And the record now has a GraphRAG document. SOTA-269 has said to keep a knowledge base outside the weights for a while; nothing said how to tell whether the one you built is any good. The first thing the corpus has to say on that is a caution, which is an odd way to open a topic and is what the evidence supported.


The metric that punishes the assistant for assisting

2026-09-21 18:57:51 · curation · analysis-and-evaluation

LIT-503 filed from #180 in rank order. The headline is a nice idea; the finding worth keeping is its failure.

The idea first, because it is genuinely good. You want to fit an interface — an EMG prosthesis, a gaze tracker, a gesture controller — and you have nothing: no prior mapping, no labels for what the person meant, no reward for what they achieved, no list of what they will try to do. The observation that unlocks it is task-free: whatever they are trying to do, an interface they can use produces commands that explain what happens next. So take the mutual information between command and induced state transition and use it as the score.

It works. ρ = 0.43 against real task completion over 540K examples, and maximizing it with human-in-the-loop RL builds a usable cursor interface from scratch in half an hour with no feedback from the user at all.

Then there is the fifth domain. In the shared-autonomy Lunar Lander data the one-step version of the objective correlated negatively with reward — strongly. The reason is perfect: the assistant helps by overriding the user to stop them crashing, and overriding commands is exactly what makes commands uninformative about the next state. Meanwhile it increases the user’s influence over everything after that, because they are still in the air.

So a one-step influence metric punishes an assistant for assisting, and does it hardest when the assistance is most effective.

That is the sharpest measurement trap I have filed today, and today has had several. SOTA-305 says a reconstruction FID is meaningless without its token count. SOTA-307 says a generation FID needs an error bar over training seeds. SOTA-308 says recall bought with relevance is not an improvement. This one is worse than all three, because what the measurement choice changes is the sign.

The fix is honest and it eats the premise. Generalize to I(x_t, (s_t, s_{t+Δ})) and set Δ to the episode length, and the correlation comes back positive. But — the authors’ own words, twice — “choosing the value of Δ requires prior knowledge of the timescale of the user’s desired influence over the system… This is the primary limitation on the generality of our method.”

The abstract calls the objective “completely unsupervised”. It is unsupervised given a hyperparameter that encodes what the user is trying to do. That is still a large reduction in what you must know and I have said so in the practice; it is not the same as none.

And then something I noticed that the paper does not dwell on. Over twelve users the learned interface converges to two modes: no perturbation of the mouse, and exact inversion of it. Both are consistent. Both are mappings a person can learn to use reliably.

The motivating sentence was “when an interface is more intuitive, the user’s commands are less noisy”. The quantity being measured is whether the command-to-outcome relation is reliable, and an inverted mouse is perfectly reliable once you have adapted to it. The objective may be finding learnability rather than intuitiveness. That would be a different claim and arguably a stronger one, and nobody has separated them.

Four instances, and I am not writing the principle. Four papers today, from generative-model evaluation, tokenizer benchmarking, graph retrieval and assistive interfaces, all of the form the reported number is sensitive to a choice the report does not state. That is a tempting shape.

DP-009 says counting is the antidote and two is not several. Four is more than two, and four things are not obviously one mechanism — FID’s seed variance and MIMI’s horizon inversion have nothing in common but my having read them the same afternoon. So: counted in the note, counted here, promoted to nothing. If it is real it will keep showing up and the count will be waiting.


A test that everything passes

2026-09-21 19:06:18 · curation · analysis-and-evaluation

LIT-504 filed from #180 — the strongest of the remaining candidates, and it earns that by asking a question the field had left tacit and then actually counting.

A mechanistic explanation has two parts: what algorithm, and where it sits in the network. The two dominant strategies find them in opposite orders and each has a criterion — circuit error for one, interchange-intervention accuracy for the other. The question nobody had posed: do those criteria pick out a unique explanation?

Four questions, one per component per strategy. All four come back no.

What makes this a fact rather than a suspicion is the method. Shrink the problem until exhaustive enumeration is possible — MLPs of shape (2, k, k, n) trained on two-input logic gates — and then count every circuit and every mapping. “There are probably other circuits” becomes a number.

The numbers are worse than I expected. Median explanations rise from 38 to 910,000 circuit-first and 8 to 3,700 algorithm-first as width goes from 2 to 5. Under 2% of networks have exactly one valid minimal mapping. No network has exactly one circuit interpretation.

And both figures are lower bounds, stated as such: the enumeration is capped at sparsity above 0.3 and restricted to two-input/one-output circuits, and interpretations are counted only for the sparser circuits. So if the numbers are wrong, they are wrong in the direction that makes the problem worse. That is an unusually comfortable epistemic position for a negative result and it is why the practice is Active on a single paper: exhaustive enumeration over an exhaustible space cannot be underpowered.

The framing I took from it. Circuit error and IIA are satisfiability tests, not selection rules. They establish admissibility and are silent on cardinality. The criteria were doing less work than their use implies, and nobody checked because checking requires a model small enough to exhaust — so the gap was invisible to every instrument the field had. DP-004, again, and in its purest form yet.

Two things the paper does that I want to record approvingly.

It considers sparsity as a tiebreak and rejects it, in one line: “Should we dismiss an entirely different candidate explanation simply because it involves one additional node than another?” The obvious fix, taken seriously and declined.

And §5.1 does not overclaim. The pragmatic position — that an explanation which predicts and supports intervention may be everything that is owed — is presented as live rather than defeated, with the interpretability-illusion debate cited as a case that was resolved exactly that way. The paper’s constructive recommendation is to say which epistemic goal your explanation serves, which costs nothing and is the sentence that makes the finding actionable rather than merely deflating. Both went into the practice.

What I did not file. Training on more tasks significantly reduces the number of valid abstractions — p = 0.05, up to four tasks, then flat. It is the only lever reported and it is thin, and acting on it means changing how you train a model in order to make it easier to explain. That is a much bigger decision than the evidence carries, and a practice recommending it would be smuggling a large claim inside a small number.

And a count I am still not turning into a principle. This is the fifth document today about a reported number being sensitive to something the report does not state — after reconstruction FID and its token count, generation FID and its seeds, recall bought with relevance, and the influence metric that inverts on a working assistant.

Five is more than four and I flagged four this afternoon as a count rather than a pattern. It is still a count. What would make it a principle is a mechanism, and I do not have one that survives contact: FID seed variance and circuit non-identifiability are not the same phenomenon in any sense I could write down and defend. DP-009 exists for exactly this temptation, and the honest thing is to keep the tally in the documents where the instances live and let a sixth either sharpen it or not.


Filing a practice the record cannot source, and the field that had to change to allow it

2026-09-21 19:34:23 · record · process

The owner overruled a decline (#241). This record opened #241 rather than filing a practice, on the CLAUDE.md rule that a recommendation needs a paper that produced evidence about the claim. Genesys is an instance of the failure, not a measurement of it. The instruction back was to file it anyway and leave introduced_by: null — we at least know the practice exists even if we don’t have a great source for it — and that is the right call for a reason worth writing down: the alternative leaves the shelf empty, which is quieter but not more honest.

“Leave it null” turned out to cost a decision. The expectation was a one-line edit. luria lint rejects introduced_by: [] and introduced_by: null identically, with the message no introduced_by: in frontmatter — both are read as absent, and required: true is what ADR-030 set. So honouring the instruction meant amending ADR-030, which is ADR-053, rather than editing a field.

ADR-030’s argument survives intact, which is why the amendment is narrow. It required the field because an absent one was ambiguous between “the origin is the primary source” and “nobody checked”. Both readings are still bad. The third case — the record looked and can name no document — is one neither covers, and it is a positive finding rather than a gap. The schema goes to required: false; the convention is stricter than the schema (write the field empty, comment beside it, explain in the body), and it is a convention, which is the honest weakness.

What would fix it properly is upstream and out of reach. A required: satisfied by an explicitly empty list but not by an absent key would give both the guarantee and the expressiveness. luria collapses the distinction today. Named in the ADR; not filable from this repository.

The global sed trap fired again, and was caught by git diff. Replacing a hand-guessed ADR-050 with the temp code across luria.yaml also rewrote three pre-existing ADR-050 citations that had nothing to do with this work — ADR-050 is a real decision about two topic vocabulary additions. Reverted the file and re-applied the single intended hunk with an anchored replacement. Same lesson as the formerly: clobber earlier today: a global substitution across the record does not know which occurrences are yours.

And the number was guessed, which is the deeper error. Writing ADR-050 at all — before running luria new adr — assumed the next free number. There were already fifty-two decisions. Temp codes exist precisely so that nothing has to guess, and luria.yaml is in code.globs, so concretization reaches the citation there too.


Declining to answer #234, in a way the record can hold

2026-09-21 19:41:46 · record · curation

The instruction was not to settle it (#234). The issue asked whether generated-corpus collapse and tool-assisted human collapse are the same phenomenon, and argued itself into filing nothing: under the CLAUDE.md test it would be a THEORY, sourced to papers none of which claim it, which is the DP-010 failure the session kept finding in other people’s work. The owner’s answer was we shouldn’t make that judgement — file them separately, reference each other in prose to draw attention to the potential connection.

That turns out to be a better shape than either alternative. Asserting the connection would have invented a claim. Filing nothing would have left the observation in an issue, where it is invisible to anyone browsing either topic. Two documents that name each other and say we have not joined these put the question where the next reader will hit it, at the cost of one section in each.

Only one document had to be written. Path B already had THEORY-051. Path A did not — its account lived as a paragraph in SOTA-295’s conditions, under the heading “They agree about the disease”, noting that SOTA-172’s mechanism for why generated corpora hurt is n-gram over-concentration and that LIT-485 measured n-gram over-concentration in a generated corpus independently. That is a theory-shaped observation sitting inside a practice, which is what ADR-031 split the schemes to fix.

The reason they stay apart got sharper while writing it. The issue’s three arguments were about metrics, about the selection step, and about the harms differing in kind. A fourth is stronger and was not in the issue: THEORY-051’s mechanism is scarcity — a feature predicts partly by being uncommon — and scarcity has no counterpart in the generated-corpus case, because a pretraining corpus is not competing with itself for a rivalrous outcome. The two could share a statistical signature entirely and still have unrelated causes. That argument is now in both documents.

THEORY-051 goes to v2 for prose that changes nothing. The account is untouched; only a cross-reference was added. Bumped anyway with a history: entry saying so, on the principle that the version is what tells a reader whether the page they remember is the page they are looking at — ADR-019.


Opening the biological-sequence trunk, and not getting the practice that was expected

2026-09-21 19:49:44 · record · curation

A scope question got answered. RNA-FM was passed over earlier today with a reason that ended in a question for the owner: the eighteen topics can express its claim, but it is foundational, the record carries it across eighty practices that touch pretraining, and its own trunk — protein and biological sequence models — was absent, so filing the descendant would repeat what #243 was opened about. The answer was yes, file it.

So the trunk came first, deliberately. LIT-505 (ESM-1b) is filed unread and says so in its Standing, which is an unusual thing for this record to do and the right thing here: without it, RNA-FM is a paper with an extends: it cannot declare. The relation is not a judgement call — RNA-FM cites it as reference 66 and copies its ResNet32 head verbatim.

The reading changed what the unit was about. Going in, the expected outcome was either no practice (the foundational-claim objection stands) or a narrow one: keep the published task model and swap its one-hot input for pretrained embeddings. That narrow version looked strong, because Table 5 is a genuine controlled experiment — somebody else’s architecture, found by somebody else’s grid search, inputs replaced and nothing else touched. That is rarer than it should be and it deserved to support something.

Then the numbers came out. On Human7600 — the real-human set the library authors provide as the generalization check — one-hot sequence gives R² 0.814 and the 640-dimensional embedding gives 0.816. A 16-dimensional predicted secondary structure gives 0.820. And Seq + SS + RNA-FM gives 0.811, below plain sequence, with the worst MSE in the table. The clean control does not carry the claim, and the row that contradicts it is the one combining the two feature sets.

The generalizable lesson is about where to look. Every other comparison in the paper is RNA-FM’s pipeline against somebody else’s pipeline, so architecture, training data and features all move at once, and those are the comparisons the abstract is built from. The single table that isolates the variable is the one nobody quotes. DP-004 again, and in its constructive form: the query that found this was “which experiment here changes exactly one thing”, not “what does the paper claim”.

Credit where it is due, twice. The abstract volunteers that the margin falls from ~30% to 4–7.5% under redundancy reduction. The Discussion volunteers that the functional gains are “more slight” than the structural ones and offers a hypothesis. Both are the kind of sentence most papers omit, and holding the paper to its own honest disclosures is only possible because it made them.

One thing found and not filed. Nothing in the paper checks the 23.7 million-sequence pretraining corpus against the evaluation sets, and the corpus name gives the cut-off away: RNAcentral100 means cd-hit-est at 100%, so exact duplicates were collapsed and nothing else. That is the same shape as the practice filed from #241 an hour ago — a reported margin sharing something with its own evaluation — and it is a different mechanism. Counted in the note, promoted to nothing. DP-009.


The information-bottleneck dispute, and two framings that had to be abandoned

2026-09-21 20:02:13 · record · curation

Unblocked by a copy-paste (#220). The paper is not on arXiv and is not readable from this environment: OpenReview answers 403 to /pdf and to api.openreview.net, and the JSTAT page returns HTTP 200 with 386 characters of text — a bot wall, not a paywall message. Semantic Scholar reports the open-access status as CLOSED. The record’s owner pasted the ICLR 2018 version. Worth saying plainly: the issue had listed the publisher route as “untried”, and trying it was worth the two minutes even though it failed.

First framing abandoned: the issue’s. #220 proposed this as a third instance of “the finding was in the measurement”, alongside emergence and grokking under SOTA-200, and suggested three arrivals would be a generalization worth having. Reading the rebuttal killed that. In the emergence case the underlying quantity is real and a thresholding metric makes a smooth curve look sharp. Here H(h|X) = -∞ for a deterministic map, so I(h;X) is infinite and the reported number is not a distorted measurement of something — it is manufactured in full by a choice the analyst made and the network never had. Same moral, different mechanism, so the count stays a count. DP-009.

Second framing abandoned: mine. An hour before reading Saxe, this session told the owner the dispute looked symmetric and unresolved — each side blaming the other’s estimator. That is right about one claim and wrong about the other two. The IB theory makes three claims and they have different fates: the two-phase claim is estimator-dependent and genuinely contested; the compression-causes-generalization claim is refuted by the rebuttal’s four-cell dissociation and by LIT-507, which set out to defend the theory and reports no significant correlation in hidden layers; and the SGD-diffusion claim is refuted by full-batch gradient descent compressing just as much, and is not contested by anyone since. Saying “the dispute is unresolved” would have been a tidy sentence that was false about two thirds of its subject.

The third paper turned out to argue the opposite of what was feared. #220 worried that Chelombiev et al. might “materially soften” the rebuttal, and that filing two papers would misrepresent the argument. The worry was right and the direction was wrong. Its technical criticism lands — the rebuttal bins ReLU over a single global range dominated by the last layer — but its own Figure 6, averaged over the 50 initializations the original study used, shows a ReLU network with no distinct phase at all. The abstract says saturation is not required for compression; the protocol shows one initialization out of fifty. DP-010, and this time in a paper defending the theory rather than proposing it.

What the dispute jointly establishes is something neither paper claims. The rebuttal changes the binning and compression disappears. The counter-rebuttal changes the binning and compression appears. Both are correct and neither is the truth, because for a deterministic map there is no truth of the matter. That symmetry is the practice, and it was invisible from either paper alone — which is the constructive form of DP-004, and the third time today that holding two documents produced something neither contained.

Filed Active on a dispute, deliberately. The object-level question is open and THEORY-058 carries it as Proposed. The instrument-level question is not: the infinity is analytic and the sensitivity is demonstrated twice. A practice can be settled while the argument that produced it is not.

Two consequences worth remembering past this unit. The data processing inequality does not apply to these estimates — the noise is added per layer for analysis and does not propagate forward. And the estimate is not invariant to invertible reparameterization: two linear networks computing the identical function, one with a layer scaled by c, report different mutual information. Whatever mutual information offers as a common currency for comparing architectures, it does not survive the noise assumption that makes it finite.


The Gemini report, and a running count that finally had to stop

2026-09-21 20:17:16 · record · curation

Back on #180 after the owner’s list cleared. Next by revisits at six, and the reconnaissance found the usual thing first: Gemini appears in this record only as a model other papers are applied to — LIT-383 evidences SOTA-233 on Gemini 1.0 Pro and 1.5 Flash — while the report describing those models was absent. Third time in #180 that a descendant surfaced an absent trunk.

The filing decision that mattered was not to file a second practice. The HellaSwag contamination measurement is the best number in the report, and the reflex was to make it a practice. SOTA-197 already exists — account for test-set proximity and state your exposure — Active and converged on two sources, with a consensus_note reading “what almost nobody does is state their exposure or ship a way to probe it”. So the right move was v2 and a third source, not a sixth document in the evaluation-methodology cluster. A record that files a new practice every time a new paper says the same thing fragments into synonyms.

What the Gemini number adds to it is the thing it lacked: a price. A hundred extra fine-tuning steps on web extracts matching the HellaSwag training set take Ultra to 96.0% at 1-shot against GPT-4’s 92.3%. A hundred steps is a rounding error. So the distance between a clean and a dirty number is larger than the distance between two frontier models, and cheaper than either of them. The practice had the argument and no quantity; now it has one.

The new practice is narrower and sharper than “report your protocol”. The non-obvious finding is that applying the same procedure to both models is not sufficient. Uncertainty-routed chain-of-thought is worth 6.0 points to Gemini Ultra and 3.1 to GPT-4, and the sources differ — GPT-4 takes all of its gain from plain CoT with routing adding nothing, Gemini takes almost none from plain CoT and nearly all from the routing. A procedure that is a no-op for one model and a six-point lift for another is not a harness. It is part of one of the systems being compared.

And the running count stopped here, deliberately. Five documents this session say a reported number was sensitive to a choice the report did not state. This is the sixth candidate and it does not belong with them, because the report states everything: both protocols in the main table, the full three-procedure sweep in the appendix, the contamination price, and a FLEURS retraining control it volunteered against its own interest. Complete disclosure, and the abstract still carried the flattering row. If the remedy for the other five is “say what you did”, the remedy here cannot be — which is how one finds out that two shapes were being counted as one. DP-010 covers this; DP-009 says the count does not extend.

Recorded against the temptation to be unkind. The report ran the routing procedure on GPT-4 via API rather than quoting a published number against its own best, labels quoted and measured numbers differently in the same row, dropped LAMBADA after leak analysis, and built Natural2Code from non-web sources. It is more careful than most of what this record holds. The criticism is about one sentence in an abstract, and it is only possible to make because the appendices were honest.


Image-GS, and the second ablation this session that inverts its own headline

2026-09-21 20:25:15 · record · curation

Chosen off the 5-revisit tier for adjacency, and the adjacency paid. Image-GS sits against the tokenizer trunk filed earlier today, and the reason to read it next was that NOTE-243 had left an open question about GaussianToken: its comparisons were matched on token count while each token carried an index plus five continuous floats, so nothing ruled out the rival explanation that it simply had nine times the channel. Image-GS is the same Gaussian primitives in the same year, reporting bits per pixel throughout and matching baselines in kilobytes. It does not answer the question — nobody ran that comparison — but it shows the accounting was available and was not done.

No relation declared between them, deliberately. ADR-011 means what it says: compared_against is for a comparison somebody ran. The connection is this record’s reading and lives in prose, the same handling the Duede paper got against LIT-487 earlier today.

The filing decision was again “not a new practice”. Content-adaptive densification is what 3D Gaussian Splatting already does and what SOTA-205 already covers at the level that matters. So this is v2 and a fifth source, not a sixth document. That is twice in a row the grep-before-filing habit changed the outcome — the Gemini contamination finding went to SOTA-197 v2 for the same reason.

What Image-GS adds to SOTA-205 is the units. The four existing sources argue from rendering speed, which entangles the representation with a rasterizer, and they are all 3D. This gives 0.3K multiply-accumulates per pixel against C3’s 3K at comparable bitrate — the claim stated in the quantity it is actually about — and it does it in the weakest case for an explicit structure, a single image with no viewpoint, no occlusion and no geometry.

And an observation that is now a pair. Table 1 shows the content-adaptive allocation the paper is named for is worth 2.23 dB, while optimizing 1/s instead of the raw scale is worth 2.66 and top-K normalization is worth 2.42. Two implementation details, each outweighing the idea in the title. SOTA-304 records the same shape in Genesys, where removing the symbolic checker costs 62 points of validity and removing the clever decomposition costs 19.

Two is not several. DP-009. What would turn this into something is a mechanism, and the only candidate — that papers name themselves after the interesting half — is a claim about authors rather than about methods, and this record is not the place to evidence it. Counted in both documents, promoted to nothing.

The most surprising number was left as a question. The 1/s reparameterization is justified in one sentence: the natural range is [5,10] and the inverse lands in [0,1], where gradients are smoother and more stable. If that holds for other parameters bounded away from zero it is a practice worth having. It is one measurement on one parameter in one paper, so it went in the note’s open questions.


SVDQuant, and a practice that had to carry its own systems half

2026-09-21 20:33:54 · record · curation

Fourth unit since the #180 worklist resumed, and the first in a while that produced a new practice rather than a version bump. The two before it went to SOTA-197 v2 and SOTA-205 v2 because the record already said the thing. Here the grep came back empty in the way that matters: the quantization cluster has error compensation (SOTA-185), block scaling (SOTA-163), quantization-aware training (SOTA-234) and a 4-bit base with 16-bit adapters (SOTA-230), and none of them removes magnitude before quantizing.

Proposition 4.1 turned out to be a map of that cluster. It bounds a layer’s output error by four quantities — the rounding errors of weights and activations, and their magnitudes. Read that way, the existing practices act on different terms of one bound, and they compose rather than compete. The source demonstrates the composition itself by running GPTQ on its residual weights. That reframing is worth more to this record than the method is.

The theory was split out because the practice does not need it to be followed and does need it to be understood. ADR-031’s test: the practice says what to do, the theory says what is true. And the true thing is sharp — a rank-r subtraction removes exactly the magnitude held in the first r singular values, so it pays on a steep spectrum and not on a flat one. A weight matrix is steep; a quantization error, being near-independent across entries, is flat. That is why the same components in the other order fail, and LoRC is the published control.

Filed Proposed on a gap that is one line of code wide. The steep half is plotted in Figure 5. The flat half is asserted and used — it is the load-bearing reason the control underperforms — and this record did not find the spectrum of W − Q(W) plotted anywhere. Sound inference, unmeasured premise, which is exactly what Proposed is for rather than a reason to decline the document.

The practice states two halves as one instruction, which is unusual here. Normally a practice says one thing. This one says decompose and fuse, because the paper measured what happens if you do the first without the second: 57% latency overhead, which is more than the 4-bit arithmetic saves. A reader who takes the clever half and skips the plumbing ends up slower than where they started, and a practice that let them do that would be worse than no practice.

And a result recorded sceptically rather than repeated. On FLUX.1-dev the 4-bit model beats its own BF16 source on Image Reward, which the paper reads as stronger human preference. The cheaper explanation is that Image Reward is a learned model with its own biases; PSNR and LPIPS do not invert. Filing a paper’s number is not the same as filing its reading of it — DP-006.


mHC-lite, and a promotion condition that kept doing its job

2026-09-21 22:30:04 · record · curation

Picked off the 5-revisit tier for adjacency, like the two before it. The hyper-connections line is the densest cluster this record holds — a trunk (SOTA-169), two branches (SOTA-136, SOTA-137), five sources and two published attacks — so a new paper in it had the best chance of being load-bearing.

The first thing to check was which condition it triggers, and the answer was neither. SOTA-169’s promote_when excludes “another paper proposing a fourth constraint”. That looked like a direct hit until the abstract made clear this is not a fourth constraint: it keeps the doubly-stochastic constraint and replaces the approximation with an exact construction. So the exclusion does not apply — and the trunk still does not move, for the ordinary reason that nothing here ships in a released model or isolates width.

SOTA-136’s condition is the one that bites, and it is unmet for the third time. It asks for a measurement of stream homogenization with depth. Grep the paper for homogenization, diversity, distinctness, collapse: zero hits. LIT-139 was the production report and measured no stream statistic; LIT-152 was the independent evaluation that did not test the constraint; this is the third. Three documents that each looked like the one, none of them it. That is the promote_when working exactly as ADR-014 intends — it could not be satisfied by a paper that would not change the record’s confidence, and three papers have now failed to satisfy it for three different reasons.

One check changed the reading, and it is worth recording because the first reading was wrong. The paper opens with a worked example where 20 SK iterations leave column sums of 1.92/0.59/0.59 — on an input with α = 10⁻¹³. That reads as adversarial, and the note nearly said so. It is not: Figure 4 measures the distribution of log(1/ν) over actual SK inputs during training and finds about 27.9% of them at 1/ν ≥ 10¹³. The pathological case is a quarter of real inputs. Checking before writing the criticism is what DP-004 looks like when it works in the paper’s favour rather than against it.

The sharpest thing in the unit is a missed experiment, not a result. LIT-151 argues the doubly-stochastic set can only contract and must therefore erode what distinguishes the streams. Under Sinkhorn-Knopp mHC that argument has an escape hatch — the matrices are not actually in the set, so whatever distinctness survives might be surviving through the gap. mHC-lite closes the hatch by construction. It is therefore the cleanest available test of the objection, the objection predicts it should homogenize more, and no stream statistic was reported either way.

Naming that is the useful thing this record can do here. It is not evidence against LIT-151, because the predicted outcome was never measured. It is a two-year dispute sitting one histogram away from resolution, on a model the authors already trained, with code already public — and it went into the open questions of both documents rather than into a claim.


A subject the corpus was missing, found by grepping for it

2026-09-21 22:40:05 · record · curation

The grep-before-filing habit found an absence this time rather than a duplicate. Four units running, checking the practices before writing one has decided the output shape — twice turning a new practice into a version bump, once confirming a genuinely new one. Here it did the opposite thing: searching for calibration returned quantization scales, data-mixing temperature (SOTA-102, Superseded) and incidental uses of “confidence”. Eighty practices touch training and not one asks whether a model’s probabilities mean anything.

That is a missing subject, not a missing paper, and it is the strongest reason to spend a full unit on a candidate. DP-004: the absence produced no unresolved code and no unbound relation, so nothing in the machinery would ever have pointed at it.

The finding is the kind this record likes: an identity plus an observation. A proper loss IS calibration error plus refinement error — that part is Bröcker, not new. What is new is that the two terms do not bottom out at the same epoch, so minimizing the sum lands between them. The validation-loss minimum, which nearly every training loop selects on, is a compromise point that nobody chose and that is optimal for neither term.

Temperature scaling turns out to be an instrument, not just a fix. Because it rescales logits by a single scalar it cannot reorder predictions, so it cannot change refinement — only confidence. That makes post-TS validation loss an estimate of the refinement term alone. The method falls out of the measurement rather than being bolted on.

Filed as a practice and a theory, per ADR-031. The instruction stands without the account, and the account is a claim about what is true during training with its own evidence and its own weakness. The theory is Proposed for a reason worth stating plainly: the only party to have plotted the two curves is the party proposing the remedy. Its promote_when asks for one figure from a run set up for some other purpose, which is about as cheap as a promotion condition gets.

The practice is Active on one group, and the justification is the same shape as SVDQuant’s earlier today. The decomposition is arithmetic, the instruction costs a scalar fit per validation pass, and the study is 196 datasets across three model families plus ten runs per vision dataset. Breadth is not independence, which is what unreplicated says.

One thing recorded rather than promoted. SOTA-196 already says to report zero-shot and in-distribution performance separately, because one hyperparameter can move them in opposite directions. This is that shape one level down: two components of a single loss, moved oppositely by one knob, and averaged into a number that hides it. Two instances, different mechanisms, counted in the note. DP-009.


Full-parameter training on one GPU, and an abstract that prices the GPU instead of the method

2026-09-21 22:51:08 · record · curation

Last of the five-revisit tier on #180. Block coordinate descent for LLM training: freeze all but one block of layers, train it to local convergence, rotate. Filed as LIT-515, NOTE-260 and a new practice, SOTA-316.

The grep decided the shape again, and for the fifth time in five units. Searching the practices for block coordinate descent, layer freezing and memory-efficient full-parameter training came back empty, and the two nearest practices are near-misses of a specific kind: SOTA-184 trains a low-rank update and says outright that this is not full-parameter training; SOTA-155 distributes across poorly connected workers, which presumes you have workers. The question “every parameter, one small GPU” had no answer in the record. A genuinely new practice, then, rather than a version bump.

What the paper actually contributes is a partition rule, and it is nearly a priori. BCD itself is old and its convergence on deep networks was studied by others, which the paper cites rather than reproving. The adaptation is the cut: most operators live entirely inside a layer, so freezing whole layers keeps the optimized kernels, while a finer partition keeps the same parameter count and loses them. That argument does not need an experiment to be believed, which is a reason to file the practice and not a reason to promote it.

The abstract prices a graphics card. 2.6% of the cost, on RTX 4090s. The body says the 4090’s hourly cost is about a quarter of an A100’s, so that figure is the method multiplied by the hardware substitution. The same-device number is 33%, on A100/A800 at 7B, and even that is largely “one GPU instead of two”. Both numbers are in the paper; only one of them is about the method.

Three times the iterations is in Table 2 and not in the abstract. Nothing is concealed — the iteration column is right there — but a reader taking the headline gets an efficiency claim and what the paper supports is an affordability claim. So the practice states the trade in its own first section: this is for the memory-bound, and if a deadline binds it is the wrong answer.

Counted, not generalized. Several units this session found a reported number sensitive to a choice the report never stated. This is not one of them. It is the shape the Gemini unit found instead — full disclosure in the body, a flattering number in front — and the right response is to record it in the practice’s conditions rather than to declare a second pattern. DP-009, DP-010.

The gap and the promotion condition line up exactly. Quality is compared at ResNet, GPT-2 0.15B and 2B; 7B appears only in the cost experiments, and 1.6B, 5.4B and 10B are estimated from single-round speeds rather than trained. The recommendation is “train a big model on a small machine” and the big model is the part not checked. One run each way at 7B to a fixed token budget, final loss and one downstream metric, would close it.

One loose end worth someone’s curiosity. The LLaMA 2B alpaca row costs 1.08× the iterations where every GPT-2 row costs about 3×. The paper does not remark on it. If that difference is architectural it is the most interesting result in the paper, and it is sitting unexplained in a table.


Half a promotion condition met, and the half that was met changed the claim

2026-09-22 00:03:43 · record · curation

The owner supplied fourteen papers against one open question: does THEORY-059’s spectral claim — weight spectra are steep, quantization-error spectra are flat — hold outside diffusion transformers? Five were filed. The question is answered in one direction and untouched in the other, and the half that got answered did not come back the shape the account assumed.

The triage was the highest-value ten minutes. Before reading anything in depth, grep every paper for quantiz: zero hits for a quantization-residual spectrum in all fourteen. That settled immediately that the flat half of the account could not be met by this set, whatever else came out — so the reading could be organized around the steep half and around what else the papers happened to say, rather than around hoping.

The steep half is met decisively and the account still moves. Four papers put W’s spectrum outside diffusion: BERT, Pythia-410M, Llama-3.1-8B, LLaMA-2 7B and 13B, Mistral-7B, and eleven GPT-2-style checkpoints varying size, language, tokenizer and corpus. Steepness is real. It is also strongly non-uniform — Query, Key and MLP Gate converge to low rank, MLP Up, Down and Value do not, middle blocks resist while the ends give way — and THEORY-059 said “a weight matrix is the steep case” as though it were a property of weight matrices. It is a property of some of them, and the spread is large enough to dominate a compression decision.

Random matrix theory gave the account something it did not have: a name for its own flat case. THEORY-059 argues W - Q(W) is flat because rounding is near-independent across entries. Near-independent entries with finite variance is exactly the Marchenko-Pastur hypothesis. So the two cases are “MP plus outliers” and “MP” — which is a sharper statement than the account makes, and is still not a measurement. The promote_when is now narrowed to that one plot, and ADR-014 is satisfied in a way it was not before: the old condition could be half-met by papers that leave the load-bearing premise untouched, which is what just happened.

The finding that was not on the worklist is the one worth keeping. Eckart-Young says the truncated SVD is the optimal low-rank approximation in Frobenius norm, and the whole account runs on Frobenius norm — legitimately, because its propositions bound output error by magnitudes. What nobody states, and every reader supplies, is that the directions holding least magnitude are the ones the model needs least. In non-square transformer matrices that is false: zeroing the smallest decile of Llama-3 8B’s Down-Projection costs 41 points of GSM8K, second only to zeroing the largest. The square Attention-Output matrix, same operation, costs three points. The distinction is geometric — a rectangular matrix’s MP support has a lower edge above zero, so singular values can fall below the bulk, and square matrices cannot do that.

Two practices, and the grep said both were absent. The record holds LoRA, SVDQuant, error compensation, block scaling, quantization-aware training and a spectral-optimizer measurement instruction, and none of them says the rank is a per-matrix question or that magnitude order is not importance order. SOTA-274 is the nearest thing and it is the same shape one floor over — measure a block’s stable rank before adopting a spectral optimizer. Counted as a second instance in the note, promoted to nothing. DP-009.

Three instruments, one agreed conclusion, two disputed cells. Hessian gaps and heavy tails; activation-covariance overlap and perplexity ablation; effective-rank entropy across eleven checkpoints. All three find non-uniformity. They place Value and Gate differently. That disagreement is not a defect in the filing — it is the reason the practice says measure yours instead of shipping a table of which matrices compress.

A reconciliation that cost nothing and settles a real dispute. Two published results contradicted each other on whether small singular values matter. The resolution is procedural: one fine-tunes before pruning, the other does not, and varying only that order reproduces both. Fine-tuning writes into the small directions. The consequence is unpleasant and belongs in the record: removing them can improve a reasoning benchmark and delete alignment in the same operation, and the benchmark will not show you the second thing.

What the answer cost the account it was meant to support. THEORY-059 was leaning on an assumption it never stated — that the residual left after peeling the dominant directions is undifferentiated. The bottom outliers live in that residual. Flagged in THEORY-059 and SOTA-314 and claimed in neither, because zeroing is not quantizing and nobody has drawn the damage curve against bit-width. That curve is now the cheapest open question in the cluster.

Nine papers not filed, listed rather than forgotten. Spectral norm, attention entropy collapse, token clustering dynamics and low-sensitivity functions are about other objects; the CLIP paper uses SVD as a fine-tuning method rather than measuring a spectrum. Saying so here costs a paragraph and saves the next pass from re-triaging fourteen PDFs. DP-004: the query was “which paper plots a singular value distribution of a weight matrix”, and it is the query that did the work.


Re-reading nine papers with the question removed, and finding a cluster the first pass could not see

2026-09-22 00:40:40 · record · curation

The instruction was to judge the batch on its own merits rather than against THEORY-059’s open question. That is DP-004 applied to my own work: a pass finds only defects its query is shaped like, and the first pass asked “does this plot a weight spectrum?” — which is a good question and a narrow one. Nine papers came back triaged out. Re-read without it, seven merit filing and two do not, and three of the seven form a cluster that the first query could not have surfaced because none of them plots a spectrum at all.

This unit files the cluster. Three routes to one problem: a weight matrix’s spectrum drifts during training and the drift breaks things. σReparam rescales the weight by its spectral norm every step; the Weyl rule caps how much one step may grow the largest singular value; Pion updates through orthogonal equivalence transformations so the spectrum cannot move at all. Renormalize, bound the rate, or freeze.

The first pass’s cost was concrete and worth naming. SOTA-192 and SOTA-131 have been in this record describing a failure — attention logits grow, the softmax saturates, the run dies — and the inequality that makes that failure inevitable was published in 2023 and was not here. A record that holds two remedies and not the theorem behind them is not wrong, but it is missing the thing a reader would most want when deciding between the remedies.

The best find is a disagreement, not a result. Zhai et al. prove attention entropy is bounded below by a quantity decaying exponentially in the spectral norm, and conclude entropy collapse is what breaks training. Qi et al. then exhibit attention maps that are sparse but not low-rank — near-identity, near-zero entropy — in runs that train perfectly well, and say in those words that this is a counterexample. So the bound stands and the inference from it does not.

Getting the relation right took a check I nearly skipped. I first wrote extends, reasoning that a refinement of the same mechanism is not a correction. Then I read the appendix, which names both Dong et al.’s rank collapse and Zhai et al.’s entropy collapse as insufficient and offers state B as a counterexample. That is reasoning being replaced, which is corrects. The schema distinguishes them precisely and I had the wrong one.

Three papers remove learning-rate warmup and the synthesis stays unfiled. σReparam trains a ViT without pre-LN, warmup, weight decay or an adaptive optimizer. The Weyl rule replaces 60-epoch, 20-epoch and 2000-step warmups with a plain cosine decay. Pion trains without normalization layers. The reading that writes itself — warmup is a workaround for uncontrolled spectral growth — is claimed by none of them, and a theory sourced to papers that do not make its claim is exactly the DP-010 failure this record keeps catching in other people’s work. It goes in prose in all three documents and in this entry, where a later contributor can find it, and not into the theory registry.

One paper filed with no practice attached, which is the harder call. Pion’s recommendable claim is that spectrum-preserving updates can stand in for normalization layers, and the evidence is one 60M model, one run. Its depth-stability number is 0.0892 against Muon’s 0.0927 — a 4% difference in a loss-variance statistic, single seed, presented as being the most stable optimizer. And its 1.3B run wins the benchmark average while losing the validation loss to Muon. All three are in the paper; the reading’s job was to say which of them can carry a recommendation, and the answer is none of them yet.

SOTA-192 gains a condition and keeps everything else. Its account of its own failure mode says near-zero entropy is the problem. If the counterexample holds, that describes a state which is sometimes harmless, and the sharper question for someone watching a live run is whether the attention map is also losing rank. The recommendation does not move, because bounding the logits suppresses both modes. What moves is the instrument.

Four of the remaining papers are still to assess and two are already declined. The declines, with reasons, go in the second unit so they are recorded in one place rather than split.


Seven of nine, and the two that were right to leave out

2026-09-22 01:25:19 · record · curation

Second and final unit of the re-read. Nine papers had been triaged out against one question; re-read on their merits, seven merit filing and two do not. The first unit took the three that formed a cluster. This takes the four independents and records the two declines, so the reasoning sits in one place rather than in a commit message nobody greps.

The strongest habit in this unit was checking which rows change one thing. Leaner Transformers reports twelve redesigned architectures and a 30–50% parameter saving. Six of the twelve also halve the MLP width, so their savings are not evidence for the heads-for-depth trade the title names. The other six hold the MLP fixed, and five of those — XCiT-M, TNT-B, DaViT-B, XCiT-L, DaViT-L — hold or improve accuracy at 29–53% fewer parameters. The practice is filed on those five and says so. This is the same check that decided the RNA-FM unit, where it went the other way and killed the practice.

A tension filed as a tension. SOTA-190 says increase depth before any other dimension. This says remove depth and buy it back with head count. The axes are not identical and neither paper knows the other exists, so no relation is declared and both documents name the other. That is the handling the owner asked for on #234 and it keeps being the right one: asserting the connection invents a claim, filing nothing hides the question.

One paper supplied something the record had been circling without a name. THEORY-041 says unconstrained transformer matrices drift into a badly conditioned shape and is Proposed because nothing intervenes on conditioning alone. Leaner Transformers proves conditioning improves with head count and then intervenes on it. Not the experiment THEORY-041 asks for — that wants conditioning separated from norm constraint — and the nearest thing the record holds.

The provenance gap was the surprise. Three hundred practices about building, training, quantizing, serving and evaluating models, and not one about establishing where a model came from. No watermarking, no fingerprinting, no provenance. DP-004 again: an absence produces no unresolved code and no unbound relation, so the machinery would never have pointed at it, and the subject has already had public instances.

And its method is built on the matrix this whole week has been about. GhostSpec fingerprints a model by the singular spectra of W_q W_k^T and W_v W_o, because those products absorb permutation and rescaling. That same product is the one whose spectral energy concentration predicts a training crash and whose spectral norm bounds attention entropy. Two literatures, one matrix, no citation in either direction. Recorded as an observation, with the open question — does spectral-controlled training blur the fingerprint? — in the note.

The provenance practice is Proposed on a missing measurement, not on thin results. F1 0.9867 over 55 pairs is a good number. Every one of those pairs is a case where derivation is real, and the case that decides whether anyone can say anything publicly is two models that look alike because they were trained alike. That is not in the paper, so the practice’s conditions say the method is evidence and not proof, and say it loudly, because a provenance claim is the kind that ends up in an argument.

One paper is filed partly for how it reports itself. Concepts Whisper grades its own six claims robust, partial or suggestive; reports a robust null against the hypothesis it set out to confirm; and marks as partial the two results a less careful paper would have put in the abstract. After a week of finding abstracts that outran their appendices, the other case is worth filing.

Third instance of one shape, and the count stops. Small singular directions of a weight matrix carry disproportionate information; the residual a low-rank branch hands its quantizer is not the negligible part; concept directions live in the quiet tail of the unembedding covariance. Three matrices, three unrelated literatures. I could not write down a mechanism connecting them that I would defend, so it is counted in three documents and promoted to nothing. DP-009.

The two declines, and why they are not Rejected. Neither is filed, so neither has a status — declining to file is not the same as retiring something. The emergence of clusters in self-attention dynamics is careful mathematics about frozen weights as t → ∞; the gap between that and a trained model is too wide for it to be evidence about one, and it underwrites no practice the record holds. It is a candidate trunk if rank collapse is ever filed, and that is recorded rather than lost. Fine-tuning CLIP in spectral space perturbs principal singular subspaces instead of adding a low-rank matrix — a real variant — evaluated on three multimodal-sentiment benchmarks against SOTA-184, which the record already holds. The evidence is narrower than the recommendation would have to be. DP-005.

What the whole re-read cost and bought. Cost: a second pass over fourteen PDFs. Bought: two practices and two theories in the first unit, two practices and two theories in this one, a subject the corpus was missing entirely, and the correction of a DP-004 failure I committed myself. The lesson is not that the first triage was careless — it was answering the question it was given — but that a triage is only as wide as its query, and a batch of papers deserves one pass per question worth asking.

A trap worth writing down, because it cost three dangling references. The previous unit cited documents filed in the unit before it, by their temp codes, and lint was clean — because the branch was cut before CI concretized those codes, so the temp files still existed locally. CI then concretized them on main and the citations died. This run’s lint caught three of them — citations to temporary codes that had by then been concretized into LIT-520, LIT-517 and NOTE-263, leaving the citations resolving to nothing — and they are fixed here along with a stale inactive-ok directive that shipped in the same PR because I read only the head of the lint output and the directive line sits at the bottom.

The rule that follows: when a contribution cites documents merged earlier in the same session, rebase onto main and look up the concrete codes before citing them. A temp code is only valid inside the contribution that mints it. And read the whole of luria lint, not the first screen — EXIT=0 covers warnings, unresolved codes and stale directives alike, and only the first of those is at the top.


A decline reversed, and what the wrong reason was made of

2026-09-22 02:20:40 · record · curation

The owner pushed back on one of the two declines from the previous unit: The emergence of clusters in self-attention dynamics has been cited ~200 times in three years, and the t → ∞ limit is not a weakness in the relevance of its contribution to the theoretical literature. That is right, and reading the paper in full rather than skimming its abstract and table of contents showed my decline was wrong on more counts than the one raised.

The stated reason had two halves and both failed.

The second half — “it underwrites no practice the record holds” — is wrong against this project’s own schema, which I should have known and did not check. explains is optional on a THEORY for exactly this case, and the comment in luria.yaml says why in as many words: the two lottery-ticket documents explain no practice because the record holds no pruning recommendation for them to explain, and “a finding that underwrites nothing YET is still a finding, and requiring this would mean filing it nowhere — which is the state this scheme exists to end.” I used as a disqualifier the precise situation the scheme was built to accommodate.

The first half — “the gap to a trained model is too wide” — survives as a condition and not as a reason to refuse. The record holds THEORY-009, a mean-field gradient flow on an infinite-width limit, at Active. An idealization is something this record files with its assumptions written down.

And the paper closes part of that gap itself, which a skim could not see. Time-independent weights are not only analytic convenience: ALBERT shares parameters across layers, which is the architecture the assumption describes literally. The discrete-time forward-Euler analogue is written out and the proofs are stated to carry through, so “continuous time” is not a limitation either. Clustering is reported to arrive “after few layers”. And Section 11.2 checks the hypotheses on ALBERT-xlarge-v2’s learned weights, finding heads 5 and 14 satisfy both conditions of Definition 4.1 — while saying plainly that not all sixteen do.

The connections I missed are the ones that should have made it obvious. The related-work section names Linformer and LoRA as motivated by the near-low-rank structure of the attention matrix, and observes that in both the low-rank structure is imposed rather than extracted from P itself — which Theorem 2.1 does extract. SOTA-184 and SOTA-147 stand on that premise and the record had no source for it. Separately, the paper refines Dong et al.’s rank collapse: trivialization into a single cluster is what happens without skip connections, and with them a classification emerges. NOTE-105 already uses rank collapse as an established fact, and the record holds neither Dong et al. nor this.

DP-004, for the third time in this batch, and the third time on my own work. The query I ran over these papers was “does this plot a weight spectrum?” It found the papers that do. It could not see a paper whose contribution is a classification of what the spectrum of the value matrix does to representations — nor the two citations in its related-work section that tie it to practices the record already holds.

One thing worth separating, because the argument for filing should be the right argument. Citation count is adoption, and DP-005 says adoption is not evidence: 153 citations on Semantic Scholar does not make the theorems truer. What the count is good evidence for is that this is a trunk in its literature, and the record files trunks — that is why LIT-505 was filed unread. So the count is a reason to look, and the reasons to file are the ones above.

Filed Proposed, and the reason is not the idealization. It is one group, and the bridge to practice is a check on ALBERT’s weights rather than on where its tokens go. The promotion condition asks for exactly that missing measurement — token trajectories through a trained model, cluster counts against each head’s value-matrix spectrum, with the heads violating the condition as the control — and explicitly refuses a wider idealization in its place. It needs no training run.

The declines from the previous unit stand as a pair now split. This one is reversed. SpectralFT is not: three multimodal-sentiment benchmarks against an incumbent the record already holds is narrow evidence for a recommendation this record would have to state broadly, and no comparable argument has been made for it. If one is, it should get the same treatment this did.


Filing the trunks, and finding that one word was doing two jobs

2026-09-22 02:38:54 · record · curation

The last unit surfaced its own next unit. Filing the self-attention clustering paper meant writing, twice, that the record holds neither Dong et al. nor Linformer — while four documents lean on “rank collapse” as an established premise and two practices rest on attention being low rank. Those are the two trunks, and this files them.

The unplanned finding is the one worth keeping: “rank collapse” is doing two jobs in this record. Dong et al.’s rank collapse is token representations converging to a rank-1 matrix through depth, in a single forward pass, at a doubly exponential rate, and it is prevented by the residual connection every real transformer has. LIT-350’s rank collapse — in its own words, “as training progresses, weight matrices exhibit rank collapse, converging to low-rank subspaces” — is weight matrices over training time, which is also what LIT-516 measures. Different object, different axis, different remedy, same name.

I checked whether that conflation was ours before saying anything about it. NOTE-105 could have been sloppy; it is not. It reports its source, and the source uses the term that way. So this is terminological drift in the field, the record now holds both usages, and the fix is a table saying which is which rather than an edit to anybody’s reading. That distinction — is the defect ours or the literature’s — cost one PDF fetch and changed what the finding is.

The best single line in the paper is an algebraic aside. Layer normalization cannot mitigate rank collapse, because LN absorbs into W̃_h = W_h D_LN^{-1} plus a rank-1 shift, and right multiplication cannot increase rank. Two lines, no experiment, and it rules out an entire family of would-be remedies. The record holds a large normalization cluster and had nothing saying what normalization is not for.

The status turns on the gap between what is proved and what is quoted. Everyone cites this paper for “skip connections prevent rank collapse”. What is proved is that some parameterization preserves the residual, because one path skips every layer — and the authors say plainly that their upper bound with skip connections is “vacuously large” and pose the tight lower bound as an open challenge to the community. Proposed, with that challenge as the promotion condition. A paper being right and being load-bearing is not the same as the thing it is cited for being proved.

Linformer needed the opposite care. The record already holds a verdict on it — NOTE-005 has FlashAttention undermining this literature’s premise by showing the cost model was wrong. That verdict is about O(n) being the right optimization target and says nothing about whether P is low rank, which is the part SOTA-184 and SOTA-147 have been standing on without a source. Filed Active, because the record retires a document when its claim stops holding, and the measurement did not stop holding when the method was overtaken.

Two papers, one fact, opposite readings. Linformer measures the attention matrix as low rank and builds a compression method on it. Dong et al. proves that the same structure, taken to depth, destroys the representation. Whether low-rank P is an opportunity or a pathology depends on whether you are compressing the matrix or passing information through it. Neither cites the other on this. Recorded in both notes; not joined, because no one has made the argument.

And a trade nobody frames as a trade. MLPs counteract rank collapse in proportion to their Lipschitz constant, and Dong et al. states the cost against its own remedy: larger Lipschitz constants make a model less robust and more sensitive to input perturbations. THEORY-064, filed earlier today, holds that transformers’ robustness is their bias toward low-sensitivity functions. So the standard fix for rank collapse spends the thing the other account says robustness is made of. Three years apart, no citation either way. Into the open questions of the new note, not into a claim.

Neural collapse deferred rather than tacked on. LIT-528 names it as a resemblance, the record holds nothing on it, and it is a different subject — classification-layer geometry at the end of training. Nothing filed here leans on it. It gets a unit or it gets nothing; what it does not get is three sentences at the end of someone else’s.


Refreshing an exhausted worklist, and finding my own gap at the top of it

2026-09-22 02:58:42 · record · curation

Three checks before filing anything, and two of them changed the plan.

First: did today’s thirty-five new documents introduce defects? The record’s own reports say no — 0 unbound relations, and the one unbound line is the pre-existing SOTA-036/037/038 one. That is the check worth running before adding more, and it came back clean on the relations, which were the part most likely to be wrong.

It did not come back clean on spelling. Three citations in a concretized code’s old spelling, all in the curation entry I wrote about that exact trap. luria link --fix cannot reach inside backticks; the fix is by hand, and the record had already said so — the LIT-489 fragment from a day earlier ends “worth knowing before the next fragment”. I wrote the warning’s successor and walked into it anyway. Rewritten by hand, per the established handling.

Second: is neural collapse load-bearing? The previous unit deferred it with “it gets a unit or it gets nothing”, which obliged me to actually test it rather than default either way. Grepping for simplex, equiangular, terminal-phase training and class-mean geometry returns the two documents I filed yesterday that name it as a resemblance, and nothing else. It would be a trunk with no descendants. The schema permits that — explains is optional — but permitted is not warranted, and the honest justification available was “famous and adjacent”, which is the DP-005 trap. Not filed, test recorded.

Third: what is left on #180? Every one of the fourteen entries in the issue’s published ranking is filed — including the three Bernstein papers its second comment proposed as the next unit, done on 19 September, and THEORY-024 which was demoted from Active the following day when an outside group tested the duality frame and came back negative. The worklist is exhausted, so it needed recomputing rather than continuing.

The recomputation needed a correction I should flag. My first pass matched only bare NNNN.NNNNN identifiers and found 139 arXiv-resolvable papers against the issue’s reported 2,196 — a discrepancy large enough that the right response was to distrust my extraction rather than the issue. The snapshot’s keys are mostly arxiv.NNNN.NNNNN, with arxiv: and bare variants and openreview., nature., pnas. and url. prefixes for everything else. Matching the three arXiv shapes gives 2,169, which is close to the issue’s number and reproducible. 299 papers at ≥2 distinct reading days, 83 at ≥3, 31 at ≥4; 33 absent from the record at ≥3.

And the top of the refreshed list held a gap I made myself. ARXIV-1503.02406 — Tishby and Zaslavsky, the paper the entire information-bottleneck line descends from — absent, while this record holds three papers arguing about it plus a theory and a practice filed from that argument. Issue #220 was closed on the strength of a dispute whose trunk was missing, and the trunk was missing because I did not go looking for it.

Reading it changed what the dispute means. SOTA-312 says to state the noise or binning assumption behind any mutual information reported for a deterministic network; THEORY-058 exists because I(h;X) is infinite for a deterministic map, so the reported compression is manufactured by the analyst’s binning. Fatal to the 2017 measurement, and not an objection the founding paper failed to anticipate: it says, in one sentence, that approaching the IB limit requires stochastic mapping between the layers. The condition was stated at the beginning and dropped by the work that went looking for the picture. The two-phase claim stays refuted on its own evidence; what moves is where the defect sits — not the frame’s silence, but a measurement applied to a regime the frame had already excluded.

The famous figure says it is a hypothesis. “A qualitative information plane, with a hypothesized path of the layers in a typical DNN.” Everyone went looking for the green line; the caption says it was drawn.

Two claims in that paper have never been examined by anyone. Optimal depth set by the bifurcation points of the IB tradeoff, and hierarchical representations as structural phase transitions on the information curve. Those are checkable architecture claims. Three papers of downstream dispute, all about compression, none about either. DP-004 again, and this time the narrow query was the whole field’s — including this record’s, when it filed the dispute and called it closed.


The word was doing two jobs, and the record had neither

2026-09-22 03:19:52 · record · curation

The gap was visible from the practice registry, not from the worklist. ARXIV-2212.07677 is on the refreshed #180 list at four reading days, which is how I got to it. But the reason it was worth a unit is that the record held SOTA-037 and SOTA-038 — in-context learning emerges at scale, and permits few-shot adaptation — plus THEORY-038 on what a decoder cannot compose in few layers, and nothing at all about what the forward pass is doing when it does the thing those practices name. A capability with no mechanism under it.

Filing the one paper on the worklist would have been a mistake, and I nearly made it. The obvious unit was: read ARXIV-2212.07677, file the mesa-optimizer account, done. What stopped it was a search for a rebuttal before writing anything — a habit this session has had reason to build — which turned up two, from opposite directions. ARXIV-2310.17086 attacks the identification from inside the same setup: same task, same GPT-2 backbone, same training objective, and the layers advance at a second-order rate. ARXIV-2310.08540 attacks it from outside: real pretrained models, and a theorem that needs no weights at all.

Then the source paper turned out to contain the first refutation. Four pages after Proposition 1, von Oswald et al. report that their looped and unrolled models do not match gradient descent — they match GD++, gradient descent on data transformed by I − γXXᵀ with a learning rate and a γ fitted per layer. A first-order step in a data-dependent geometry is a preconditioned method. The exact result is about one layer, and one layer is not a transformer. This is in the paper, in its own figures, with its own name for the variant, and the title does not mention it. DP-010, and the most-cited sentence in the cluster is the one the paper itself qualifies.

So the unit became two theory documents, because the word is doing two jobs. There is a frame — activations carry a model, layers carry updates to it — which has now been made precise three separate times, by three groups, for three different algorithms: one gradient step per linear-self-attention layer, a Sherman–Morrison ridge update in O(d²) width, k Iterative Newton steps in k + 8 layers. And there is an identification, that the algorithm is gradient descent. The frame is Active and the identification is Rejected, and the reason the frame survives is the same fact that sinks the identification: the architecture expresses all three at comparable cost, so no construction of this kind can pick between them. I put that consequence in THEORY-067’s title, because leaving it in the body would let the document be read as a vote for the mesa-optimizer picture.

The relation between the two took a second pass. I wrote extends first — the frame is the identification widened, which is what extends is for — and then reread the blurb for corrects: “this account replaces the earlier one’s reasoning. What the old account explained may still happen; only the reason was wrong.” That is the sentence, almost exactly. Transformers do solve regression from context, do improve monotonically with depth, and do reach the optimal estimator. The reason offered for it was wrong. ADR-031 exists for this and I nearly filed past it, the same way I nearly filed extends where corrects belonged three units ago.

Two practices, from two different papers, and neither is about in-context learning. LIT-536’s Hypothesis 1 / Hypothesis 2 distinction — “there exist weights such that” is not “pretraining produces weights such that” — is a general warning about a composition that looks reasonable at every step: observe a capability in the wild, reproduce it in a purpose-built setting, explain it from the purpose-built setting. LIT-535’s rate measurement is a general method: output similarity cannot separate algorithms that converge to the same answer, and the paper demonstrates this on itself by reporting that gradient descent fits well at later layers while being the wrong description. Both Proposed, both with promote_when asking for the method to work somewhere its author was not looking rather than for a second paper agreeing.

The thing neither side has done is the same thing. Every result in this cluster is either a construction or a measurement on a model trained on the task family it is then tested on. LIT-535’s layer-to-iteration probe would transfer to a model pretrained on text — pick a prompt task with a known optimal algorithm, measure the rate — and I cannot find anybody who has run it. That is in both new practices’ promote_when and in the rejected theory’s closing section, because it is the measurement that would move all three.

Declined: ARXIV-2111.02080. Xie et al.’s implicit-Bayesian-inference account is a genuine rival explanation and is not filed here, because it answers a different question — why the capability emerges from pretraining, not what the forward pass computes. Putting it in this unit would have made the dispute look like a four-way disagreement about one question when it is two questions. It is a unit of its own and the scope note says so rather than leaving it to look like an oversight.


A practice was resting on one paper, and the paper it was resting on had a trunk

2026-09-22 03:42:36 · record · curation

The question came from outside and the answer was one document. Asked whether the record has a grokking line, I grepped and found LIT-085, its reading, and a handful of passing mentions — all pointing back at the same paper. Not a line. One paper, plus an Active practice staking a claim on it.

SOTA-200’s history already recorded this failure once. Its v2 note, from the day before yesterday, says the practice “previously recommended a check while the record held neither” the paper that made the argument nor the claim it argues against. That was fixed for the first two checks. The third one — grokking — was left resting on LIT-085 alone, and LIT-085 is itself a paper the record once had Rejected and promoted specifically because this practice needed it.

Reading the trunk changed what the practice should say, which is the useful outcome. I expected LIT-538 to be a formality: name the phenomenon, cite it, move on. It is not. The data-fraction dependence is in the founding paper, measured and reported as a headline — converged accuracy flat across a range of training fractions, time-to-generalize exploding as the fraction falls, 1% less data near 25–30% costing 40–50% more steps. So LIT-085 did not arrive from outside and deflate a mystery; it put a threshold on a dependence the original authors had already measured. SOTA-200 read the other way round.

DP-010 in a single figure: Figure 1’s left panel is the thousand-fold gap everybody reproduced, and Figure 1’s centre panel is the curve saying the gap is a function of what you withheld.

Then Omnigrok made the check wrong rather than incomplete. “Data-starved regime” names one axis. LIT-540 produces grokking on MNIST, IMDb and QM9, and does it by shrinking the training set and inflating the initialization — at standard initialization there is none on any of the three. It also removes grokking on algorithmic data by constraining the weight norm. LIT-537 adds a third axis, initial kernel–task alignment, which is the only one of the three a practitioner could compute before training. So the check is not “was the data starved” but move the regime and see whether the discontinuity moves with it — which is a better check, and one the practice could not have stated from the paper it had.

The unit grew from three papers to four for a reason I did not anticipate. I had planned trunk + Omnigrok + one mechanistic account. Reading LIT-537’s §3 changed that: it is an explicit counterexample to both weight-norm accounts — modular arithmetic, two-layer MLP, no weight decay, and the parameter norm going up through the transition. Filing circuit efficiency alone, which on evidential shape is the most impressive thing here, would have put a mechanism in the record that a published counterexample contradicts.

Four theory documents, and only one Active. The status vocabulary says Active means “the best explanation the record holds for why this happens”. With a counterexample to two accounts and two unexplained phenomena against the third, no mechanism earns that. What does is the regime claim: every one of the four papers supports it, including the one arguing hardest against the others — LIT-537’s own second condition is a dataset-size window. A claim that survives the disagreement of every account of the thing it describes is in a different evidential position from any of them, and that is the whole reason THEORY-069 exists as a separate document.

The corrects declaration took care. THEORY-070 corrects both weight-norm accounts, which is right — the paper names them and offers a counterexample, the same test that settled the Weyl/σReparam relation three units ago. What I had to resist was letting corrects imply replaces. THEORY-071 predicted ungrokking and semi-grokking before anyone had seen them, including the sub-prediction that ungrokking’s endpoint is independent of weight decay, and the lazy-to-rich account says nothing about either. So the correction narrows its predecessor’s scope and does not cover it, and that sentence is in promote_when rather than buried in prose.

One near-miss worth recording. Writing THEORY-072 I typed an inactive-ok-file directive naming THEORY-tmp069e7 — a code that does not exist; I had crossed a LIT code with a THEORY one. A directive naming nothing vouches for nothing, which is the failure ADR-039 is about, and it would have shipped silently because an unresolvable code in a comment is not the same finding as an unresolvable code in prose. Caught on reread, before the lint. The real acknowledgements were written afterwards from the regenerated report.

What the record now says it does not know. Nobody has an account covering both a rising-norm unregularized grokking run and a sharp ungrokking transition. LIT-538 reports binary operations that never generalize at any data fraction up to 95% and nothing explains which ones. And every positive result outside algorithmic data changes two knobs at once, so the axes are established jointly rather than separately. Those are in the open-questions sections rather than smoothed away, because the shape of this cluster is three partial explanations, and a reader deserves to be told that rather than handed the most impressive one.


The command was in the toolbox the whole time

2026-09-22 03:52:52

This came from a question, not from the lint. Asked whether the workflow had accumulated a ritual worth streamlining, I ran luria --help before answering — and found luria repair, which I had not used once in four filing units that day. Its help says it writes “every mechanical source repair”, including populating a journal entry’s created: from its path. That is precisely the violation I had hand-fixed in 031952.md a few hours earlier.

The documented sequence is four commands and the CLI has five. CLAUDE.md is explicit that it is a map and that luria --help wins any disagreement. The rule is correct and it protected nothing, because the failure was not a disagreement — it was an omission, and you do not check the help for a command you do not know exists. A map that leaves out a road is wrong in a way its own disclaimer cannot catch.

Worth noticing what repair’s docstring says about itself: “Prints what changed; a second run changes nothing.” It was written to be run unconditionally, every time, and the sequence that omitted it instead documented its weaker half.

The hook is the smaller half of this and the more honest one. ADR-018 — views land on main only — was held by a sentence saying to run git checkout -- docs/ before committing. It held four times out of four, which reads as a good record until you set it beside the three neighbouring disciplines that failed the same day: a stale acknowledgement directive that shipped in #263, a citation to another contribution’s temporary code that shipped in the same PR, and a directive in #269 naming THEORY-tmp069e7, a code that does not exist. Every one of those was also governed by a sentence somebody was supposed to remember. Four-for-four on the fourth discipline is not evidence that it is reliable; it is a sample.

What made the hook easy is that the rule is about the branch, not the content. main must be able to commit views, because CI commits them there. A content-based check would have to duplicate luria index’s knowledge of its own outputs, and would then have to distinguish a generated page from a README.stub, which is a source that lives in the same tree. Checking the branch needs none of that and is two lines. The hook is overridable with --no-verify and says so, because a stub edit is legitimate and the hook cannot tell.

I tested it rather than reasoning about it. Staged a file under docs/ on this branch, committed, watched it refuse, and confirmed HEAD had not moved. That step is here because the failure mode of a pre-commit hook is silent non-installation, and “I wrote a hook” is not the same claim as “the hook refuses the commit”.

Three things from the same session I could not fix here, and named rather than left implied. The lint baseline is the big one: all day I compared output against “7 warnings, 184 targets, 0 unbound relations, 1 unbound line” carried in my head, which means EXIT=0 conveys nothing and the whole output has to be read and diffed by eye every time. An ack command writing directives from reference-status.md would make the THEORY-tmp069e7 class of error impossible rather than merely caught. And a branch-side temp-code check would have caught #263 before it merged. All three are luria, not this record, and the decision says so instead of pretending this contribution closed them.


Two literatures using the same word for different objects

2026-09-22 04:09:43 · record · curation

This gap was different from the last four, and worse. The others were trunks the record had never reached for. Here the record was citing the school’s results: LIT-476 compares its own local-volume power law against “Local Learning Coefficient results where d/2 is a strict upper bound not seen in practice”, and NOTE-225 lists “the Local Learning Coefficient as the singular-learning-theory neighbour”. A reader following either could not get to the thing being cited. Zero hits for Watanabe, RLCT, WBIC or algebraic geometry.

One question I did not have to reopen. The curation entry of 21 September had already run ADR-050’s test on “the physics of learning” — 28 documents mentioning mean-field analysis, free energy, singular learning theory, random matrix theory and phase transitions — and found 61% already primary-tagged analysis-and-evaluation. The test returned “no gap”, loudly, on a candidate that passed the eyeball check. All four documents here take that primary topic and I did not propose a tag. Worth noting because the vocabulary debate is the expensive part of filing a new school, and a past unit had already paid it.

The theory hits SOTA-012 harder than I expected. I went in thinking singular learning theory would be adjacent to the flatness practice. It is underneath it. SOTA-012 is already careful — correlation not causation, diagnostic not objective, and filter normalisation named as what stopped earlier sharpness claims being rescaling artefacts. What the trunk adds is a second objection the normalisation does not touch: in a singular model the theorems contain the exponent of the volume law, and curvature is its prefactor. It appears in neither n L_n(w_0) + λ log n nor λ/n. Filter normalisation makes the measurement honest; it does not make the measured quantity the right one.

So v3 is a condition and not a correction, and I wrote the history note to say that explicitly, because the temptation was to write it as a refutation. LIT-014’s correlation is a measurement and it holds. What moves is the explanation’s scope.

And I nearly repeated a mistake from this morning. I declared compared_against: [SOTA-012] on the new practice. Nobody has run filter-normalised sharpness against the local learning coefficient as predictors of test error on the same models. ADR-011 says that relation means somebody ran the comparison; the argument here is theoretical. Removed, and the practice now says in prose why the relation is absent — which is more useful than silence, since the absence is the interesting part.

The best thing in the cluster is a distinction, not a result. LIT-544 separates two events the field calls by one name. A Bayesian phase transition is a change in where the posterior concentrates as sample size grows; it follows from the free energy formula and is a theorem. A dynamical transition is a plateau-then-drop in a training curve; its “formal status has remained elusive”. And the paper does not just assert the distinction — it computes both in one model and shows them coming apart: the 5 → 6 transition is predicted at n_cr ≈ 600, observed at 600 ≤ n ≤ 700, and has never been observed as a dynamical transition.

That matters here specifically. Every grokking mechanism this record filed two hours ago is dynamical. Everything singular learning theory proves is Bayesian. Without a document saying so, the record would hold two literatures that use the same words for different objects and would eventually blur them in its own prose — which is the failure the two-collapse-accounts precedent and ADR-031 exist to prevent. THEORY-074 is that document, and it is the one I would keep if I had to drop the rest.

A finding that reaches sideways into this morning’s other unit. LIT-543’s in-context regression transformer acquires in-context learning in LR2 and then loses it over LR3 and LR4, specializing to its pre-training task distribution while the loss keeps falling. Every paper in the mesa-optimization cluster measures a trained model at some unstated point in that trajectory. Whether von Oswald’s single-layer result, Akyürek’s depth phases and Fu et al.’s rate measurement were taken before or after the model started un-learning in-context behaviour is a question the record can now ask and cannot answer. It is in the note’s open questions rather than asserted as a problem, because it may well be that their models never reach LR3.

Declined: ARXIV-2310.03789. Rubin, Seroussi and Ringel map grokking to a first-order phase transition through the adaptive-kernel approach to feature learning. Real result, and statistical mechanics rather than singular learning theory — two machineries, one unit, which is how a cluster stops being legible. The tempting argument for including it was that it observes grokking as a function of sample size as well as time, which would be a fourth independent arrival at THEORY-069’s regime claim from a school sharing no apparatus with the other three. That is DP-009 evidence and it is worth having. It is worth having as its own unit, with the adaptive-kernel frame filed properly, rather than smuggled in as a fifth reading here.

Process note, and it is not the one I expected to write. This was the first unit run with make ready, which the ADR an hour ago existed to produce. It found that the ADR was wrong.

luria repair is not a superset of luria link --fix. I asserted it was, from the two commands’ docstrings, and removed link --fix from the documented sequence on that basis. This unit declared two extends relations; repair reported nothing to do; the lint said “2 declared relation(s) are held by one side only”; luria link --fix wrote both converses. A docstring describes a command’s purpose, and only running both tells you what each one writes. v2 says so, and adds the inference itself to the alternatives-considered as the thing that went wrong.

The timing is the useful part. The error was one hour old and it was caught by the next unit, on a branch, by a check that was already running — rather than by a contributor six months from now noticing that relations had quietly stopped being two-sided. That is the argument for the ADR’s own remaining upstream asks, and it is better evidence than the ADR made for itself.

The other named defect turned up in the same run. This contribution’s prose cited five temp codes from the two units merged earlier today, all now concretized on main. The lint listed all sixteen sites with the mapping. Every one was inside backticks, so neither concretization nor the fixer could reach them — the trap the LIT-489 fragment warned about and the one I walked into again a few hours ago. Rewritten by hand, from the lint’s own report.

And the rewrite had a bug of its own worth recording, because it nearly did real damage: applying the mapping across all of record/ overwrote the formerly: field of the five concretized documents — replacing each one’s record of the temporary code it used to carry with its own current number, and so destroying exactly the provenance that field exists to hold. Caught by reading the diff before committing, reverted, and worth stating as a rule: a code rewrite must skip the document the new code names. An ack-style command that wrote these from the report would not have made this mistake either, which is the third time today that particular gap has had a price.


Sixty rows, and fifty-seven of them were the same thing

2026-09-22 20:58:03 · record · curation

The issue had already done the hard part. #202 found the check, ran it, classified what a row can mean, and wrote the sequencing down: work the rows, then declare, and only if the residue is small. It also said why not to just turn it on — there is no unbound-ok:, so a report reading 60 would have no way back to zero and would become wallpaper. I followed that and it was right.

What I did not expect was how one-sided the distribution turned out. The issue named three readings and ranked the third — the record drew the wrong practice from the paper — as “the one worth the pass”. It found zero instances. #201 had already closed the RETRO case that prompted the issue. What remained was 57 rows of plain under-tagging and one mis-tagged practice.

Some of those are embarrassing in a useful way. Attention Is All You Need was not tagged attention-techniques. FlashAttention was not tagged systems-optimization. CheckFreq was not tagged distributed-optimization, whose blurb literally ends with the word “checkpointing”. Twelve diffusion practices did not carry generative-modeling. None of this was visible in prose — every one of those documents says what it is about in its body. The divergence lived entirely in a tags: field, which is exactly the class of defect a structured-field detector exists to find, and exactly the argument #203 makes.

The risk in a pass like this is that clearing the check becomes the goal. That is the forbidden move, and it is very easy: 60 rows, each of which goes away if you add almost any tag the other side has. The discipline I held to was CLAUDE.md’s test — would someone browsing that topic be right to expect this document? — applied per row, one topic each, with a written reason. The batch is in the decision and can be audited. Where I could not answer the test honestly, I said so rather than adding the tag quietly: SOTA-060 sourcing LIT-043 is the weakest row in the pass and is named as such.

That weak row turned out to be a second finding. LIT-043’s entire note is the sentence “3D parallel training strategy”. A note that thin cannot say what it is about, so of course its tags disagree with a practice drawn from it. Three of the notes I touched are one-liners like that. The unbound-source query is, partly, a reading backlog wearing a tagging costume.

A mechanical guard I am glad I ran. primary_topic derives {tags[0]}, so appending is safe and prepending silently refiles a document. I appended throughout, then diffed the first tag of all 49 changed files against HEAD to check. Exactly one moved — SOTA-033, on purpose. Having the check take four lines and one minute is the difference between believing that and knowing it.

Two invented references, both caught, both the same reflex. The config comment I wrote first said “Declared by ADR-055”, a decision number that does not exist, and cited LU-#288 for the missing upstream directive, an issue number I had no basis for. This is the fourth time today I have written a code from expectation rather than from evidence, and the fourth time something caught it — here, only because I stopped to check rather than because a tool did. That is worse than the times the lint caught it.

The fix carries its own lesson: the config now cites #202, an issue number, and not a decision code at all. ADR-039 records that concretization rewrites the record and not luria.yaml, so a temporary code written into the config goes stale with no mechanism to fix it — which is how that file accumulated fifteen dead citations the last time anybody looked.

On declaring it. The residue is zero, so the invariant is on, and unbound-lineage.md now asserts three invariants instead of two. This does not make the check free: a new practice whose source shares no topic with it will show up in the report, and the fix will be the same judgement made 60 times here. What it buys is that the judgement happens while the document is being filed and the context is loaded, rather than two years later in a pass like this one.


I cited a decision for the opposite of what it now implies

2026-09-22 21:07:53 · record · curation

The correction came from being asked, not from a check. I wrote into luria.yaml yesterday that a temporary code there would go stale because concretization does not reach the config, and cited ADR-039 for it. Asked whether that was still true, I read luria/concretize.py instead of re-reading the decision. _rewrite_files iterates cfg.code_globs and does a plain string replace. ADR-039 put luria.yaml in code.globs. So the answer is no, and it has been no since the day ADR-039 merged.

The instructive part is why the decision reads the way I read it. ADR-039’s Context says “Nothing was rewriting the config, and nothing was reporting that it had not been.” That sentence is accurate — it describes the state before the decision. The decision then added the glob, which turned on the lint and, as a side effect nobody wrote down, turned on concretization too. Its Consequences section lists what the lint now finds and says nothing about repair. A document that describes a problem in the present tense and then fixes it without amending the description will be read, later, as describing the present. It was, by me, six days on.

So v3 is a Consequences note rather than a correction to the Context. The history is right; what was missing is that the decision ended the history it narrates.

Then the probe turned up a second wrong belief, older and more load-bearing. Since 21 September the record has been repeating that concretization “does not reach inside backticks”. It does — a plain string replace over file contents does not know what a backtick is. I wrote that sentence into three fragments and two curation entries this week, and hand-fixed sixteen citations on the strength of it.

What is actually true is narrower and belongs to a different command: luria link --fix upgrades a bare already-concretized code and leaves `ADR-tmpxxxxx` alone. It also leaves a hand-written [ADR-tmpxxxxx](ADR-tmpxxxxx.md) alone, which nobody had noticed at all. Two commands with different jobs got one shared folk explanation.

And the real cause of the hand-fixing was #211 the whole time. Those citations were codes another branch had already concretized. There was no pending rename left for luria concretize to apply, so it did not matter what they were wrapped in. The issue for that is open; this contribution is the first time the record has evidence for it rather than a hypothesis.

What I want to take from this. Every other error I caught today was caught by machinery — the lint, the hook, a report. This one could not have been: no check reads English in a config comment for truth. It was caught because somebody asked whether a claim I had asserted confidently was still true, and because the only honest way to answer was to go and run it.

The cheap move was available the whole time and I did not take it: the luria source is checked out at /home/user/luria, and the probe that settled both questions took four minutes. I had been reasoning from a decision document about a behaviour I could have measured. DP-010 is usually about a paper’s most quotable sentence; this is the same failure applied to this record’s own prose.


The issue was right and the journal that closed it was not

2026-09-22 21:59:42 · curation · record

#163 asked, “at very least”, for TP-IV “for muP”. The 2026-09-19 entry measured the checklist and answered that this item was already done. It said LIT-148 is Tensor Programs V, “which is the µP paper”. That entry was right that nothing in the record depended on TP-IV by name, and wrong about the fact it used to dismiss the item.

TP-IV introduces µP: Definition 5.1, the name, and the uniqueness result in Appendix C.1. TP-V takes that parametrization, carries it to Adam and Transformers, and turns it into hyperparameter transfer. SOTA-143’s instruction comes from TP-V, which is why the practice was correctly sourced. But its reason is TP-IV’s, and the record had no copy of it.

Why this was worth a theory and not only a note. SOTA-143 had one explanation, THEORY-024. That is the duality frame, and it went Proposed on 2026-09-20 once an outside group tested it and it came back weak. So the record’s most-used parametrization rested on a reason the record itself had stopped believing. TP-IV’s reason is a theorem, and it made a prediction that was measured: the maximum stable learning rate scales like 1/width under SP and stays constant under µP. It is filed Active and kept to what the theorem covers. That coverage is narrower than people assume. It is SGD, it is the stable ceiling and not the optimum, and the real-task experiments use linear networks.

The query, for DP-004’s sake. “Which issue items does the record already hold” was answered by a title grep plus a body grep for each item’s name. That finds a paper the record holds under its own title. It cannot find one the record believes it holds under another paper’s title, and that is exactly what happened with TP-IV. The fix does not generalize to a check. What would have caught it is reading TP-V’s first page, which calls µP something earlier work discovered.

The rest of #163, in the order agreed: Gemma 3n per-layer embeddings, MatFormer, Matryoshka embeddings, ReFT. Each ties into something already in the record. AlphaFold stays a scope question for the owner, as the 2026-09-21 entry left it.


The item named the wrong source, and the right evidence was already in the record

2026-09-22 22:15:04 · curation · record

#163’s Gemma 3n item points at a documentation page and gives its reason: Qwen3.8-Flash-Next cites it as the source for its n-gram embedding. The first thing to find was the paper that cites it. The GitHub link in the issue is a PDF, and the PDF is On the Design of Qwen3.8-Next Architecture. That is LIT-152, filed on 2026-09-05. The record already held both the citing paper and every measurement in it.

The citation says less than the issue says. §2.3 cites Gemma 3n twice. Both times it is in a list, and both times it is for unigram lookup memory or for keeping tables in host memory. The n-gram generalization is credited to a different list: N-Grammer, the Over-Tokenized Transformer, and Cheng et al.’s Conditional memory via scalable lookup. PLE is also a different shape: a small token-keyed table read at every layer, where Qwen reads one large n-gram table at one layer. “PLE is the source of the n-gram embedding” is the kind of compression DP-010 is about, one step removed. It is a true sentence about influence, carried as a claim about origin.

Gemma 3n has no paper and no measurement. The overview, the developer guide and the Gemma 4 report together say what PLE is for and how big it is. None of them says what it is worth. The mechanism is fully specified only in the Hugging Face implementation, which is what the reading note is written from. So it is filed as a url: note with its standing stated as adoption (DP-005).

The practice came from LIT-152, not from the item. LIT-152’s v1 summarized §2.3 in one clause, and that clause was the least useful thing in the section. It said loss falls while downstream saturates, and left out the three instructions the ablations actually support. Those are now SOTA-326, filed Proposed because they are one team’s single runs and placement differences are under a point. DP-007 in its usual form: the paper that ablated the thing was filed for a different finding, and the finding nobody argued about went unrecorded.

Queued, not filed. Cheng et al. (conditional memory / n-gram lookup) is the real primary source for the n-gram form and the offloading argument, and it is the obvious next paper for this practice. It is not on #163. It should be its own item rather than slipped in here.


A lint class made a vocabulary gap visible, and it was not the gap the line was about

2026-09-23 00:17:35 · curation · record · taxonomy

luria LU-#311 turned unbound relations into a lint class. The effect downstream was one new standing row, on a line nobody had looked at:

SOTA-036, SOTA-037, SOTA-038, SOTA-279, SOTA-280, SOTA-281
share no `tags` across the whole line

The arithmetic is unambiguous. in-context-learning is held by five of the six; SOTA-036 — the GPT-3 pretraining recipe — is the sole cause, and drop it and the line binds.

The tempting fix, and why it is the failure the alert names

in-context-learning on SOTA-036 closes the row with one tag. The blurb forbids it: “getting behaviour out of a fixed model by what you put in the context.” SOTA-036 is how the model is made. Running it the other way — model-architecture on the three chain-of-thought practices — is worse.

The topics vocabulary’s alert says reaching for the nearest wrong tag is the failure the closed set exists to prevent. This is what that looks like from the inside: the wrong tag is one line, and the right answer is a day’s work.

Every edge binds; only the path does not

SOTA-037 extends SOTA-036: model-architecture
SOTA-038 extends SOTA-036: model-architecture
SOTA-279 extends SOTA-038: in-context-learning, adaptation-and-tuning
SOTA-280 extends SOTA-279: in-context-learning
[SOTA-281](../../record/practices.d/SOTA-281.md) extends [SOTA-279](../../record/practices.d/SOTA-279.md): in-context-learning

unbound-relations reads 0 and always would have. The line is what breaks, because an intersection only shrinks as the component grows — which the report has said since it was written and which nobody had had a reason to read.

SOTA-038 carries model-architecture because a previous pass put it there, in v2 on 2026-09-18, to bind that edge. Its own history entry gives the reason: “In-context learning is a capability of the decoder-only-at-scale family SOTA-036 describes, which is what the relation between them asserts.” That justifies the relation, not the document — and the test is the document’s: would someone browsing model-architecture be right to expect “ICL permits few-shot task adaptability”? They would not.

That pass (#202) retagged 49 documents and 27 carry a note like it. Sampled, the others hold up: warmup really is model-stability, micro-batch size really is training-optimization, flash attention really is systems-optimization. SOTA-038’s is the one that does not, and the edge check could not tell the difference. The path check could.

What the line is actually about

extends licenses three senses: a later version of the same recommendation, a narrower case of it, or a rule that only exists because the earlier one is followed. The first two preserve subject by construction. The third cannot — “only exists because” is exactly the move from one kind of claim to another.

SOTA-279 → SOTA-038 → SOTA-280/281 are senses one and two. SOTA-037 → SOTA-036 and SOTA-038 → SOTA-036 looked like sense three, and that reading sent me toward splitting the relation — a new enabled_by for “a rule that only exists because the earlier one is followed.”

That was one step too clever. Read against the rest of the blurb — “could not stand without” — the two edges are not a different kind of succession, they are not a succession. SOTA-036 is a specific recipe, and “ICL permits few-shot task adaptability” does not depend on its corpus or its context length; it depends on the class of model. And the connection that is real was already written down: all three name source: LIT-035. extends was saying “same paper” a second time, in a vocabulary that means something else, and the chain read that second saying as a lineage of refinement.

So the fix was the plain one — delete both relations — and it is ADR-057. SOTA-038 also loses the model-architecture tag it was given to bind the edge that no longer exists.

The general problem is still there: extends licenses a third sense that cannot preserve subject, and an invariant over the chain asserts more than the relation promises. It just was not this line’s problem, and inventing the relation here would have preserved a lineage that is not one.

The gap that was actually there

Reading the six for a tag turned up a different thing. SOTA-037 (“ICL emerges at scale”) and SOTA-279 (“only once the model is large enough; below ~100B it does nothing or hurts”) make a claim with no word, and the sweep for its siblings found nineteen documents, every one of them under analysis-and-evaluation, for most of them as the primary.

A word for methods was holding the field’s largest live controversy about learning dynamics: three mutually incompatible accounts of grokking, an emergence claim and its published rebuttal, and a formal theory of staged development. A reader browsing by topic met them in the same list as “state the token count beside any reconstruction FID”.

capability-thresholds is the nineteenth topic. It does not bind the line — SOTA-036, SOTA-038, SOTA-280 and SOTA-281 correctly do not take it — and saying so is the point. The row stays until the relation is fixed.

What this says about the warn-first bargain

The row had been in unbound-lineage.md since the invariant was declared, and was read the day a lint class put it in front of someone. The report was doing its job and nobody was reading the report. That is the argument for the class, and it is also the argument against the reflex it invites: the first thing a new warning asks for is the cheapest thing that clears it, and here that would have been one wrong tag on SOTA-036 and a topic the record would still be missing.


Grepping a library against the registry finds the right gaps and the wrong matches

2026-09-23 01:43:27 · curation · record

#183 asks the record to learn from what the big repositories implement. Before working thirteen of them, one — vLLM, as #287 — to find out what the method actually yields.

What the pass does

raw.githubusercontent.com is reachable from a session; the GitHub API is 403 through the proxy. So enumeration is fetching known index files. vLLM’s docs/features/README.md carries a feature-by-feature compatibility matrix naming fifteen, and docs/features/quantization/README.md names nine more quantization backends. Twenty-one features, taken as the unit.

Matching them against 351 practices by regex over each practice’s title, summary and body: fourteen matched, seven did not.

The seven gaps are real

None of AWQ, prefix cach, RadixAttention, expert parallel, CUDA graph or GGUF appears anywhere in record/practices.d/ or record/literature.d/. Checked loosely, not just through the matcher.

The one that says most is AWQ. GPTQ is in the record three times; its direct competitor, published a year later and at least as widely served, is in it zero times. That is not a judgement the record made — nothing weighed the two — it is a hole that looks like a judgement, which is the failure a coverage pass exists to find.

Beam search and multimodal serving inputs are gaps the record may be right to have: the first is declining rather than emerging, and the second is a capability rather than a recommendation. A gap is a question, not a worklist item.

The fourteen matches are mostly wrong

This is the part worth writing down.

Eighteen matched practices carry (absent), unassessed or unreplicated consensus — which looks like a rich seam until the rows are read. SOTA-143 matched FP8 because µP’s body mentions FP8 in passing. SOTA-157 matched speculative decoding because a masked-diffusion practice discusses draft models. SOTA-248 matched INT8 through a sentence about softmax clipping. None of the three is a thing vLLM implements.

A practice body mentions a technique for many reasons, and only one of them is “this practice is about it.” Matching prose finds the mention; the question is about the subject. So the mapping is a judgement per feature, not a grep — the grep is a candidate generator whose precision is poor and whose recall is what makes it worth running, because the seven gaps it found are real and were found in one pass.

The finding that pays for the exercise

SOTA-105 (PagedAttention) and SOTA-113 (continuous batching) carry no consensus field at all.

Those are the two most universally adopted serving techniques in the field. The record has never assessed either. And that is the pattern rather than the exception — consensus is absent on 136 of 351 practices and unassessed on 24 more, 46% of the registry.

Neither is moved here. One repository is thin evidence for a claim about what the field does, and #289 checks seven more; moving them on this pass would be the sloppiness DP-005 is about, committed while citing DP-005. The pilot’s job was to find out whether the seam exists. It does.

What this tells #288

The ADR has to decide where library evidence lives. The pilot says prose is not enough on its own: the interesting output is a count — 21 features, 14 matched, 7 absent, 2 headline practices unassessed — and a count that lives in consensus_note sentences cannot be recomputed, diffed or re-run. Whatever #288 chooses has to survive #291 asking the same question again in three months and getting a different answer.


Deciding where one sentence should live found three defects the pilot could not

2026-09-23 02:34:29 · curation · record

#288 had a small question: a repository implements a technique — where does that fact go? The pilot (#287) had already ruled out guessing, so this was meant to be twenty minutes of schema.

It was not. The answer is in ADR-058 and the interesting part is everything that turned up on the way there.

The field that already exists cannot take it

implementations: looked like the obvious home, and reading its values killed that in one query. 85 distinct values across 84 practices — near-zero reuse, which is what a free-text field looks like when nobody can tell what it is for. And the values are four kinds of thing:

models       llama2, PaLM, GPT-3, DeepSeek-V3, bert, t5, ViT-22B
methods      NeRF, CycleGAN, Progressive Distillation, DoReMi, TracIn
libraries    vLLM, diffusers, bitsandbytes, XGrammar, pyreft
prose        "the 4-bit path in the major PEFT libraries"

The methods row is the one that gives it away. NeRF and CycleGAN are techniques with their own notes; calling them implementations of a practice says something the record already says better with a relation. And a sentence in a list field is a sentence that escaped.

Declared in no scheme, so nothing ever complained. That is #293.

The field the decision needs is undeclared too

consensus_note: — 206 practices carry it, no scheme mentions it. Fine while it was decoration; not fine once a decision makes it the place where a consensus reading’s grounds live. So: declare it.

luria refused, and the refusal is interesting. A field’s type comes from the constraint it carries — vocabulary, many, unique, required_when, groups. An optional prose field carries none of those, so its blurb is unreachable; you cannot say what a field is for without also saying what it is checked against. PlainField carries a blurb key precisely to describe fields like this, and the validator makes it impossible to use. LU-#319.

And the declaration that would work is eight documents away

The honest declaration is required_when on every non-default consensus: assert the field has converged and you have to say on what grounds. Measured: 191 practices assert a non-default reading, 183 carry a note, 8 do not.

Those eight are not marginal. Four say universal — “not doing it is what needs justifying”, the strongest claim the axis makes — on nothing at all: pre-norm, RMSNorm, LoRA, latent diffusion. All plausible, which is exactly why they need checking; SOTA-182 may even be an overclaim as written, since LayerNorm is still standard in much of vision and the title does not say otherwise.

Not written here. Eight consensus assessments are editorial judgement about what the field believes, which is the highest-stakes claim this record makes, and doing it as a side effect of a schema change at the end of a long session is how DP-010 happens. #294.

What the episode is actually about

None of the three was visible from the pilot, which enumerated 21 features against 351 practices and found a clean coverage gap. They were visible only from trying to write down where a single sentence belongs.

The pilot asked what is out there. The ADR asked what does this record already mean, and that is the question that finds the record’s own defects — which is the argument for CLAUDE.md’s rule that the fragment gets filed in the same contribution as the work, and for writing the decision at all rather than just making it.


Three adoption indexes agree on three things, and only one of them is a technique

2026-09-23 03:52:16 · curation · record

#289 asked for a sweep of seven repositories where presence means people use the thing. Two findings changed what that sweep is.

Only three of the seven can be enumerated at all

vllm publishes a feature compatibility matrix. diffusers exports every scheduler it ships. transformers tabulates its quantization backends. Those three are machine-readable.

sglang, Megatron-LM and pytorch-lightning are not, and it is not a parsing problem. Their READMEs’ headings are News, About, Getting Started, Contributing — navigation. What those projects implement is in prose, and reading it is reading, not extraction. ComfyUI has a Features section and is the one that could be added cheaply.

That is worth saying plainly because the issue assumed seven comparable sweeps. There are three, plus four projects that want a person.

The adoption/catalogue split is per index, not per repository

#183 divided the repositories in two: adoption repositories, where presence means people use the thing, and catalogues, where it means somebody found it interesting. transformers is obviously an adoption repository — and its quantization table lists 22 backends of which the record holds zero: AQLM, EETQ, FBGEMM_FP8, HIGGS, HQQ, Quark, SINQ, SpQR, VPTQ, AutoRound, FP-Quant, GPT-QModel, optimum-quanto, torchao…

Twenty-two absent techniques is not a twenty-two item backlog. It is a list of integrations somebody contributed, which is the same thing x-transformers’ README is and exactly what #290 was told to be careful about. Same repository, different index, different kind — so the split lives on the file being read, not on the project reading it.

What survives: the cross-repository intersection

The signal that does mean something is an item two independent indexes both carry. Of 91 distinct items across the three, that is three:

iteminverdict
AWQtransformers, vllma technique, and absent
bitsandbytestransformers, vllma library, not a technique
GGUFtransformers, vllma container format, not a technique

Three of ninety-one. That ratio is the finding: presence in one index is nearly worthless, and agreement between two is rare enough to be worth reading.

The two real gaps, and the one that was a naming artifact

AWQ is a genuine hole. GPTQ is in the record three times; its direct competitor, published a year later and served at least as widely, is in it zero times. Nothing weighed them — SOTA-318 mentions “activation-aware SVD” and is a low-rank compression practice, which is a different technique that happens to share a word.

bitsandbytes is a library name covering two techniques, and the record holds one of them. NF4 is SOTA-230, sourced to LIT-378 and LIT-055. LLM.int8() — the outlier-decomposition path, which is what load_in_8bit=True actually does — is absent. So the row was simultaneously a false positive and a true one, and only reading it apart showed which.

GGUF is a container format. Practitioner-adopted, no technique to recommend, and the k-quant schemes inside it have almost no published evidence. Declined, and the reason is worth writing down because it will come back: this record files claims about what to do, and “use this file format” is not one until somebody publishes a comparison.

Not filed here

AWQ and LLM.int8() both want a note and a practice, and the network cannot reach arXiv from this session — luria lint reports 140 identifiers nothing has verified. Filing two papers whose metadata cannot be checked is how a wrong identifier enters the record, and ADR-009 exists because two papers once reached the old corpus with no identifier at all. The worklist is on #289; the filing waits for a session that can verify it.


The sweep said AWQ; filing it needed the paper, and one row was two techniques

2026-09-23 04:03:54 · curation · record · taxonomy

#289 produced a two-item worklist from 91 candidates. Filing it is where the sweep’s output stops being a list and starts being claims.

The network story, corrected

I reported on #299 that the network could not reach arXiv, citing luria lint’s “140 identifiers nothing has verified — upstream could not be reached”. That was the right caution from the wrong evidence.

A direct request to the arXiv API returns 200 and both identifiers verify: 2306.00978 is AWQ: Activation-aware Weight Quantization for LLM Compression and Acceleration, 2208.07339 is LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale. luria remotes --resolve returns HTTP 406 on every identifier it tries.

So it is not the network. It is that luria’s remote cannot get through where a plain request can — and the lint’s message, which says “upstream could not be reached”, reads as the former when it means the latter. Worth knowing before the next session declines to file something for the same reason.

One row was two techniques wearing one name

The sweep flagged bitsandbytes because both vllm and transformers carry it. That is a library, not a technique, and the obvious move is to discard the row.

Reading it apart instead: bitsandbytes ships NF4, which the record has held as SOTA-230 since the QLoRA unit, and LLM.int8(), which it had not. The row was a false positive and a true one simultaneously, and discarding it as “that’s a library” would have lost the real gap.

The general shape is worth keeping: when an adoption index names a package rather than a technique, the question is not whether to discard it but how many techniques it is.

What the papers say that the sweep could not

The sweep can find a name. It cannot tell you what the claim is, and in both cases the claim is narrower than the name suggests.

AWQ’s argument is about generalization, not accuracy. Both it and GPTQ are one-shot post-training methods at similar bit widths, and a reader comparing headline perplexities is reading the wrong number. AWQ fits nothing to its calibration set — no backward pass, no reconstruction — and its case for itself is that this is why it survives instruction-tuned and multi-modal models. That is a robustness claim, it is the one worth checking, and this record holds no independent test of it. compared_against is declared because the paper ran the comparison, which is ADR-011’s bar.

LLM.int8()’s result is memory, not speed, and the paper says so — “175B on a single server with consumer GPUs”, not throughput. The extra 16-bit path costs time. Practitioner reports that int8 inference is slower than 16-bit at small batch are consistent with the method rather than evidence against it, and a practice that did not say so would mislead.

And “without any performance degradation” is an absence-of-evidence claim about one evaluation suite. It is a strong result. It is also exactly the shape DP-010 warns about — the most citable sentence being the least supported — so both the note and the practice separate the part later work built on (the emergent-outlier characterization) from the part a harder evaluation could move.

What the record now says about post-training quantization

Three practices where there were two: GPTQ’s error compensation (SOTA-185), AWQ’s activation-chosen salience scaling, and LLM.int8()’s outlier decomposition. The first two are compared_against each other because their paper did it; the third is a different problem — int8 arithmetic rather than weight-only 4-bit — and is not a competitor to either, which is why no comparison is declared.

That is the shape the sweep was for. It did not tell us any of this; it told us where to look.


The catalogues’ best yield was not practice candidates, it was the substrate the record never filed

2026-09-23 04:28:25 · curation · record · taxonomy

#290 asked for a triage of four catalogue repositories: resolve every arXiv identifier their READMEs cite, say what the repository calls each one, and give every missing identifier a disposition. Explicitly a candidate queue and not a filing backlog, and explicitly with a declined count, because a triage that declines nothing did not triage.

128 distinct identifiers. 22 already held, 106 missing. 25 promoted, 81 declined.

What the pass was expecting, and what it found

#289 had established the reading: an adoption index says people converged, a catalogue says one person found something interesting, and only the first is evidence about consensus. The expectation going in was therefore that a catalogue is low yield — a list of variants nobody runs, which is exactly the failure #183 names, 62 unadopted architecture variants filed as practice candidates.

That expectation was right about the variants and wrong about the yield. The two strongest findings of the whole pass are:

  • 2010.11929 (ViT) is not in the record, and 47 held documents say “ViT”.
  • 2103.00020 (CLIP) is not in the record, and 45 held documents say “CLIP”.

Neither is a practice candidate. Neither would ever appear in a consensus sweep, because neither is a technique anybody would file a recommendation about at this point — they are the background that later documents assume. And that is precisely why no previous audit found them. #202 looks for practices filed under a topic no source holds; #289 looks for techniques several libraries ship. A substrate paper supports no practice of its own and is shipped by nothing, so it is invisible to both.

Three more of the same kind turned up once the test was made mechanical — grep the record for the paper’s distinctive name and count the documents that lean on it without holding it:

identifierheld documents that depend on it
2509.26030 — Muon vs Adam on tail-end associative memory59 say “Muon”
1909.11942 — ALBERT12 run experiments on it; THEORY-065 leans on its layer sharing
2103.14030 — Swin9 use it as an experimental backbone

The generalisation worth keeping: a catalogue’s value to this record is not the frontier it lists, it is the floor it stands on. The variants at the top of a lucidrains README are a reading list. The papers in the bibliography that everybody already assumes are the ones the record is quietly missing.

The decision rules, so the next pass does not re-derive them

Promoted for one of three reasons: the record already depends on it and does not hold it (substrate); it is a negative or controlled result, which is what DP-005 and DP-009 say this anthology is for; or it is the named origin or successor of something already held — 2112.05682 before FlashAttention, 2010.04245 before LIT-088’s QK-norm, 2211.01095 after LIT-076.

Declined under four rules, with counts:

  • D-variant, 27 — an architecture variant with a feature section and runnable code, where no held document depends on it and the incumbent practice is already filed. This is #183’s warning made operational, and it is the largest decline bucket for the reason #183 predicted.
  • D-biblio, 27 — cited in the bibliography and never given a feature section. One person’s reading, mostly 2025–2026 preprints. #289 measured that a catalogue is not consensus evidence, and this is where that bites hardest.
  • D-cluster, 18 — a method that only means something once a cluster the record has not opened lands. Fourteen of these are captum’s attribution methods, declined behind the two promoted from the same list: file 1703.01365 and 1810.03292 first, and revisit the rest only if that opens.
  • D-roster, 7 and D-self, 2 — a checkpoint row or dataset card, which is not a technique claim at all, and the repository’s own paper.

A decline is a decline of the candidacy, not of the paper. Each carries the trigger that would reverse it.

captum stays a catalogue; open_clip is a third thing and was dropped

#290 asked whether these two belong in the catalogue class at all, and said to decide before spending the pass. The pass is what decided it, which is the right way round but worth saying plainly.

captum is a catalogue, and its being Meta’s production library does not make it an adoption index. Its References of Algorithms section is the cleanest of the four — one line per public class, naming the paper. The argument that settles the class is in the README itself: it links 1810.03292 (Sanity Checks for Saliency Maps) and 2106.07475 (Investigating sanity checks…), both of which examine methods it ships anyway. A list that carries its own critiques is enumerating a literature, not reporting a convergence. Completeness is the point, so it is a reading list with an API.

open_clip is neither, and is now deliberately absent from the manifest. Nine of its fifteen missing identifiers are checkpoint rows in the pretrained table or dataset cards — SigLIP2, DFN, PE, LAION-400M, LAION-5B, DataComp — and two more are the repository’s own papers. The arxiv extractor cannot tell a checkpoint from a technique, so what it reads there is a model roster with a bibliography attached: a third kind of index, and not one #183 has a reading for. A roster is worth one person’s eye once and is a bad thing to scrape every run, because every new checkpoint grows it and none of the growth is a technique. The one-off pass took what it had — CLIP, WiSE-FT, SigLIP, FLIP — and the manifest header now says why it will not be back.

Two traps for the next person

The heading a catalogue files a citation under names the feature it supports, not the paper. Twenty-three x-transformers identifiers had no bibtex entry, so the first pass labelled them by the nearest ### heading. Four of the twenty-three came out materially wrong: 2405.15071 is Grokked Transformers are Implicit Reasoners filed under “Weight-tied Layers”, 2410.01104 is Softmax is not Enough under “Explicit Sparse Transformer”, 2305.19268 is Intriguing Properties of Quantization at Scale under “QK RMSNorm”, and 2111.05498 is Attention Approximates Sparse Distributed Memory under “Cosine Sim Attention”. Two of those four were promoted after resolution and would have been declined on the heading. Resolve the title before ranking. A heading is a claim about the library, not about the paper.

arXiv’s 406 is throttling, and I nearly filed a luria bug saying otherwise for the second time. The previous entry recorded that luria remotes --resolve gets HTTP 406 where a plain request gets 200, and read that as a difference between luria’s client and curl. It is not. A plain urllib request got 406 immediately after a curl for the same endpoint got 200, and a 429 followed on the next attempt. Resolving all 106 titles took a curl loop with a 5-second gap between batches and exponential backoff on failure — and luria’s own output had already said throttled — HTTP 406 the whole time. Twice now the diagnosis has been rediscovered the hard way from luria’s correct message. The rate limit is the finding; there is no bug.


The record had used ViT and CLIP for 92 documents without holding either

2026-09-23 05:25:56 · curation · record · taxonomy

#290’s triage put ViT and CLIP at the top of the queue as defects rather than candidates: 47 documents in this record say “ViT” and 45 say “CLIP”, and the record held no note for either paper. This entry is the filing, and the two things reading them turned up that the triage could not have.

The first: the practice is never the architecture

Both papers gave a practice whose citable form is wrong, and in both cases the correct form was in the paper and got dropped on the way out.

ViT is cited as “transformers beat CNNs”. The paper does not say that. It says large-scale training trumps inductive bias, and then measures where “large” starts: with hyperparameters and regularisation held fixed on random JFT subsets, ViT-B/32 is much worse than a comparable ResNet-50 at 9M images and better at 90M+. Pre-trained on ImageNet-1k, ViT-Large is worse than ViT-Base. A domain prior is a substitute for data, and below the crossover it is the better bet. SOTA-358 therefore states the threshold, not the architecture — because “use a ViT” is a fact about 2020–2026 defaults and the trade survives the next backbone.

CLIP is cited for the contrastive objective. The paper’s justification for it is an efficiency ladder nobody restates: predicting the caption’s words learns 3× slower than predicting a bag-of-words encoding of the same text, and swapping predictive for contrastive gives a further 4×. That is a claim about the cost of a supervision target, not about representation quality, and SOTA-359 files it that way.

This is the same shape twice. A paper’s most transferable claim is usually the conditional one, and conditionals do not survive citation. Worth watching for on the rest of #290’s queue, which is full of papers the record will meet through what other documents say about them.

The second: a consensus note that counted the record

Reading CLIP turned up a live error in SOTA-196, which says to report zero-shot and in-distribution performance separately because a hyperparameter can move them in opposite directions. Its consensus_note read:

One clean measurement of the conflict, in a setting where both metrics mattered.

That was true of what the record had read and false about the literature. CLIP measured the same conflict a year earlier and larger: fitting a supervised linear classifier on ImageNet features raises ImageNet accuracy by 9.2% — “roughly 3 years of improvement in SOTA”, the authors say — and produces no average improvement across seven natural distribution shifts. Not noise, either: the gain concentrates on ImageNetV2, the one shift dataset built to follow ImageNet’s own construction, while accuracy falls 4.7% on ImageNet-R, 3.8% on ObjectNet, 2.8% on Sketch and 1.9% on ImageNet-A. CLIP also sweeps 0- through 128-shot and fully supervised on the same features and finds effective robustness decaying monotonically, so the trade is not a property of one hyperparameter’s setting but of how much distribution-specific supervision the model has seen at all.

The generalisable failure: a consensus reading is a judgement about a community, and it is easy to write one that is really a judgement about the corpus. luria.yaml already warns that such a reading “needs grounds”, and this one had grounds — they were just grounds about the wrong population. Every unfiled substrate paper is a chance for this to happen again, which is an argument for #290’s tier A beyond tidiness.

Two smaller things worth keeping

Both papers’ limitation sections are better than their abstracts, and CLIP’s is a DP-010 specimen. The sentence everybody cites — zero-shot matching a supervised ResNet-50 on ImageNet — is in the abstract. §6 says that baseline is “well below the overall state of the art” and estimates ~1000× more compute would be needed for zero-shot CLIP to reach it; that CLIP gets 88% on MNIST, beaten by logistic regression on raw pixels, because nothing resembling MNIST is in the pre-training data; that performance drops from zero-shot to one- and two-shot; and that the 27-dataset suite is “somewhat haphazardly assembled” and “undeniably co-adapted” with CLIP, with full validation sets repeatedly queried during development. ViT’s equivalent is quieter: its own self-supervised pre-training landed 4 points behind supervised, and contrastive pre-training was left as future work.

A consensus reading verified in code beats one inferred from prominence. For SOTA-357 (prompt templates and embedding-space ensembling) the grounds are a file: open_clip’s zero_shot_metadata.py at 2d53460 holds OPENAI_IMAGENET_TEMPLATES with exactly 80 entries — the count the paper reports ensembling — plus a SIMPLE_IMAGENET_TEMPLATES of 7. A five-year-old prompt list surviving verbatim as the default evaluation protocol is a fact about adoption that took one curl to check, and is worth more than any amount of “widely used”.

The network, third time

arXiv threw HTTP 406 again on the bulk metadata call and went through on the same URL via curl with backoff. That is the throttling the previous entry reached on the second attempt, and luria’s own throttled — HTTP 406 said so before either. Full texts came from ar5iv.labs.arxiv.org/html/<id>, which returned 200 for both papers and is the cheaper route when the reading matters more than the metadata.


The objective under CLIP had no note, and its most-quoted sentence has a ceiling

2026-09-23 15:53:11 · curation · record · taxonomy

Unit A of #304, which audited 29 papers in the self-supervised representation-learning lineage and found the record holding one.

The gap was a vocabulary gap, not only a coverage gap

Before this, InfoNCE, negative sampling, siamese and triplet loss returned zero matches anywhere in the record. That is a different kind of absence from “we have not filed SimCLR”. The record held SOTA-359, whose source note LIT-588 explicitly credits Oord et al. for the loss it uses, and SOTA-250, which recommends predicting representations rather than pixels — two practices resting on an objective the record could not name.

Worth generalising: a coverage audit that counts papers will miss the case where the missing document is a word. The #290 substrate test (how many held documents lean on it) found ViT and CLIP because the names were in the prose. It cannot find a paper whose absence means the prose never got written.

The arithmetic the field dropped

CPC derives I(x;c) ≥ log(N) − L_N and remarks that the bound “becomes tighter as N becomes larger”. What it does not say, and what follows in one line, is that L_N is a cross-entropy over N classes and therefore non-negative — so the bound can never certify more than log N. At CLIP’s batch of 32,768 that is about 10.4 nats, whatever the image and its caption actually share.

Two sentences in the paper get merged downstream and they are not the same:

  • the estimator’s optimum is independent of N — the paper proves it;
  • the MI certificate is bounded by N — the paper states it, with the ceiling left implicit.

The folklore that came out is “more negatives is better”, which is a claim about the second, saturates, and gets applied as though it were about the first. This is DP-010 in its exact shape: the citable sentence is the one whose qualification lives in the algebra rather than the prose. It is filed as THEORY-085, separately from the practice, because ADR-031’s split is precisely for this — the practice can be right while the reason given for it is the wrong reason, and a live literature argues that the MI framing is the wrong reason.

A relation that needed a tag, handled the way ADR-049 asks

SOTA-359 (CLIP’s caption practice) plainly extends the new general one — LIT-588 cites Oord for the loss, and CLIP’s recipe is the image-text case. But the two shared no tag, so the edge would have come back unbound.

The resolution was not to invent a label. training-optimization is true of SOTA-359 on its own terms: that practice’s entire justification is a training-efficiency measurement, 3× and 4× in rate of transfer per unit compute, and someone browsing that topic would be right to expect it. The history note says the relation is what prompted the re-reading, which is the honest version — ADR-049 wants a true topic added, and wants it visible that the relation is why somebody looked.

The near-miss worth recording: the tempting move was to put multimodal-learning on the CPC practice, since CPC runs on speech, images, text and RL. That would have been the “nearest wrong tag” failure. CPC runs one mechanism on four modalities separately; multimodal-learning is about what changes when one model takes in more than one signal at once. Four unimodal experiments are not a multimodal claim.

Filing note

The practice takes representation-and-encoding as primary, following SOTA-250, which is the record’s existing precedent for a pretraining- objective practice. No new topic was needed. That is worth saying because the first instinct was that the vocabulary had no word for “training objective” — it does not, exactly, but the existing reading of representation-and-encoding as how the representation is made already covers it, and one precedent is better than a twenty-second topic.


Two groups found the same batch-norm leak, and the metric that should have caught it endorsed it

2026-09-23 16:23:09 · curation · record · taxonomy

Unit B of #304: SimCLR and MoCo, read together because they are the fork the field actually faced — large batch with in-batch negatives against small batch with a queue — and reading either alone makes the other’s design look arbitrary.

The finding worth extracting: a monitor that moves the wrong way

Both papers independently discovered that batch normalization lets a contrastive model cheat, within three months of each other, and shipped different fixes. That is already worth two sources on one practice (ADR-010). What makes it worth an entry is how they found it.

The pretext-task accuracy is the obvious thing to watch during contrastive pretraining. Under this bug it goes up, faster, and the representation gets worse. MoCo’s Figure A.1 is the picture: the dictionary-lookup accuracy tracking high while a kNN monitor on actual classification stalls, and “training longer without shuffling BN overfits more”. SimCLR’s phrasing is the same finding from the other side — the model can “improve prediction accuracy without improving representations”.

So the diagnostic is not that the loss looks wrong. It is that the loss looks unusually right. Both groups got there by noticing that a good-looking run produced a bad representation, which is a thing you can only notice if you are measuring something other than the objective.

The generalisation, which is what SOTA-364 states: this is a risk whenever a sample’s target can be inferred from which batch it is in — any in-batch ranking or discrimination loss with a normalization that mixes samples. The specific fix is less transferable than the diagnosis.

Solving the task and learning the representation are different events

SimCLR says the same thing in a second, unrelated place, and the repetition is what makes it a principle rather than an anecdote. On augmentations: no single transformation suffices “even though the model can almost perfectly identify the positive pairs”. Crops of one image share a colour histogram, so colour alone identifies the image, and the network takes that route.

Twice in two papers, the pretext-task metric and the representation quality came apart, in opposite directions from what you would guess. A self-supervised objective is a proxy, and a proxy that is too easy to satisfy is the failure mode, not the success condition.

A consensus reading that had to be split

SOTA-363 bundles MoCo’s two mechanisms because the paper’s own argument bundles them — a queue buys size and is worthless without something buying consistency. But the two halves had different fates, and averaging them into one reading would have been false in both directions:

  • the slow key encoder converged so thoroughly it left contrastive learning entirely and became the EMA teacher;
  • the queue did not — SimCLR dropped it for a large batch, CLIP uses in-batch negatives at 32,768, and where memory is plentiful it is often skipped.

Filed emerging with the split written into the note rather than picked. The general lesson for the remaining #304 units: when a paper’s contribution is two mechanisms it argues are inseparable, the consensus reading is about each of them, and they can diverge.

Smaller things kept

The negative count is not a quality dial, for two independent reasons. THEORY-085 gives the information-theoretic one — the MI bound is capped at log N. SimCLR gives the empirical one: larger batches help markedly at 100 epochs and the gaps “decrease or disappear” with longer training, so more negatives buys convergence speed. Two different arguments landing on the same caution is the kind of corroboration worth noticing, because neither is downstream of the other.

A linear probe needs its own hyperparameters. MoCo reports the optimal probe learning rate as 30 with weight decay 0, and says this implies the feature distribution differs substantially from a supervised model’s. A probe run with supervised-style settings is not measuring what it claims to — a candidate practice this unit did not file, noted here so the reason is on the record rather than the omission being silent.

SimCLR’s own summary of its contribution is a warning about ablations: “almost all individual components of our framework have appeared in previous work… The superiority of our framework is not explained by any single design choice, but by their composition.” A paper whose result is a composition is one the record should resist filing as a single practice, which is why this unit produced four.


Four methods, four accounts of why they do not collapse, and a 0.3-versus-67.7 disagreement

2026-09-23 16:38:48 · curation · record · taxonomy

Unit C of #304: BYOL, SimSiam, Barlow Twins, VICReg. The unit the audit ranked third and the one that turned out to be the most THEORY-shaped, which is why it produced a Proposed document rather than another set of confident practices.

The contradiction, stated plainly

A joint-embedding loss with no negatives has an exact trivial minimum. Four methods avoid it and reach 74.3 / 67.7 / 73.2 / 73.2 on ImageNet linear evaluation — within a couple of points of each other — and each explains its success differently and incompatibly:

  • BYOL: there is no loss jointly minimised over both parameter sets, so there is no reason to reach the trivial minimum. “Similar to GANs.” Essential: predictor and EMA target.
  • SimSiam: an EM-like alternating optimisation, “analogous to k-means”. Essential: the stop-gradient. It argues the momentum encoder’s apparent importance was a confound, because a momentum encoder “is always accompanied with stop-gradient”.
  • Barlow Twins: the off-diagonal cross-correlation penalty makes constant outputs unavailable. Essential: neither asymmetry nor negatives.
  • VICReg: a hinge on per-dimension standard deviation forbids collapse arithmetically. Essential: none of the above, and it lists six mechanisms it does without.

And one disagreement is not interpretive at all. BYOL reports 0.3% accuracy when its momentum encoder is removed. SimSiam is that removal and reports 67.7%. Two careful groups, nominally the same ablation, three orders of magnitude apart, unresolved in either paper.

Why the record should not pick a side, and what it filed instead

The tempting move was to read the four and declare a winner — SimSiam’s account is the most parsimonious, Barlow Twins and VICReg look like the decisive counterexamples to asymmetry being fundamental. That would have been a judgement dressed as a finding.

The reason to refuse is structural, and it is the generalisable part. Every piece of evidence here is a paper removing components of its own method under its own recipe — its own learning rate, weight decay, projector width, augmentation set. BYOL’s own aside, that removing weight decay makes both BYOL and SimCLR diverge, is the tell: a great deal of these recipes is load-bearing for reasons unrelated to collapse. A 0.3%-versus-67.7% gap on the same nominal ablation is exactly what a recipe-level confound looks like, and no amount of reading the papers against each other dissolves it.

So THEORY-087 is Proposed, and its promote_when names the experiment none of the four ran: one codebase, one recipe, the candidate mechanisms varied independently. It also says what would not settle it — a fifth account that fits its own method — because that is the kind of paper this literature reliably produces.

The practice it explains, SOTA-365, is Active. A converged recipe with a contested explanation is the pairing ADR-031 exists to allow, and this is the cleanest instance the record has.

The metric endorsed the failure, again

Third time in three units. SOTA-364 (unit B): the batch-norm leak makes training loss fall faster. SOTA-361 (unit B): the model “almost perfectly identifies the positive pairs” while the representation is poor. Now SOTA-366 (unit C): removing the stop-gradient sends the loss to the minimum value the objective can take, immediately, and that is collapse.

Stated as a rule: in self-supervised pretraining, the objective is a proxy, and a proxy hitting its floor is the failure mode rather than the success condition. Every one of these three was found by measuring something the objective does not optimise — a kNN probe, a transformation-recovery probe, an embedding standard deviation.

SOTA-366 is the cheapest of the three and the one worth internalising: the per-channel standard deviation of the ℓ2-normalised embedding is 0 when collapsed and 1/√d when scattered on the sphere, and 1/√d follows from the embedding width alone — so it is one of the rare diagnostics with an absolute scale, needing no baseline run to interpret.

A consensus column left empty on purpose

SOTA-366 is filed unassessed. The derivation is arithmetic, the check is three lines, and it is plainly good advice — but this reading gives no grounds about whether practitioners actually run it, and luria.yaml’s own warning is that “a value invented to fill the column is worse than an admission”. Recorded here because the temptation to write emerging on the strength of the advice being good rather than adopted was real, and that is precisely the confusion the column is designed to prevent.


The record was recommending two instruments it did not hold, and I named the wrong document for it

2026-09-23 18:01:35 · curation · record · taxonomy

Unit D of #304: SwAV and DINOv2, ranked by the audit as substrate defects rather than candidates.

A correction to the audit, made by reading the thing properly

#304 and PR #303 both said the case for these two rested on SOTA-338 recommending measurement “in a non-ImageNet feature space (CLIP, SwAV or DINOv2)”. That was wrong in two ways at once, and both ways understate it.

  • Wrong field. SOTA-338 names them in its promote_when — the condition under which a Proposed practice would be promoted — not in a recommendation.
  • Wrong document. The practice that actually recommends this is SOTA-337, which is Active, whose body says to “report a CLIP or SwAV Fréchet distance beside FID” when an ImageNet-pretrained network has touched a generator’s training, and whose measured table carries a SwAV FD column.

So the real state was worse than reported: an Active practice telling the reader to use an instrument the record had no note for, plus a Proposed one that could not have been promoted without a paper the record did not hold. Both are now held.

The generalisable bit is about how a coverage audit reads its own evidence. The audit found the right two papers from a grep for names, then attributed the dependency to the first document the grep returned. Name proximity is enough to find a substrate defect and is not enough to describe one — that needs reading which field the name sits in, and whether the document is asserting or merely conditioning. Same mechanism as unit A’s finding that an audit counting papers cannot see a missing word: the cheap signal locates, it does not characterise.

SOTA-337’s hedge also turned out to be doing real work. It says SwAV “is partly independent: self-supervised, but on ImageNet images”. Reading SwAV confirms it exactly — the objective uses no labels, the 75.3% headline is ImageNet-pretrained, and the paper’s own experiment on random non-ImageNet images is a separate and much smaller result (+1.3% over scratch). A qualification that survives contact with the source is worth noticing, since most do not.

A mechanism that prevents collapse, and causes it

SwAV’s equipartition constraint is the fifth account in THEORY-087, and it comes with the best single sentence in the whole cluster. The entropy regularisation ε smooths the code assignment, and the paper reports that “a strong entropy regularization generally leads to a trivial solution where all samples collapse into an unique representation and are all assigned uniformly to all prototypes”.

The knob introduced to prevent collapse has a setting at which it causes it. Not a different failure, the same one. That is worth holding onto when reading any of these mechanisms as explanations: a mechanism whose sign flips with a hyperparameter is not obviously a mechanism at all.

What a well-resourced group does when there is no theory

The other unit-D addition to the theory is DINOv2, and its contribution is negative. With five competing accounts of collapse-avoidance in the literature, DINOv2 stacks them: KoLeo (spread the features, in the variance family) and Sinkhorn-Knopp centering borrowed from SwAV (in the equipartition family) and DINO’s teacher-student asymmetry. Three ablation rows, each worth a fraction of a point, no account offered.

That is a reasonable engineering response and it is evidence for nothing. Recorded because it is the honest reading of the strongest model in the lineage: the group with the compute to settle the question did not try to, and the field’s best features came out of additive assembly rather than understanding.

The transplant test, supplied by the introducing paper

SOTA-370 (multi-crop) is filed converged on grounds the record rarely gets this early: SwAV applied its own component to SimCLR, DeepCluster and DeepCluster-v2 — three objectives, one of them contrastive with negatives — and gained 2–4 points in each. The introducing paper ran the replication.

Only one other component in this whole #304 reading has that property: VICReg’s variance term, which its own paper reports stabilising other methods. Two components out of roughly a dozen. When a paper tests its component outside its own method, the record should weight that far above the headline number, because the headline is a composition and the transplant is the claim.


The record argued against MAE for a year without holding it, and two of its parts survive the argument

2026-09-23 18:17:21 · curation · record · taxonomy

Unit E of #304. A different shape of substrate defect from the previous ones, and worth naming as its own kind.

A fourth way to be missing

The audit’s test was “does a held document lean on it”. Units A–D turned up three variants: a paper used as background (ViT, CLIP), a paper used as a measurement instrument (SwAV, DINOv2), and a word the record could not say (InfoNCE). This one is the fourth:

a paper the record holds a position against.

SOTA-250 says to predict representations of masked regions rather than their pixels, and names MAE as the competitor it beats on compute — “more efficient than a ViT-H/14 pretrained with MAE”. LIT-216 is the paper that ran that comparison. So the record held the winner of a named comparison and not the loser, which is a worse state than holding neither: a reader could see the verdict and not the defendant.

compared_against now runs from LIT-216, which is where ADR-011 puts it — the paper that ran the comparison carries the edge.

The move that made the unit work

The tempting framing was MAE-versus-I-JEPA, and it would have been wrong. SOTA-250’s position is supported by the evidence the record holds, and this unit does not disturb it.

What is worth filing is the part of MAE that is orthogonal to the thing being argued about. The argument is over the target — pixels or representations. Two of MAE’s contributions say nothing about the target:

  • the encoder runs on visible tokens only, mask tokens go to a disposable decoder;
  • the masking ratio is derived from the signal’s redundancy.

And the check that this is right: SOTA-250’s own architecture has the same asymmetry — a context encoder that never sees the masked regions and a separate predictor. Two objectives that disagree about the target, one structure. That is the signature of a design that belongs to the computation rather than to the claim, and it is the test worth reusing: when two papers argue, look for what both of them do anyway.

A theory that is easy to overrate

THEORY-088 files MAE’s information-density account — language is dense so 15% is enough, images are redundant so you need 75%. It is a satisfying explanation and it is filed Proposed, because the evidence is two points from two literatures, chosen by different groups with different architectures, protocols and compute budgets, with “information density” invoked qualitatively and never measured on either signal.

The promote_when is written to exclude the paper this literature would otherwise produce: a fourth modality where a high ratio works would not settle it, because the claim is that the optimum tracks redundancy, which needs a correlation and not another point.

Worth separating clearly: SOTA-373 is Active while this is Proposed, and the split is unusually clean. A wrong account of density would leave the recommendation untouched, because “check whether an interpolator can solve your masked task” is an empirical procedure that needs no theory of density at all. When a practice can be stated as a measurement rather than as a consequence, it survives its own explanation.

The protocol disagreement, a third time

MAE’s ablations show linear probing and fine-tuning disagreeing about two different hyperparameters: the masking ratio (linear probe rises to a sweet spot, fine-tuning flatter) and the decoder depth (matters for linear probing; a single block already gives 84.8% fine-tuned).

That is SOTA-196 arriving from a third independent direction — after OWL-ViT’s learning-rate sweep and CLIP’s supervised-adaptation result. Three papers, three unrelated hyperparameters, the same finding: the protocol you evaluate with selects the optimum you find. SOTA-196 currently carries two sources and could carry a third; not done here, because MAE’s is an ablation table rather than the paper’s claim, and the record should not promote a passing observation to a source without saying why. Noted so the option is on the record rather than lost.


A consensus formed entirely inside a range, and the ceiling sat just past where everyone stopped

2026-09-23 18:48:50 · curation · record · taxonomy

Unit F of #304. SigLIP, which the audit ranked twentieth and which turned out to carry the cluster’s sharpest methodological finding.

The shape of the finding

“Contrastive learning wants the biggest batch you can afford” was settled folklore. SigLIP trained from 512 to one million and found performance saturating at about 32k — and saturating for the softmax loss too, so it is not a fact about their new loss.

The explanation for why this went unnoticed is one sentence in the paper: existing studies “stop at 64k”.

The ceiling sat just below the point where everyone stopped looking.

That is worth stating as a general hazard rather than as a fact about batch size. A consensus formed entirely inside a range is a claim about the range, and the reason nobody tests outside it is the same reason the range exists — the cost. Every study was run where the belief holds; none was run where it breaks; and the belief was reported as though it had been tested.

The record has a name-shaped gap here. DP-005 covers adoption not being evidence, DP-009 covers counting as the antidote, DP-010 covers the citable sentence being the least supported. This is a fourth: the untested extrapolation past a convention. Not filed as a principle in this unit, because one instance is not grounds for a DP, but recorded so the second instance has something to attach to.

Three arguments that could all have been wrong together

With this unit the record holds three reasons the negative count is not a quality dial, and the useful property is that none is downstream of the others:

  • THEORY-085 — the InfoNCE bound cannot certify more than log N. Information-theoretic, derived from the objective’s own algebra.
  • LIT-591 (SimCLR) — batch-size gaps “decrease or disappear” with longer training. A training-budget argument, measured on one method.
  • SOTA-377 (this) — the curve flattens at 32k, measured to 1M. Direct, empirical, on a different objective family.

Different methods, different labs, different kinds of argument. They could have disagreed and they did not. That is what corroboration looks like when the record gets it, and it is rare enough to say out loud — most of #304’s findings rest on one measurement from one group.

It also means the three should not be collapsed into one document. Each would survive the other two being wrong.

The line that keeps getting dropped

Fourth paper in this cluster with exactly one initialisation detail that is load-bearing and easy to omit:

  • CLIP: the temperature is clipped at logit scale 100, “necessary to prevent training instability”.
  • SwAV: the entropy regularisation ε must be kept low, or everything collapses.
  • BYOL: removing weight decay makes BYOL and SimCLR diverge.
  • SigLIP: a learnable bias initialised at −10, because at initialisation |B|²−|B| negatives against |B| positives means the imbalance “dominates the loss”.

None of these is the paper’s contribution and each is a sentence. The pattern is consistent enough to be a reading instruction: in a contrastive paper, find the initialisation paragraph before reading the results. Every document in this unit now carries its own such line explicitly, because that is the part a reimplementation loses and the part a note can preserve.

An unbound line, answered the way ADR-049 asks

Declaring extends: SOTA-359 on the sigmoid practice put it in a chain with SOTA-360 and SOTA-363, and the lint reported the line unbound — every individual edge bound, the whole sequence sharing nothing, which is the weaker signal ADR-049 says to read whole before acting on.

Reading it whole: the other three all carry training-optimization and the new one did not. The fix is not to drop the relation, because the relation is true — SigLIP keeps CLIP’s supervision and changes only the normalization. The fix is that training-optimization is true of the new document and was missing: its central claims are about batch size (better below 16k, which batch sizes are reachable at all) and about an initialisation detail that keeps early training stable. Someone browsing that topic would be right to expect it.

Third time this session the answer to an unbound relation has been a topic that was genuinely absent rather than a label invented to satisfy the check. Worth noting the pattern holds: a new document joining an established chain is the common case, and the missing tag is usually the one the chain is already about.

A code reference that was wrong for three minutes

Worth recording because the habit is what caught it. Writing the SigLIP note I reached for “LIT-590 (SimCLR)” from memory of unit B’s filing order. LIT-590 is MoCo; SimCLR is LIT-591. Checked before committing, because the same session had already published a wrong document reference on #304 — attributing SOTA-337’s recommendation to SOTA-338 — and that one reached an issue comment before anyone noticed.

Two instances now of the same failure: a code recalled rather than looked up. The first cost a public correction; the second cost nothing because the first had happened. Cheap lesson, worth keeping cheap.


The text side said fewer negatives in 2013, and the vision side spent a decade assuming more

2026-09-23 20:16:47 · curation · record · taxonomy

Unit G of #304, and the last on its worklist. Ranked seventh of seven, on honest grounds — word2vec is weak substrate, mentioned three times and only as a benchmark task. It was expected to be tidying. It was not.

The thing that was in the literature the whole time

#304’s running theme has been that the negative count is not a quality dial. The record accumulated three independent arguments for it across units A, B and F:

  • THEORY-085 — the InfoNCE bound cannot certify more than log N.
  • LIT-591 (SimCLR) — batch-size gaps “decrease or disappear” with longer training.
  • SOTA-377 (SigLIP) — performance saturates at 32k, measured to 1M.

Unit G adds a fourth, and it is the oldest and the bluntest. From 2013:

k in the range 5–20 are useful for small training datasets, while for large datasets the k can be as small as 2–5.

The number of negatives that helps decreases as the data grows. Stated without emphasis, as an implementation note, ten years before the vision line spent substantial compute establishing that scaling it up stops paying.

Two things follow and they pull in different directions.

The first is a caution about this record’s own framing. It would be easy to write “the field believed more negatives were better”. The field did not, uniformly — one half of it said otherwise, early and in plain language. What happened is closer to two literatures not reading each other, and the anthology’s job is to notice that rather than to smooth it into a consensus that never existed.

The second is a caution against overclaiming the agreement. The objectives are not the same. Skip-gram’s k is negatives per positive against a noise distribution; SigLIP’s batch is negatives drawn from the data itself. Nobody has connected them, and the documents say so. Four arguments agreeing in direction across four literatures is worth recording; four arguments about the same phenomenon is a claim the record cannot make.

The sentence that licenses the whole line

Negative sampling descends from NCE, which approximately maximises the log probability of the softmax. The paper drops that property deliberately:

we are only concerned with learning high-quality vector representations, so we are free to simplify NCE as long as the vector representations retain their quality

Negative sampling is not an estimator of anything. It is a task chosen because its by-product is good, and its authors said so in the paragraph that introduced it.

Every contrastive document in #304 inherits that posture and almost none inherits the sentence. THEORY-085 arrives at the same place from the other end — the InfoNCE bound is a certificate that saturates while the representation keeps improving — so the record now has the claim stated twice, once as a licence taken in 1½ pages of 2013 prose and once as arithmetic on an inequality. Worth holding together: in this whole lineage the objective is a means, and the papers that are clearest about it are the oldest.

A measured constant nobody has explained

The noise distribution is the unigram raised to the 3/4 power, which “outperformed significantly the unigram and the uniform distributions … on every task we tried”. No derivation then, none since, and it is still in library defaults.

Filed in the practice rather than the note because a practitioner inherits it silently. It belongs to the same family as the four initialisation lines unit F catalogued — CLIP’s clipped temperature, SwAV’s low ε, BYOL’s weight decay, SigLIP’s bias at −10. A constant with no derivation is not a principle, and the record should say which of the numbers it carries are which.

On filing a paper the record does not lean on

LIT-610 is filed knowing it is weak substrate, and the note says so in its own standing section. The precedent is the vision-evidence pass — LIT-421, LIT-422, LIT-424, LIT-395 — where the record deliberately took pre-modern groundwork.

The justification here is narrower and better: the second paper carries negative sampling, which #304 found the record could not name, and the first is its antecedent. Filing a weak-substrate paper because a strong one extends it is a different act from filing it because it is famous, and the note is written so a later reader can tell which happened.


The record was four documents deep into criticising FID and had no note for FID

2026-09-23 21:48:03 · curation · record · taxonomy

Unit H of #304, added after the worklist closed, from a question rather than from the audit.

The defect, and why it is the worst shape yet

68 documents mention FID. None held the paper. That is larger than ViT (47) or CLIP (45), the two the whole audit was built around.

What makes it worse than a large number is the company it was keeping. The record already held:

  • LIT-563 — FID can be moved without improving images, by exploiting what Inception features encode;
  • LIT-501 — FID moves on its own, by about 1.3% of its value, purely from the training seed;
  • SOTA-337 (Active) — when an ImageNet-pretrained network has touched training, confirm FID gains in another feature space;
  • SOTA-307 (Active) — report FID as an error bar over several training seeds;
  • SOTA-338 — a promote_when that turns on a non-ImageNet Fréchet distance.

Two critiques, two live recommendations, and no note for the thing being criticised. Unit E found this shape with MAE — the winner of a named comparison without the loser — and this is it four times larger and three documents further along. A reader could arrive at the record’s complete theory of how FID misleads and never learn what FID is.

The generalisation: a metric accumulates critique documents faster than it accumulates a definition document, because critiques are what a record’s curation process rewards. Nobody files the incumbent; everybody files the paper that found the flaw. Worth a check of its own — for any metric the record has an opinion about, does it hold the paper that defined it?

A near-duplicate caught by reading before writing

I spent the first half of this unit preparing to file The FID Lottery as a new note, having told the user I could not identify the paper. The record already holds it as LIT-501, filed thoroughly, sourcing SOTA-307 and qualifying SOTA-143 with its 1.7× µP window finding. I had drafted a duplicate note, a duplicate practice (SOTA-307 already says exactly what my draft said, better — it carries the 2σ/√N scaling I did not have) and a theory that LIT-501’s own standing section covers.

All three were discarded before commit, on noticing SOTA-143’s history entry naming LIT-501.

The failure was not the misidentification, it was not re-running the check after the identification arrived. I searched for “The FID Lottery”, found nothing, said so, and when the user supplied the link I went straight to reading the paper — never returning to the one question the whole exercise was about: does the record already hold it? The audit habit was suspended by the arrival of an answer to a different question.

Third instance this session of the same family — a code recalled rather than looked up (LIT-590 for LIT-591), a document attributed rather than checked (SOTA-338 for SOTA-337), and now a lookup skipped because a different question got answered first. The first two were caught by habit; this one was caught by accident, while reading SOTA-143 for an unrelated reason.

Cheap rule, worth stating: when a new identifier arrives from outside, the first action is the held-check, before the reading.

What reading the incumbent actually supplied

Not much that is new — and that is the point of filing it anyway. Two things every downstream document leans on without restating:

The Gaussian fit is an assumption and the paper says so once. “We assume the coding units to follow a multidimensional Gaussian.” Everything after that — the Fréchet, i.e. Wasserstein-2, distance between two fitted Gaussians — is exact given an assumption that is nowhere tested in the paper and rarely mentioned downstream.

The validation was monotonicity under deliberate corruption. Six corruption families, FID rising with each. That establishes the measure orders degraded distributions correctly. It establishes nothing about resolving small gaps between two competent models — which is the entire use the field puts it to, and exactly what LIT-501 later measured a floor for.

So the incumbent’s own evidence and its successors’ critiques fit together cleanly once both are held. The critiques were not overturning a well-supported claim; they were measuring in a regime the original never tested. That is a much less adversarial reading of the cluster than the record could previously state, and it required the paper nobody had filed.


A metric accumulates critique documents faster than a definition document, and the sweep that tested it

2026-09-23 22:45:16 · curation · record · taxonomy

Unit H closed with a hypothesis rather than a finding: a metric accumulates critique documents faster than a definition document, because critique is what curation rewards — a paper that overturns something is interesting, and a paper that defines the thing everyone already uses is not. If that is right, FID was not a one-off and the record should hold opinions about other measures whose defining papers are missing.

This is the sweep that tested it.

The query, written down because that is the only way a later reader can

tell what it could not have found

DP-004 is explicit that a clean run is evidence about the query. So:

What was run. Three passes, deliberately different in shape.

  1. Token frequency over the record’s own prose. Every capitalised token of 2–13 characters, ranked by how many documents contain it. This finds measures the record names often and I would not have thought of.
  2. A regex for measure-shaped phrases — X score, X distance, X divergence, X metric, pass@k. This mostly returned noise and is recorded as having mostly returned noise.
  3. The analysis-and-evaluation topic, read. All 270 documents listed, the 130 practices and theories read for what measure each one names. This is the pass that actually worked.

Then, for each candidate measure: is its defining paper in record/literature.d/, by arXiv identifier and by title?

What it could not have found. A measure the record uses without naming — if a practice says “report the distance in CLIP space” and never uses a proper noun, no pass here sees it. And a measure named only inside a NOTE body, since the third pass read practices and theories. Both are real gaps and neither was checked.

What it returned

measurerecord files naming itdefining paper held?
FID90yes, since unit H
perplexity90no single defining paper
MMLU, HumanEval, GSM8K, BIG-bench24–46yes, all four
LPIPS17yes (LIT-095)
BLEU16yes
tuned lens—yes (LIT-569)
KID4no → filed
Inception Score3no → filed
ECE / temperature scaling4 (probability sense)no → filed

The benchmark side was already covered, which is worth saying plainly because it is the half I expected to be broken. Whoever filed the LLM evaluation cluster filed the papers with it.

Declined, with reasons, so the next sweep does not redo them

  • Improved Precision and Recall (1904.06991) — named twice, both times as “the appendix also reports it”. Not load-bearing on anything.
  • CLIPScore, BERTScore, MAUVE, nDCG, Chatbot Arena Elo — the record does not name them at all. An absence is not a defect. The sweep’s criterion is a measure the record has an opinion about, and it has none about these. Whether it should is a different question and a bigger one.
  • Gretton’s kernel two-sample test — reached by searching for MMD, which returned 19 hits, all of them MMDiT. A pure false positive of the query and recorded as one.

The finding that was not the hypothesis

The hypothesis held — two of three filings are exactly the predicted shape. But the largest thing the sweep returned had nothing to do with it.

#290 declined the KID paper as a D-variant, on four record mentions. The triage ranked it by its named contribution, which is a metric that is a variant of one the record already had. What the paper actually carries is a proof that no unbiased estimator of FID exists, and a construction where 50,000 samples reliably return the wrong ordering with a standard deviation small enough to hide it. Both are about the incumbent.

So: a candidate ranked by the name in its title gets ranked by the wrong thing, and a mention count inherits that error. The four mentions were of KID, and the case for filing is about FID. Any triage that counts occurrences of a paper’s own contribution is measuring how often the record names the thing the paper made, not how much the record depends on what it showed — and for a paper whose contribution is a correction, those come apart completely.

That is a defect in #290’s decision rule, not in its execution. Worth a pass over the other 27 D-variant declines under the corrected question: not “does the record already have this?” but “what does this paper say about the thing the record already has?”

And one correction that came free

SOTA-315’s consensus_note claimed nobody else had reported “the separation or the remedy”. The remedy — temperature scaling — is Guo et al. 2017, is nine years older, and is what everyone does. The note was written while the record held no calibration paper older than 2025, so a statement about the field was true only of the record. That is the specific failure mode a consensus value is supposed to be protected against, arriving by a route ADR-011 does not cover: not adoption mistaken for evidence, but the record’s own coverage mistaken for the literature’s.


Retiring a duplicate is not the same as reconciling it

2026-09-23 23:11:14 · curation · record · taxonomy

Two sessions found the same broken main at the same time and fixed it twice. #323 landed first and cleared the lint. This entry is about what clearing the lint left behind, because the answer generalises.

What a uniqueness violation actually tells you

The check said:

`1310.4546` is held by [LIT-603](../../record/literature.d/LIT-603.md), [LIT-609](../../record/literature.d/LIT-609.md)

and the minimal response — retire one, repoint its citations — makes it stop saying that. #323 did exactly that, correctly, and main went green.

But the violation was a symptom. What had happened was that two contributions read the same paper and filed everything that follows from it: two notes, and four practices. The check can see the notes because arxiv is declared unique. It cannot see the practices, and no declaration would help — SOTA-374 and SOTA-382 say the same thing in different words, and no schema distinguishes that from two genuinely different recommendations.

So a green lint after a uniqueness fix means the identifiers are unique again. It does not mean the duplication is gone. The check finds the collision; finding its extent is reading work, and the two are easy to confuse because one of them finishes with a green run.

Two residues, and they are different kinds

A duplicate recommendation, still live. SOTA-374 and SOTA-382 were both Active, from the same paper and the same section, and they disagreed: one emerging and asserting that subsampling “improves the rare ones”, the other contested because LIT-607 measured a 4.4–5.4 point loss on analogies. The record was recommending one thing twice with incompatible qualifications, which is worse than either alone — a reader who found the wrong one would never learn the ablation exists.

Retired on the measurement. Worth naming that this is the opposite of what the notes were decided on: those went to the better-connected survivor, because they said the same thing and something had to break the tie. Connectivity is a tie-break for documents that agree. The moment two duplicates disagree, connectivity is the wrong rule, and using it here would have kept the unqualified claim and retired the qualified one.

Content that went down with the retired note. LIT-609 held two readings LIT-603 did not: the sentence in which Mikolov et al. license negative sampling as a deliberate departure from NCE, and the reading of k falling from 5–20 to 2–5 as data grows. Retiring the note without absorbing them would have lost both — not because anyone decided they were wrong, but because they were attached to the losing file.

That is the general hazard. A retirement moves a document to the attic with everything in it, including whatever the other copy never had. The decision being made is about which record survives, and it gets silently applied to which readings survive. Those are different questions and only the first one gets asked.

The rule this suggests

When a uniqueness check fires, the response has three parts and only the first is mechanical:

  1. Retire one and repoint. This is what clears the lint.
  2. Diff the bodies. Anything the loser holds and the survivor does not is content about to be filed in the attic; carry it across or decide out loud not to.
  3. Look for the duplication the check could not see. A colliding note was read by somebody, and reading produces practices, theories and relations. Check every document each contribution filed from that paper.

Step 3 is the one with no tooling behind it and the one that found the live duplicate practice here.

And a note on doing this concurrently

Both fixes were correct and the second was not wasted, which is worth recording because it could easily have gone the other way. The mechanical half was done twice; the reading-dependent half was done once. That is the expected split — mechanical work is what parallel contributors duplicate, because it is what a check can point at.

The cost was a merge conflict and a rewritten branch. The alternative — nobody fixing it because somebody else might be — is worse, and a red main is not something to leave standing on the chance of a collision.


A triage rule that asks about the paper cannot find a defect in the record

2026-09-24 01:44:54 · curation · record · taxonomy

#290 triaged 128 catalogue identifiers and declined 81. Its largest decline group, D-variant at 27, used the rule “catalogue variant; nothing held depends on it and the incumbent is filed”. The metric sweep found a false negative in it, and re-reading the class under a corrected question reversed 6 of the 27 — filed as #326.

This entry is about the rule, not the papers.

The two questions, and why only one of them can find substrate

The D-variant rule asks “is this paper’s contribution already covered?” That is a question about the paper. It is cheap, it is answerable from a title, and it is why the pass could run over 128 identifiers in one sitting.

The question that finds substrate defects is “does this paper measure something the record relies on?” That is a question about the record. It needs the abstract at minimum and the paper at best.

The first question cannot return the second’s answers, and no amount of running it harder helps — which is DP-004 exactly, arriving in a new place. A filter has a complement and the complement needs a different filter.

The measurement that showed it

1801.01401 was declined on four record mentions of KID. The four mentions are of KID; what the paper carries is a proof that FID’s plug-in estimator is biased, that no unbiased estimator exists, and a construction where 50,000 samples return the wrong ordering in all 100 trials with a standard deviation small enough to hide it. The record held three documents about FID’s failure modes and not one of them knew this.

A candidate ranked by the name in its contribution gets ranked by the wrong thing, and a mention count inherits the error. For a paper whose contribution is a correction, “what the paper made” and “what the record depends on” come apart completely — and a triage that counts occurrences of the former is measuring the wrong quantity with no indication that it is.

The part worth keeping: the correction was written down and not applied

#290 found that 23 identifiers had no bibtex entry and had been labelled by the nearest README heading, that 4 of those labels were materially wrong, and it stated the rule: a heading names the feature a citation supports, not the paper. It promoted three of the four.

The fourth it declined, with the leaked heading still in its row — in the same document that had just explained why that heading was untrustworthy. Four more leaks sit in the same decline list, among them Gopher recorded as “Root Mean Square Layer Normalization” and AlphaCode recorded under the title of a different paper entirely.

This is the second instance this week of one shape: identifying a defect and fixing its instances are separate acts, and finishing the first feels like finishing the second. The other was #324, where a uniqueness violation was cleared correctly and the duplication it was a symptom of stayed live. Both times the cheap half is the one a check can point at, and the expensive half is the one that needs reading.

So a pass that discovers a systematic error mid-flight owes itself a second sweep for that error specifically, over everything it already decided. Recording the rule in the write-up is not that sweep.

What this does not license

Re-reading every decline is not the lesson. D-biblio (27) is mostly 2025–2026 preprints with no feature section, and the corrected question probably returns little there; the honest expectation is near zero. D-roster (7) is checkpoint rows and dataset cards and the question does not apply.

Where it does apply is D-cluster (18), and for a different reason: those were declined behind openers, and at least one opener (2103.14030, Swin) was promoted by #290 and never filed. A decline whose condition was “promote this with its opener” goes stale the moment the opener is promoted and dropped, and nothing reports that.

The generalisable form

A decline needs to record which question it was answering, because the question is what goes out of date. #290 recorded its triggers — “a held document starts depending on the mechanism” — and those are still right. What it did not record is that the disposition was reached by asking about the paper, which is the thing a later reader needs in order to know the decline is worth revisiting at all.


Twelve documents downstream of a rule, and no note for the run the rule was derived against

2026-09-24 03:36:06 · curation · record · taxonomy

Unit 1 of #326. Gopher was declined by #290 as a catalogue variant, under a README heading that named a different paper. What the re-read expected to find was a substrate defect of the shape unit E and unit H had already established. What it found was that shape at the deepest the record has yet measured.

The measurement

LIT-068 holds Chinchilla. 48 files mention Chinchilla. Twelve practices and theories cite LIT-068, among them SOTA-096, whose entire content is the ratio num_tokens ≈ 20 × num_params.

Gopher is 280B parameters trained on 300B tokens. 1.07 tokens per parameter. The record recommends twenty.

So the record held: the rule, the paper that established the rule, twelve documents depending on the rule — and not the run at whose expense the rule was demonstrated. Chinchilla’s own comparison is 70B against Gopher’s 280B at matched compute; that comparison is the reason SOTA-096 is believed, and one side of it was missing.

What makes this deeper than unit E or unit H

Both of those were one document away from the gap. LIT-611 was the definition FID’s critics assumed; LIT-601 was the loser of a comparison LIT-216 named. Here the chain is longer:

Gopher (absent) -> Chinchilla ([LIT-068](../../record/literature.d/LIT-068.md)) -> [SOTA-096](../../record/practices.d/SOTA-096.md) -> 11 more documents

A dependency can be load-bearing at a distance, and distance is exactly what a mention count cannot see. Counting “Gopher” returns 3. Counting “Chinchilla” returns 48. The number that matters — how much of the record rests on a comparison whose other side is unfiled — is not a count of anything, and no query in this record’s history would have returned it.

#326’s corrected question gets close: what does this paper say about the thing the record already has? It found Gopher because Chinchilla is one hop away. It would not have found a paper three hops away, and that limit is worth writing down rather than discovering later.

A second thing, which is the reason to read rather than file

LIT-068 is a migration-era note. Its whole body is six bullet points — “Compute-optimal scaling laws. Data/model size relationships. Training efficiency analysis. Resource allocation strategies.” Twelve documents depend on it and it contains no reading.

The record has been treating that note as though it carried Chinchilla’s argument. It does not; it carries Chinchilla’s topic. The practices built on it are better than it is — SOTA-096’s body has the 400-run fit and the LIT-028 contrast that the note lacks — which means the substance migrated into the practices and the note stayed a stub nobody re-read.

A thin note under a thick cluster is invisible to every check the record has. It has a source, its identifier resolves, its tags are legal, nothing cites it improperly. The lint has no opinion about whether a note was read. That is the class this entry exists to name, and Gopher is how it surfaced: going to check what the record knew about the Gopher–Chinchilla comparison turned up that it knew almost nothing about Chinchilla either.

Recorded and not filed

The conclusion offers an account of why scale helps knowledge and not reasoning — “it is hard to compress mathematics and easier to learn many associative facts about the world” — and then names its own alternative, that reasoning may emerge past this scale. It sits beside THEORY-050.

It is not filed as a theory and not filed as evidence for one. THEORY-050’s promote_when asks for a within-corpus exchange-rate measurement, and a conjecture in a discussion section is not that. Writing this down is the cheap part; the discipline is in not letting a well-phrased conjecture enter as an account because it agrees with one the record already holds.


A crossover measured with an under-tuned configuration on one side

2026-09-24 04:21:03 · curation · record · taxonomy

Unit 2 of #326. The finding generalises past the paper, so it gets its own entry.

The shape

SOTA-358 says to drop a domain inductive bias once pre-training data is large enough and keep it when it is not, and it is careful — Active, converged, with a consensus note explaining that the field adopted the conclusion and dropped the condition. Its first measurement is that ViT-Large is worse than ViT-Base on ImageNet-1k “despite tuned regularisation”.

Beyer et al. measured what that ImageNet-1k configuration was worth: 66.8% top-1, against 80.0% from five changes, none of them a regulariser. And the original recipe goes 66.8 → 67.2 → 67.1 across 90, 150 and 300 epochs — it had stopped learning before any of those comparisons were drawn.

So one side of the crossover was measured with a configuration that was 13 points from reachable, and the phrase carrying the argument named the wrong lever.

The general form

A crossover measured with an under-tuned configuration on one side is evidence about the tuning as much as about the crossover, and which one it is cannot be told from the crossover alone.

That is worth stating because a crossover looks like strong evidence. Two curves meeting is a qualitative fact, robust to small errors, and reads as more trustworthy than either curve’s absolute level. The trap is that the crossing point is exactly where a constant offset on one curve matters most: shifting one side by 13 points moves the intersection anywhere, and nothing in the shape of the plot indicates that it would.

What was NOT concluded, and why that is the discipline

The temptation here was to mark SOTA-358 contested. It would have been wrong.

Beyer et al. ran ViT-S/16 only. They did not retest ViT-Large against ViT-Base under their recipe, so whether the ordering flips is unknown. The honest operation is not to weaken the practice’s status but to move its weight onto the measurement that can hold it — SOTA-358’s second bullet, the random JFT subsets at 9M / 30M / 90M / 300M with hyperparameters and regularisation held fixed. That comparison never depended on anyone tuning ImageNet-1k well, because it is ViT against ResNet inside one protocol across data scales.

A practice can lose a measurement without losing its conclusion, and the record should be able to record that. Doing it by editing the evidence rather than the status is what keeps consensus meaning something: nothing about the field’s agreement changed here, only which of the source’s own numbers is load-bearing.

Why the gap existed for two years

ViT says so itself: “The addition of results when pre-training only on ImageNet-1k was an afterthought, mostly to ablate the effect of data scale.”

An afterthought experiment, reported honestly, becomes a citable number the moment it is in a table — and then it is quoted by people who need an ImageNet-1k ViT baseline rather than by people ablating data scale. The authors’ own framing of an experiment does not travel with the number.

This is the reading that made the paper worth promoting out of #290’s D-variant pile. Filed as “SimpleViT”, a variant, it looked like one more architecture tweak. It changes no architecture. What it does is re-measure the incumbent’s least-defended setting, which is the least glamorous kind of contribution and the kind a record of practice most needs.


The video report LIT-218 asked for

2026-09-24 04:28:22 · curation · taxonomy

A reader asked whether the record held anything from the Wan family, for example Wan2.1 I2V. It held nothing. A search of record/ and data/ for “Wan”, the arXiv id, “I2V”, “image-to-video” and “video generation” found no generator report. The nearest documents were the DiT backbone (LIT-448), two video-understanding papers (LIT-215, LIT-218) and two practices that mention video in passing (SOTA-187, SOTA-335).

LIT-218 had already named this gap. Its note ends by asking for “a frontier video training report with a disclosed recipe”, so the missing document was written down but nothing pointed to a candidate. The Wan report is filed as that candidate.

Tags

Six topics, and no new one. I checked whether “video” wanted its own word and concluded it does not. generative-modeling names the kind of claim and vision-and-graphics names the modality, and between them they say what the document is about. A video topic added for one document is the case DP-008’s corollary warns against. The count may change that. If video reports keep arriving and scatter across these two plus representation-and-encoding, DP-009’s counting test is the one to run.

One thing worth noting for later: generative-modeling’s blurb says “text-to-image” and not “video”. It is a gloss, not a boundary, so I left it alone.

Reading depth

The note is Skimmed, not Read. It covers §1–4, §5.1 and §6 of a 60-page report, and skips the six other application sections. That is enough to list the hedges and not enough to source a practice. The LIT note lists three candidate practices. The most transferable is the image-to-video conditioning recipe. A future pass should read §4 and §5.1 against those candidates before filing any of them.


Filling in the video line behind Wan

2026-09-24 04:53:52 · curation · record · taxonomy

Follow-up to the Wan filing in this PR. The Wan report’s related work and comparison tables name its predecessors and its competitors, and the record held none of them. Nine were filed:

VDM ([LIT-627](../../record/literature.d/LIT-627.md)) -> Video LDM ([LIT-621](../../record/literature.d/LIT-621.md)) -> SVD ([LIT-625](../../record/literature.d/LIT-625.md))
MAGVIT-v2 ([LIT-623](../../record/literature.d/LIT-623.md)) -> CogVideoX ([LIT-622](../../record/literature.d/LIT-622.md)), HunyuanVideo ([LIT-620](../../record/literature.d/LIT-620.md)), Wan ([LIT-619](../../record/literature.d/LIT-619.md))
Movie Gen ([LIT-626](../../record/literature.d/LIT-626.md)), Step-Video ([LIT-624](../../record/literature.d/LIT-624.md)), LTX-Video ([LIT-618](../../record/literature.d/LIT-618.md))

How they were read

Three delegated readers each read three full papers and returned an extraction: numbers with table references, evidence type per claim, hedges, lineage evidence, and what was skipped. I wrote the notes from those extractions. None of the nine has a NOTE, and every LIT note says so and says what was read. They are sources, not readings.

What the line turned out to be

The large reports are adoption. The evidence is in the small early papers. Movie Gen is the one exception: it ran controlled 5B ablations of flow matching against diffusion, video against frame captions, and its transformer block. HunyuanVideo reports no controlled ablation. Step-Video’s architecture comparisons are unquantified. Wan’s three ablations are at 1.3B on text-to-image. The controlled evidence for training on images is VDM, Video LDM and SVD, all small. That is why SOTA-386 cites those three and counts the large reports under consensus_note (DP-005).

Every one of the ten has at least one DP-010 hedge, most of them in the abstract. The recurring shape is a scaling or “state-of-the-art” sentence that the body does not carry:

  • Wan’s “scaling laws” has no curve.
  • Movie Gen’s scaling fit is image-only and overlaid, not fit.
  • HunyuanVideo’s “5×” has no experiment.
  • CogVideoX’s scalability is two sizes.
  • Step-Video’s “state-of-the-art” is ranked second in its own §9.3.

The relation I withdrew

I first declared Step-Video extends DPO (LIT-169) and Movie Gen extends Llama 3 (LIT-179). Each edge was bound, since they share a tag, but together they produced one unbound line. The diffusion lineage, the preference lineage and the language-model architecture lineage became one component with no tag in common. ADR-049 allows two readings, and this was the second one: the relation was wrong. Neither report is a successor to those papers. Each borrows one component from them. Both are now plain citations in the prose.

A trap for the next person: deleting extends on one side is not enough. link --fix read the leftover extended_by on LIT-169 and LIT-179 and wrote the extends back. Withdraw a relation by removing both ends, then run the fixer.

Not filed

  • Sora’s technical report (“Video generation models as world simulators”). openai.com returned 403 and web.archive.org refused the connection from this environment. It exists only as a url: source, and every report here cites it. It should be filed from a machine that can reach it.
  • Imagen Video, Make-A-Video, Emu Video, Open-Sora, AnimateDiff, CausVid / Self-Forcing. These are real nodes of the line and were cut to keep the PR reviewable. Emu Video is the one Movie Gen says it builds on.
  • Candidate practices still unfiled. The text-encoder question (T5 or umT5, multimodal LLM, or several encoders; four reports, four answers, no cross-test), full 3D attention over factorized attention (CogVideoX measured it, the rest adopt it), and flow matching over diffusion for video (Movie Gen alone). The last has one source and is the next one to file.

Working #331 through unit 5

2026-09-24 05:14:05 · curation · record · taxonomy

Units 1–5 of #331. Eleven papers were filed, two practices added and three revised. Units 6 (reading notes) and 7 (Sora, blocked) remain.

Method

As in #330: delegated readers produced full-paper extractions, and I wrote the notes. One reader answered a follow-up question about how Self Forcing’s baselines were run. The answer changed what that paper can be cited for. It is recorded below because the first reading did not distinguish the two.

What the filing changed about practices already held

The largest correction came from filing the substrate. SOTA-266 said rectified flow with uniform timesteps “does not win”, and glossed this as why the straight path’s advantage “had looked equivocal for two years”. The gloss had no source. Both originating papers used uniform timesteps and won controlled comparisons against VP diffusion:

  • Flow Matching, Table 1: CIFAR-10 FID 6.35 against 8.06 on the same U-Net.
  • Rectified Flow, Table 1a: FID 2.58 against 3.93.

SD3’s finding is real, and it is about ranking against tuned ε-prediction in latent text-to-image at scale. The practice had generalized it. This is the #326 shape again. The record held the paper that carried the claim forward and not the papers that made it, and a sentence about the absent papers had been written without reading them.

SOTA-333 became contested, and nothing in it was refuted. Self Forcing argues against inference-time noised history in one uncited sentence (§1). Its controlled table does not test that. A follow-up confirmed the Diffusion Forcing baselines roll out on clean context. The table does test the training half, and the result is split: per-token noise loses to teacher forcing in the many-step rows and wins after distillation. My first draft of the Self Forcing note said diffusion forcing “scores below teacher forcing in both” variants. That was wrong, and I caught it by rereading the table before running lint. The lint then required contested_by: once the consensus said contested, which is the check doing its job.

Unit 5: two filed, one declined

  • Filed, Proposed / converged: full 3D attention (CogVideoX’s ablation, whose numbers are in a figure I could not extract) and video-native captioning (Movie Gen Table 8b). Both have the DP-005 shape: every report adopts, one measures.

  • Declined: the text encoder. #331 said to file it only if the evidence supported a recommendation. It does not. Four reports take four positions:

    • T5 or umT5: Wan, CogVideoX
    • a multimodal LLM with a bidirectional refiner: HunyuanVideo
    • several encoders: Movie Gen, Step-Video
    • Wan’s own ablation has Qwen-VL 0.1 FID ahead of the umT5 it kept

    There is no cross-test. A practice would have to say “any of these”, which is not a practice. The disagreement stays in the LIT notes, where it is recorded as a disagreement.

Candidates noticed and not filed

  • Distill a causal few-step generator from a bidirectional teacher. CausVid Table 4 is controlled, from one group.
  • Train an autoregressive generator on its own rollouts. Self Forcing Table 2 is controlled, video only. The claim that it generalizes to other continuous domains is asserted.
  • Freeze image layers when checkpoint compatibility matters. Emu Video is controlled but narrow (55/58). AnimateDiff argues from compatibility.

Each is a single-source Proposed candidate for a later pass.

Substrate still missing

These are named and not held: DMD and DMD2 (CausVid and Self Forcing extend them), DALL-E 3’s recaptioning (the image antecedent of SOTA-389), stochastic interpolants (the third origin of the straight path, which SiT builds on), FLUX.1 (Open-Sora’s initialization), and the RNN-era exposure-bias papers (scheduled sampling, Professor Forcing, MIXER).


Not degrading and working are different claims

2026-09-24 05:20:40 · curation · record · taxonomy

Unit 3 of #326. The paper is a position-encoding proposal, which is why #290 filed it as a variant. What it also contains is a measure, and the measure is what the record needed.

The cluster had four practices and no instrument

SOTA-063 recommends rotary position encoding. SOTA-151 extends context by rescaling it. SOTA-179 truncates its low frequencies instead. SOTA-153 drops it from a hybrid’s global-attention layers. All four are about the same component, and SOTA-151 is explicitly motivated by RoPE not extrapolating.

So the record knew the phenomenon and had no way to measure it. That is a recognisable shape by now — it is the metric sweep’s shape, arriving in a cluster the sweep did not look at, because the sweep’s third pass read documents tagged analysis-and-evaluation and this cluster is tagged representation-and-encoding.

The sweep’s own recorded limit was that it could not find a measure the record uses without naming. This is the adjacent miss: a measure the record needs and never had a name for, in a cluster filed elsewhere. Worth adding to that entry’s list of what the query could not return.

The finding that generalises

Every piece of evidence behind SOTA-151 is perplexity at the extended length. Sun et al. draw the distinction that evidence cannot:

the perplexity does not explode but does not decrease at the same time. The ideal situation is to use the long context in the right way, in that case, the model should perform better instead of saturation.

Not degrading and working are different claims. A metric that can only go badly wrong is a safety check, and passing it means the failure did not happen — not that the capability arrived. Perplexity at 2× the training length is that kind of metric: it detects catastrophe and is nearly silent about competence.

This is THEORY-039’s neighbourhood — a measured capability is the capability minus what the evaluation does to it — from the other side. There the evaluation subtracts; here the evaluation cannot add, because it has no upper region that means anything.

The amendment, and why it did not change a status

SOTA-151 stays Active and converged. The production adoption in its consensus note is real and a serving configuration extending 262144 to 1M is a strong usability signal.

What changed is that the practice now states what its evidence does and does not establish. The new measurement strengthens its motivation — RoPE’s resolution collapsing 0.91 → 0.08 across the boundary is a bigger defect than “does not extrapolate” conveys — and narrows its claim, because nobody has measured position-recognisability in a rescaled model.

That is the second time in two units that the right operation was to edit the evidence and leave the status alone. Unit 2 did it to SOTA-358. It is worth noticing as a pattern rather than a coincidence: a practice’s status is a claim about whether to do the thing, and most new evidence bears on what you know rather than on what to do. Reaching for contested whenever a measurement lands would make the status track the literature’s activity instead of its conclusions.

One more thing the paper does that most do not

It reports that half its own headline result is not its contribution. xPos alone scores 0.54 resolution at 2048; with blockwise causal attention, 1.08. BCA is an inference-time masking change applied to a normally-trained model.

The paper could have reported 1.08 against the baselines’ 0.08 and 0.88 and left the attribution unexamined. It split it. An ablation that removes the author’s own contribution and finds the remainder still helps is the form that is hardest to fake and least often reported — and it is the reason the resolution numbers here are worth carrying into the record at all.


Reading the video line in full, and what it did to three practices

2026-09-24 05:50:16 · curation · record

Unit 6 of #331. The twenty video papers filed in #330 and #332 had LIT notes written from delegated extractions. This pass read every one in full and wrote the NOTE. Five readers each read four papers end to end, from the extracted text, and drafted the notes. I checked the corrections that change a practice or reverse a headline against the paper text before applying them, and every one I checked held.

The main finding: the first extraction was not a reading

The #330 and #332 LIT notes were careful. Every one had a DP-010 hedges section, and most were written from a reader’s full pass over the paper. The full readings still found about 55 corrections across nineteen notes, and three practices moved. Two things turned out to separate an extraction from a reading.

An extraction answers the question it was given. The first readers were asked for numbers, evidence type and hedges. They returned the headline number for each ablation, and many did not record what the ablation held fixed. Unit 6 asked for the claims table, where each row needs its support. That question found what the first pass skipped:

  • VDM’s image arms process more frames per step (20 and 24 against 16).
  • Video LDM’s pretrained arm gets 73K extra steps and trains only its temporal layers.
  • CogVideoX’s attention result is “in early steps” only.

This is DP-004 at the level of a single paper: a pass finds only the defects its query is shaped like.

I added errors while writing from extractions. Several corrections reverse sentences I wrote myself:

  • the HunyuanVideo exponent comparison, which I had already “corrected” once
  • AnimateDiff “best user-study ranks”
  • “without reflow, one-step FID is 378”
  • “the only video report that states the logit-normal”

An extraction lists results. Writing a note means comparing them, and I made the comparisons without the paper open.

What moved

SOTA-386 from Active to Proposed. Its three controlled sources agree, and none of them isolates the effect. Each gives the image arm extra compute, or bundles initialization with freezing, or doesn’t state its setup. Two of them use frames of their own videos as the “images”. The practice was filed Active hours earlier in #330, on the strength of “three controlled studies”. The first readings called them controlled because they changed one named thing. The full readings found each also changed something else. DP-006 applies: the status says what the record believes, and the record is not entitled to believe this one yet. The practice is still filed, because the field does it and the question matters. promote_when names the compute-matched comparison.

SOTA-390 and SOTA-389 were each overstated from one source. SOTA-390 said “with everything else fixed” and “wins on training loss”, and CogVideoX says neither. SOTA-389 listed CogVideoX as an adopter of video-native captioning. CogVideoX’s own first version says the opposite, and its third version deleted that sentence. A reading of v3 alone could not have found it. The reader diffed the versions because the brief supplied v1.

Mechanics worth keeping

  • history: must end at the current version. I put new entries at the top, and lint rejected three practices. Append; don’t prepend.
  • inactive-ok-file: written from the report. Demoting SOTA-386, and SOTA-389/SOTA-390 being Proposed, produced about 100 unacknowledged citations in the new notes. Every one is in a “Bearing on the record” section, where weighing the practice is the point. The directives were generated from docs/reports/reference-status.md, restricted to files this branch changed. Each names only codes whose presence in that file’s body was confirmed. Five pre-existing warnings on files outside this branch were left alone.
  • A reader was right where my search wasn’t. I doubted LTX-Video trains on images, and a grep for “image data” found nothing. §2.5.4 is titled “Training on Images”. Check the section list before overruling a reader.

Not done

  • Sora (unit 7) is still blocked.

  • Practice candidates the readings raised:

    • VDM’s reconstruction guidance against replacement
    • Video LDM’s video fine-tuning of the decoder and upsampler, measured on three datasets
    • CausVid’s bidirectional teacher for a causal student
    • Self Forcing’s rollout post-training
    • distillation before reflow (Rectified Flow)

    All have a single source.

  • Other practices the readings touched:

    • SOTA-263: resolution-dependent timestep shift, adopted by LTX-Video and Open-Sora.
    • SOTA-305 and SOTA-307: MAGVIT-v2’s vocabulary step and its 1.78-against-1.79 FID.

    These readings bear on them, and nothing here changed them.


Six single-source practices from the video line

2026-09-24 13:39:42 · curation · record

The candidates #331 collected while working its units. Each rests on one controlled comparison, so each is Proposed, and each names the comparison that would promote it. DP-006 is why they are filed at all. Having a document is a lower bar than believing it. A single-source result filed now, with its promotion condition written down, is findable when the second source arrives. Left in an issue it would not be.

Every number was re-checked against the paper text before filing

Unit 6 found that numbers carried from notes into practices had drifted from the papers. So every figure in these six was re-read from the extracted text:

  • VDM Table 6
  • Video LDM Tables 3 and 11
  • CausVid Table 4
  • Emu Video Table 1
  • Rectified Flow Table 1a

All held. Three sentences in my drafts did not, and were caught by rereading before filing:

  • introduced_by. The freeze practice named AnimateDiff. Video LDM froze spatial layers three months earlier, so it now names LIT-621.
  • An architectural overclaim. “Freezing rules out full space-time attention” was too strong. Freezing rules it out only for the frozen layers, and new layers can still sit around them.
  • An unverified adopter. The decoder practice listed SVD as inheriting Video LDM’s video-tuned decoder. SVD’s text says it follows Video LDM’s temporal layers and says nothing about the decoder, so SVD is removed.

What each one is careful about

Most of the work was in each practice’s conditions section, not its claim:

  • CausVid. The ablation cannot separate “the teacher is causal” from “the teacher is worse”. The causal teacher is also the weaker model before distillation.
  • Self Forcing. It fixes the train-test gap inside the training window only. The paper says so. It is filed as an alternative to SOTA-333, which it contests, and not as a replacement.
  • Freezing. The only reason to freeze is compatibility, and the one controlled test does not measure what freezing protects.
  • Reconstruction guidance. This is a practice for models you cannot retrain. The field now trains conditioning in explicitly.
  • Decoder fine-tuning. It is for reusing image components. The current line trains 3D video autoencoders natively.
  • Reflow. The paper’s own headline needs reflow and distillation. Distillation alone does most of the work (378 → 6.18), and reflow costs many-step quality.

A mechanics note for the next person: an unquoted shell heredoc treats backticks as command substitution, and the first draft of this entry lost every backticked word that way. Quote the delimiter (<<'EOF').


A practice that states its own cost and cites nothing for it

2026-09-24 16:14:17 · curation · record · taxonomy

Unit 4 of #326. The defect is a new shape and the reason it survives every check is worth writing down.

The shape

SOTA-032 recommends Pre-LN. It is Active, it is well written, it is at version 3 with a careful history, and it contains this:

Pre-norm trades trainability for some final quality: the unnormalised residual stream grows in magnitude with depth, and deep pre-norm models can see later blocks contributing proportionally less — the representation collapse argument.

“The representation collapse argument” — definite article, no citation, no number, no document. The practice is telling a reader that the thing it recommends has a known cost, and pointing at nothing.

Nineteen files in this record discuss Pre-LN. Ten discuss Post-LN. The argument appears in the prose of the practice that recommends the choice, and the record held no source for it.

Why nothing catches this

Every check the record has is about declared structure. source: is present and correct — LIT-114, Xiong et al., which is the right source for the recommendation. explained_by: points at a real theory. The tags are legal, the relations bind, no citation is retired.

The unsourced claim is in prose, and prose is where the record does its thinking. A practice’s body is exactly where a reader should find the qualifications and the costs, so the lint cannot object to a body containing a claim. The failure is not a missing field; it is an assertion that reads like received knowledge and has never been checked against a paper.

This is the third distinct invisible-to-tooling defect this week, and they form a set:

defectwhat makes it invisible
a thin note under a thick cluster (LIT-068, unit 1)the note has every required field and no reading
a duplicate recommendation (SOTA-382, #324)uniqueness is declared on identifiers, not on claims
an unsourced claim in a bodyprose is where qualifications belong, so its presence proves nothing

All three are curation questions. None of them is a lint question, and I do not think any of them can be made into one.

What the paper supplied, and what it did not

Xie et al. give the argument a rate: O(1/√k) per-layer change, O(1/√N) for the output effect of an added block. That is what the practice was missing.

But reading it also deflated the claim the practice was making. O(1/√k) is slow. At twenty-four layers the per-layer change is about a fifth of its first-layer value, not a thousandth. “Collapse” names the direction and overstates the speed, and the derivation assumes block outputs are independent — which is the one assumption a trained residual network obviously violates, since later blocks read what earlier ones wrote.

So the sourcing exercise returned a weaker claim than the unsourced version implied. That is the normal outcome and the reason to do it. An uncited argument drifts toward whatever strength the citing context needs; attaching a source fixes it at whatever the source actually shows.

The second finding, which is about how the first happened

Xie et al.’s Table 5 shows Pre-LN losing 2.84 and 3.36 BLEU when warm-up is removed. The paragraph under it says Pre-LN “can train effectively without it.”

SOTA-032 says, sourcing Xiong et al., that “the warmup stage can be removed entirely.”

The sentence propagates and the table does not. Xiong et al. showed Pre-LN trains without warm-up, which is true; the phrase “can be removed entirely” is a small strengthening; and by the time it reaches a practice document the qualification has no carrier. Xie et al. reproduce the phrasing in their own prose while their own table contradicts it.

That is worth separating from ordinary citation error. Nobody misread anything. A claim that is true under a test weaker than the one readers apply will drift, because the prose that travels is the claim and the table that constrains it is not. The countermeasure is the one this unit used: when a practice states a consequence without a number, treat the missing number as the finding.


A hedge in the note the practice cites does not travel to the practice

2026-09-24 16:31:22 · curation · record

Unit 5 of #326. The unit was scoped as the weakest of the six — an unadopted theory nobody depends on. It found the largest defect of the six instead, and the reason is a defect shape the record has not written down.

The shape

Two documents, three years apart in publication and one field apart in scope:

LIT-088 (ViT-22B) says, in its Standing section:

nothing in the record reads a source establishing QK-norm. This is one of the earliest at scale.

That is careful. “One of the earliest” declines to claim primacy; “at scale” says what kind of earliest is meant. The note names the gap and says it is not the thing that fills it.

SOTA-192, the practice built on that note, carried:

source:
- [LIT-088](../../record/literature.d/LIT-088.md)
introduced_by:
- [LIT-088](../../record/literature.d/LIT-088.md)

introduced_by is, by ADR-029 and ADR-030, the work that first made this recommendation. The practice asserted flatly what the note it cites had declined to assert. The note was right, the practice was wrong, and they sat in the same repository naming each other.

Why nothing catches it

Not a lint question, and not a close call.

source: resolved. introduced_by: resolved. Both pointed at a live, Active note whose subject is the same technique. The relation bound on tags. Every structural check the record has was satisfied, because every structural check was satisfied by the true version too — the defect is not in whether the edge exists, it is in which of two papers is at the other end.

And the evidence that it was the wrong one was not missing. It was sitting in the prose of the document at the far end of the edge. A check that could catch this would have to read LIT-088’s hedge, understand that “one of the earliest at scale” is weaker than “first stated it”, and compare that against what SOTA-192’s field means. That is a reading, not a check.

The transitive-hedge pattern

Worth naming because it generalises past this instance:

A qualification lives in the document that makes it, and the document that cites it inherits the subject without the qualification. LIT-088 hedged about primacy. SOTA-192 cited LIT-088 for the technique and took primacy with it. Nothing was misquoted; the hedge simply had no way to travel along the edge.

Three earlier findings this session have the same shape from different directions:

  • SOTA-097’s title states B ∝ C^(1/4) and its status is Superseded. I cited it from the title. A status is not in a title, and the citing document had no way to carry it.
  • Xie et al. write that Pre-LN “can train effectively without” warm-up in the paragraph beneath their own table showing a three-point drop. The sentence propagates and the table does not.
  • SOTA-032 stated “the representation collapse argument” with a definite article and no citation, having inherited the claim from prose rather than from a source.

In all four, the careful version exists somewhere and the citing site holds the confident version. The record’s checks operate on the edges; the qualifications live in the bodies.

Two process findings

The defect was already diagnosed, in the promoted queue of the same issue. #290 promoted 2010.04245 as candidate #7 and stated the finding exactly: “named origin of QK-norm; LIT-088 uses it with no source for the technique.” That was correct on 2026-09-23 and nothing acted on it.

Counted rather than assumed: 21 of #290’s 25 promotions are unfiled. That is not a failure — a ranked queue is a queue — but it changes what the last two days of work mean. Two units have now been spent re-reading #290’s declines to find false negatives, and this unit’s largest finding was sitting in its promotions, already written down. The queue nobody worked was a better source of findings than the declines everybody re-read.

The next pass on #290 should work the promoted list before re-reading the rest of D-cluster. 2112.05682 (the FlashAttention antecedent, 19 held documents), 2509.26030 (Muon, 59), 1909.11942 (ALBERT, 12), 2103.14030 (Swin, 9) and 1910.05895 (the ScaleNorm/pre-norm origin, 14) are all substrate defects of the shape this one turned out to be, and all five carry their diagnosis already.

The ranking was wrong, and the correction is not “rank better”. #326 put this unit fifth of six and gave a defensible reason: an unadopted theory nobody depends on. That was accurate about the theory. What it could not see from outside the paper is that the paper’s bibliography pointed at a substrate defect — ranking reads the subject, and the finding was downstream of what the paper cited.

The practical lesson is the smaller one: a ranked worklist’s tail is not safely truncatable, because the thing that makes a paper worth reading is sometimes not a property of the paper.

What was left

Henry et al.’s technique has two halves and the record’s usage carries one. They ℓ₂-normalize queries and keys and replace 1/√d with a learnable scalar; LIT-088 and SOTA-192 keep 1/√d and add the normalization in front of it. Both bound the logits. Only one makes the softmax temperature a trained parameter — and that parameter is the β LIT-641 measures at [10, 25].

Whether the learned temperature does anything beyond the bounding is unmeasured here and is not filed as a practice, because no paper in the record compares the two arrangements. It is written down so the next reader knows the record recommends a simplification of the published technique without having said so.


A benchmark’s limits were measured by somebody else, and the note that lists its limits did not have them

2026-09-24 17:18:31 · curation · record

Unit 6 of #326, and the last of its worklist. Worth writing down for two reasons: the defect shape is new, and the ranking failed in a way opposite to unit 5’s.

The shape

LIT-388 is HumanEval. It is Active, 25 documents name it, six practices use it, and SOTA-210 sends readers to it for the pass@k estimator. Its note has a section headed “What it is insensitive to”, and that section is good: single functions from docstrings, not architecture; tests certify behaviour not quality; 164 problems is small.

Every item in that section is the paper’s own account of its limits. The hardest limit anybody has measured is not there, because it was measured by somebody else, three years later, in a paper about something else entirely.

Li et al. hand-checked fifty HumanEval problems their model solved and found 30% false positives — programs that pass every test and are not correct — on 7.77 tests per problem. It is one table in a paper about competitive programming, and it is the only measurement of HumanEval’s test coverage the record has ever had access to.

Why nothing catches it

Not a lint question, and not even close to one.

A note’s “what it does not cover” section is written from the paper. That is the right default — the authors know the limits best and a note that speculates beyond them is worse than one that does not. But it means a note’s limits section ages at the rate of its own paper, which is zero. Everything learned about a benchmark after publication has to be carried in by a reader who happens to hold both papers at once.

The record has no mechanism for that and probably cannot have one. There is no field that says “documents that measured this document”, the citation graph runs the wrong way, and a benchmark’s critics rarely name it in their title. What there is, is the habit that produced this: when reading a paper for one reason, notice what it measured about things the record already holds.

This is #326’s corrected question — “does this paper measure something the record relies on?” — applied one level further in. The unit was scoped against SOTA-210, and the finding was against LIT-388, the document SOTA-210 cites.

The ranking failed the opposite way from unit 5

Both units were mis-ranked and for opposite reasons, which is the useful part.

Unit 5 was ranked fifth of six on the strength of its subject — an unadopted theory nobody depends on — and the finding came from its bibliography. Ranking could not see it because ranking reads subjects.

Unit 6 was ranked last on a count: 0 files say “AlphaCode”, against 48 for Chinchilla in unit 1 and 52 for RoPE in unit 3. The count was correct and measured the wrong noun. Nothing depends on AlphaCode; 25 documents depend on the benchmark AlphaCode audited. A paper’s standing in the record and the standing of what it measured are different quantities, and the mention count only sees the first.

So #326’s ranking was sound on its own terms in both cases and wrong in both. The corrected rule, if there is one, is narrow: a mention count ranks a candidate by its own name, and a paper whose value is auditing something else scores zero by construction. That is the same failure #326 diagnosed in #290 — ranking by the name in the contribution — surviving one round of correction in a different disguise.

Both units were near the bottom of a six-item list. If the list had been truncated at four, both would have been lost.

What was left, and why

Three findings in the paper were recorded in its note and deliberately not filed, each with its reason stated in the document rather than here:

  • Test-time compute allocation — log-linear scaling in sample budget, training compute and sampling compute, with larger models showing higher slopes. Real, and one system on one task family in 2022. The record has no test-time-compute cluster for it to join, and a single paper should not be made to open one alone.
  • A 12.8× controlled comparison of multi-query attention — against a practice pair the record has already retired. History, filed where it can be found.
  • Validation loss diverging from the target metric during fine-tuning — which SOTA-284’s promote_when rules out by name as “the premise, and it is already established”. Its only news is that the premise is three years older than the record’s citation for it.

Declining three candidates and filing two corrections is roughly the right shape for a unit ranked last. The mistake would have been not reading it.


An origin claim nobody checked because the paper was never in the record

2026-09-24 17:28:05 · curation · record

These are the eight papers the video line cited without holding. Filing them fixed four sentences in documents that were already Active. None of those sentences could have been checked before, because the paper each one described was not in the record.

What the sentences had in common

Each one described a paper the record did not hold:

  • “Three concurrent origins of the straight path.” This was in two notes and a practice. The third origin, stochastic interpolants, uses a cos/sin path (its eq. 5). It mentions the linear path once, in Remark D.5, and credits it to Liu et al.
  • “The papers that named exposure bias (scheduled sampling, Professor Forcing, MIXER).” This is the usual grouping. A count of the term in the three texts gives 0, 0 and 11.
  • “For discrete tokens, teacher forcing does not diverge in the same way.” This is plausible and was unsourced. The papers support “modest and confounded”. They neither support nor refute “does not diverge”, because none of them measured divergence.
  • SiT as introduced_by for the post-hoc diffusion coefficient. It was the right group and the wrong paper: the framework said it ten months earlier.

DP-004 applies here. A pass that checks sentences against the documents they cite cannot find a defect when the document is missing. In each case the sentence was the only representation of the paper the record had. Filing the source is what makes the sentence checkable. So a note saying “X is not held” is a debt, not a hedge: the sentences near it are unverified by construction.

Method that worked

Readers drafted the notes from full texts. Every claim that would change an existing document was re-checked against the extracted text before it was applied. This included term counts, table cells, and the version of the paper each quote came from. The 2303.08797 v1 abstract says the latent amplitude can also be tuned after training. By v3 only ε is post hoc. The two versions disagree, and the note says which one it read.

One trap came from my own writing, not from the readers. While updating CausVid, I first wrote that DMD2 “reports the same trade on ImageNet”. DMD2 reports its diversity loss on SDXL, and it gives no cause. The sentence fitted the story, and that is why it was worth checking.

Left alone

NOTE-197 (the SiT reading) still says the record has “nothing resembling” R3. It is a reading, and that sentence was true of the record when it was read. The correction sits in LIT-447 and SOTA-265. Journal entries that say DMD was not held were not edited either.

FLUX.1 has no technical report. LIT-573 (FLUX.1 Kontext) §2 is the nearest thing to one, and it is already filed.


A practice credited the wrong origin, and the right answer was that there is none

2026-09-24 18:04:45 · curation · record

Unit 1 of #342. I went in expecting the third introduced_by repair in four days and found something better: the field was wrong and the correct value is empty.

What I expected to find

#342 ranked this first on a two-line argument: SOTA-032 is Active, universal, and names Xiong et al. (Feb 2020) as introduced_by; Nguyen and Salazar (Oct 2019) state the same headline consequence in their abstract — “pre-norm residual connections (PreNorm) and smaller initializations enable warmup-free… training with large learning rates”. Four months earlier, same claim. Repoint and move on.

That is exactly the reasoning that produced the correct repair in #338, and here it would have produced a second wrong answer.

What the paper actually says

Second paragraph of the introduction:

Chen et al. (2018) found that pre-norm residual units (PreNorm)… were instrumental to their model’s performance. Wang et al. (2019) compare the two, showing that PreNorm makes backpropagation more efficient over depth…

and a page later:

This is cited as a stabilizer for Transformer training… and is already implemented in popular toolkits (Vaswani et al. 2018; Ott et al. 2019; Hieber et al. 2018), though not necessarily used by their default recipes.

Their own description of their contribution is “Our work demonstrates additional consequences in the base Transformer regime.”

So pre-norm has no origin paper. It was in OpenNMT, tensor2tensor and Sockeye and was used inside larger systems before anyone published an argument for it. The two earliest papers that argue for it both attribute it to others.

introduced_by: [] under ADR-053, with a frontmatter comment naming the four candidates so a reader can refute it by producing an earlier argument.

The rule this suggests

#338 established that a mention count ranks by the wrong noun. This adds a narrower one, about repairs rather than rankings:

An abstract states the paper’s contribution in the strongest form its authors think defensible. The related-work section states what they think they owe. A claim about priority has to come from the second.

The abstract sentence — “we show that pre-norm… enable warmup-free training” — is true and is not an origin claim, and nothing but reading two paragraphs further distinguishes it from one. Both #338’s repair and this one turned on the same test; the difference is that ViT-22B’s note had already done the reading and this practice never had.

Worth noting where the check came from. I had the answer from the other paper first: Henry et al.’s QK-norm work attributes PreNorm to “Klein et al. 2017; Domhan 2018; Vaswani et al. 2018; Chen et al. 2018”, four names none of which is Nguyen and Salazar. I had opened that paper to check an unrelated lineage. The correction to unit 1’s premise came from a document filed in a different unit two days earlier, which is not a method.

Two findings the ranking did not predict

Both are in the paper and neither is what it was ranked for.

A regime where the recommendation loses. High-resource WMT’14 English-German, base Transformer: post-norm 27.58, pre-norm 26.83. The paper calls it surprising and reports Wang et al. seeing it too. SOTA-032 is universal and its note said “Not doing it is what needs justifying” with no scale qualifier. It has one now.

Most of the instability is an initialization artefact. Post-norm with default Xavier init fails to converge on en→vi at 4k and 8k warm-up. Reduce the attention layers’ initialization and it reaches 28.17 against pre-norm’s 28.52 — from fails to within half a BLEU. The paper’s phrasing is exact and much weaker than the received version: smaller init “partly reclaims PostNorm’s stability”, and pre-norm is “less sensitive to this magnitude”.

The record had been carrying the dramatic version. What survives it intact is depth without warm-up, where post-norm fails at five and six layers and pre-norm does not — categorical, not marginal.

An error of mine, corrected in the same contribution

LIT-640 (QK-norm, filed two days ago) said its +0.928 BLEU was measured “against state-of-the-art bilingual benchmarks”. That is the paper’s own abstract phrasing and it is true. It is also the kind of true that misleads: the baseline row is Nguyen and Salazar’s system, and the comparison changes two things at once — ScaleNorm to LayerNorm, and scaled dot-product to QKNorm.

So the number is not QK-norm against a plain Transformer. I took an abstract’s framing into a note without checking the results table, in a note whose whole point was that a hedge in one document does not travel to the document citing it. The same failure, one level down, in the repair for it.

Both corrections in this unit have the same cause and it is worth saying plainly: an abstract is an argument, and a note built from one inherits the argument rather than the evidence.


A component named in 23 practices and held by no note

2026-09-24 18:18:47 · curation · record

Unit 2 of #342. The defect is the cleanest instance yet of the shape #290 named and this record keeps rediscovering: the floor, not the frontier.

The measurement

106 documents in this record name the softmax. 23 practices name it. Before this unit, no LIT note in the record had softmax in its title, and nothing held a claim about the operator itself.

That is not an oversight anyone made. The softmax is not a technique somebody proposed and others adopted — it is a piece of arithmetic that arrived with the architecture and has never been the subject of a recommendation. DP-007 covers exactly this: what everyone agrees on has no arrival event, so nothing in the record’s usual machinery goes looking for it.

The difference here is that there is something to say about it, and it is not an endorsement. It is a limit.

Why the gap survives every check

The record’s checks all run along declared edges. A practice that names the softmax in its prose declares no relation to it, because there is nothing to declare a relation to. There is no unbound relation, no retired citation, no missing source:. The component is load-bearing in 23 recommendations and structurally invisible in all of them.

A trunk with no document is not a broken edge, it is an absent node, and absent nodes do not appear in a report about edges. The only instrument that finds them is the one #290 stumbled into: read a catalogue’s bibliography and ask which of these the record leans on without holding.

What made this one worth the unit

Not the count. The count would have justified a note saying what a softmax is, which would have been worthless.

What justified it is that the paper proves something the record’s existing documents are silently assuming the opposite of. Three documents here are about attention sharpness — THEORY-061 bounds entropy below as weights grow, THEORY-062 names spectral concentration as a crash predictor, SOTA-192 bounds the logits to stop entropy collapsing — and all three treat sharpness as the dangerous direction. This paper shows sharpness is also the fragile direction: bounded logits plus growing n force every coefficient towards zero, so a head that looks like a robust circuit in-distribution is a head whose input size has not grown yet.

The two bounds meet on SOTA-192. Its Proposition 3.1 names the intervention in so many words — normalisation before the query-key mechanism clamps the activation norms — and the δ that practice shrinks is the δ in the dispersion cap.

That is a real interaction and it is not a finding, which is the line the unit had to hold. Nobody has measured whether QK-normalised models disperse sooner. It is written in SOTA-192 as a consequence of two inequalities with the arithmetic shown, explicitly not as a cost anyone has paid, and the recommendation is untouched.

The candidate that was declined, and why declining was the work

Adaptive temperature is the paper’s own mitigation and it is tempting: a drop-in softmax replacement, streamable, compatible with FlashAttention, with p < 0.05 gains from 64 items up.

Then look at the axis. Baseline max retrieval: 98.6% → 12.4%. With adaptive temperature: 98.6% → 14.0%.

A Proposed practice recommending this would be technically accurate and would tell a reader something false about its importance — that there is a known mitigation for dispersion. There is not. The authors say so (“ad-hoc”, “warrants further investigation”), and the honest filing is to record the technique in the note with the number that decides it, plus what would change the verdict.

Filing the strongest thing in a paper is not the same as filing the thing that is true, and a 1.6-point patch on an 86-point collapse is the clearest case of that distinction I have hit in this line of work.

A gap this opens

The theorem’s escapes are three families the record holds nothing on: zero documents name the Differential Transformer, selective attention, sigmoid attention or stick-breaking attention.

Worth noticing what that does to an existing line. The record’s linear-attention cluster (#161) is filed as an efficiency story — fewer FLOPs, less memory. This paper is an argument for the same family on expressivity grounds: unnormalised attention does not disperse. Same techniques, entirely different reason to want them, and the record currently holds only the first reason.

That is a candidate worth ranking, and it is not in #290’s queue, so #342 has not ranked it either.


The most-cited video report holds no measurement, and is cited for one it never made

2026-09-24 18:33:58 · curation · record

Unit 7 of #331 was blocked for a day. openai.com returns 403 to the build environment, and web.archive.org and archive.ph reset the connection. A reader proxy got through: r.jina.ai/<canonical URL> returns the page as Markdown, with the author list and references. Try it before calling an openai.com source unreachable.

The mirror loses the embedded videos. For this report the videos are the evidence, so the note records its video-backed claims as claims. A reader with a browser could add what the videos show, though they would still be curated samples.

What was in it

Nothing measured. The report has no table, metric, sample count or baseline. It has two comparisons. One shows one set of samples at three compute levels. The other compares Sora with a square-crop variant. Both are shown and neither is quantified. “Purely phenomena of scale” has no smaller model shown failing. That is the report doing what it says it does: “Model and implementation details are not included”.

The finding is what the record had been doing with it. NOTE-350 said Sora uses “a separate upsampler”. That came from LTX-Video §2, which attributes to this report “an upsampler working directly in pixel space, conditioned on the latent outputs of the base model”. The report never mentions upsampling. LTX-Video’s authors may know it from elsewhere, but they cite this report, and the report cannot support it.

This is DP-004’s shape again, the same one the substrate filing found. The claim sat on an unheld source, so no pass could check it. It is DP-010 as well: the unsupported sentence is the specific one, and the specific sentence is the one that gets repeated.

What was not done

  • No practice for native-size training. Sora’s square-crop comparison is the only evidence the record has, and it is qualitative. NaViT (2307.06304, Sora’s reference 18) would be the place to start, and it is not held.
  • Movie Gen’s and Wan’s Sora comparisons were not re-read. They are already in NOTE-334 and NOTE-333. Filing Sora did not change them.
  • The unbound line in the lineage report (LIT-640, LIT-641, LIT-651, the QK-norm group) is already on main. It does not come from this filing and was left alone.

A promote_when that was nearly met, by the wrong criterion

2026-09-24 18:45:42 · curation · record

Unit 3 of #342. The unit found what it was ranked for, and the judgement that took the time was not whether to file the paper — it was what the paper does to a promote_when it very nearly satisfies.

The situation

THEORY-032 is Proposed. Its promote_when read:

An ablation that uses the condition as a decision rule — spectral updates on the blocks that pass it, Euclidean on the blocks that fail — and trains faster than applying spectral updates everywhere.

Wang et al. ran a per-block ablation of exactly that shape. Muon on some blocks, Adam on others, everything else matched. It is the first such experiment this record has seen.

And it does not meet the condition, for two reasons that are easy to elide:

  1. The decision rule is different. THEORY-032 selects blocks by the stable rank of their incoming activations. Wang et al. select them by architectural role — is this block an associative memory. Nobody has checked whether the two rules pick the same blocks.
  2. The outcome is “nearly recovers”, not “faster”. VO+FFN tracks full Muon closely. It does not beat it. promote_when asked for faster, and nearly recovers means the selective variant is free, which is a weaker and different claim.

Why this was worth being careful about

The tempting move is to promote. The experiment is the right shape, it is the only one of its kind, and the record has been waiting for it since 2026-09-20. Promoting would have been defensible in a sentence and wrong.

The reason it is wrong is that THEORY-032’s content is the inequality — the spectral bound beats the Euclidean one by the ratio of the gradient’s nuclear rank to the incoming activations’ stable rank. An ablation that selects blocks by a different property tells you nothing about whether that ratio is the operative quantity. It could be that associative-memory blocks are exactly the low-stable-rank ones, in which case the two accounts are one account. It could equally be that they are not, in which case THEORY-032 names a quantity that correlates with the regime Muon is used in — which is the failure its own original promote_when said it was written to exclude.

So what the paper actually delivered is a discriminating experiment, not a promotion. The amended promote_when says so, and adds the part that was missing: what a negative result means. Measure the stable rank of incoming activations for QK, VO and FFN; if the ordering does not match the measured gains, the status should fall rather than rise.

A promote_when that only says how to be promoted is half a specification. This is the first one here that names its own refutation, and it is cheap — three measurements on a model somebody has already trained.

What the ablation did establish

The half that was genuinely in doubt. A per-block split is nearly costless, so “apply the spectral update only where it pays” is a real object rather than a hypothetical, whatever rule ends up selecting the blocks. Before this, the record had no evidence that a hybrid optimizer configuration was even viable.

And the localisation is sharp enough to be actionable and surprising: VO and FFN carry it, QK does not, and QK and VO are the same size, which the authors flag themselves to kill the parameter-counting reading.

An observation that cuts against the paper’s own story

Worth recording because it survived into both new documents rather than being smoothed over. The paper reports that Muon also learns more isotropic QK weights than Adam — and QK is the block that contributes little to the gain.

So isotropy is general and the benefit is not. Isotropy cannot be the whole mechanism; the associative-memory structure has to be doing work that isotropy does not do by itself. The paper does not dwell on this and the account is weaker for it, which is why the theory is Proposed and why that sentence is in its “why Proposed” section rather than in a footnote.

A shape worth naming: a Proposed account becoming load-bearing

The mechanism here assumes the associative-memory reading of FFN layers — THEORY-081, which is Proposed on 160 hand-annotated keys of a single 16-layer model. An optimizer result now depends on it.

That raises the cost of its being wrong without being evidence that it is right, and those are different things that feel like the same thing. The instinct is to treat downstream use as corroboration; it is not. THEORY-081 is deliberately left unamended, because its promote_when asks for a replication or a causal edit test, and a downstream user is neither.

But a reader of THEORY-081 would want to know that something now leans on it, and the record has no field for what depends on this account in the direction that matters. That is a real gap and not obviously a lint question: the dependency is in prose, in a different document, and pointing at an assumption rather than a citation.


The paper behind native-size training credits throughput, not aspect ratio

2026-09-24 20:11:00 · curation · record

#331’s last follow-up asked for a practice on training at native size rather than fixed crops. It was to start from NaViT, the paper Sora cites for the idea. Reading NaViT narrowed the practice.

What the paper measures, and what it is remembered for

NaViT is remembered as “native resolution beats square crops”. What it measures is a package: aspect ratio, sampled resolution, token dropping and sequence packing, against a square 224 ViT at matched compute. The package wins across 12 budgets. The paper then says why: “the chief contributor here is the significant increase in the number of training examples processed”. That is about 5x more images, because small, packed images are cheap.

Pulling the parts apart:

  • Variable resolution is cleanly isolated. Fig. 5 has native aspect in both arms at equal FLOPs.
  • Aspect ratio is isolated once, in a linear probe on fairness attributes over frozen features (p = 0.02). That is a statement about probe inputs, not pretraining.
  • Its pretraining does not use native resolution. It samples r ~ U(64, 256) and resizes to that area (App. A.1). The authors chose sampling for control over throughput.

So the practice is filed at the width the evidence supports. The title still names aspect ratio, because that is what the package lets you keep. The table in the body says which part rests on what. This is DP-010 again: “native resolution” is the citable part, and it is the part with the least support.

Found along the way

  • The out-of-distribution gains depend on how the square baseline is evaluated. With ViT’s aspect-preserving centre crop, ObjectNet is about tied (57.7 against 57.9). With a plain square resize, the gap is 9 points (39.8 against 48.8). Part of NaViT’s robustness result is the square baseline’s resize distorting extreme-aspect images.
  • SOTA-251 is the rival and nobody has compared them. SOTA-251 holds resolution low and raises it in the decay phase. NaViT mixes resolutions throughout and objects that staged schedules cannot be reversed. Both are Proposed, and each is one lab’s recipe. Recorded as a relation in prose, not as contested_by: neither paper tests the other’s schedule.
  • No generative evidence exists yet. Sora and SDXL’s crop conditioning are qualitative. The generative half of #331’s follow-up stays open, and promote_when says what would close it.

A prediction that was wrong, and the condition that was there instead

2026-09-24 20:13:16 · curation · record

Unit 4 of #342. The unit is worth writing up for the thing it did not find, because the ranking predicted a defect and the prediction was wrong in a way that was cheap to establish and would have been expensive to get wrong.

The prediction

#342 ranked 2112.05682 fourth with this row:

61 files, 5 practices name FlashAttention. SOTA-085 (Active) carries introduced_by: LIT-074 — Dao et al., May 2022. Same shape as #338; verify before asserting.

The arithmetic is right: Rabe and Staats is December 2021, FlashAttention is May 2022, and SOTA-085 credits the later one. After two units where exactly that pattern was a real defect, the pull toward a third repair was strong.

Why it is not the same shape

SOTA-192’s title was normalize the queries and keys before the attention dot product — a generic technique, credited to a paper that had adopted it and whose own note declined the credit.

SOTA-085’s title is use flash attention. That names an artifact. Flash attention is Dao et al.’s system: the CUDA kernel, the IO-aware framing, the HBM-access bound, the derived block sizes. The recommendation to run that thing was first made by the people who built it, and no amount of antecedent changes it.

The distinction generalises and is worth having: a practice whose title names a technique can be credited to the wrong paper; a practice whose title names an artifact usually cannot. The failure mode for the second kind is different — it is that the artifact’s paper gets credited with the ideas underneath it, which is what LIT-074 was doing by naming no antecedent at all.

So introduced_by is unchanged, and the argument is written into the practice’s Source section rather than only here, so the next pass over this line does not re-open it.

What was actually there

The paper carries a number the record needed and did not have, and it is in the abstract:

is within a few percent of the runtime of the standard implementation of attention

Same algorithm, same exactness, same 59× memory reduction at 16,384 tokens — and no speedup, because “standard self-attention already balances the available FLOPs and memory bandwidth of TPUs.” They repeat the point about chunk sizes: √n is optimal for memory, and the runtime consequence is “heavily affected by the choice of hardware.”

So SOTA-085 had been carrying two claims as one. Less memory is a property of the algorithm and holds wherever it runs. More speed is a property of a memory hierarchy where HBM traffic is the bottleneck — which is the GPU case LIT-074 measures, and explicitly not the TPU case measured here.

SOTA-085’s existing condition section is about whether the kernel runs: on-chip memory per SM, head dimension, dtype, a compiled path. That is a real condition and it is not this one. This one is about whether the benefit transfers, and nothing in the record asked it.

The shape underneath both

LIT-074 said it was the source of four confirmed practices and named nothing before it. The chain is three deep:

  • Jang et al. (2019) — the algebraic identity. Rabe and Staats call their own Equation 1 “a rediscovery” of it.
  • Rabe and Staats (2021) — the memory-complexity result, stability, differentiation, a working implementation.
  • Dao et al. (2022) — IO-awareness and a CUDA kernel that converts the memory saving into wall-clock time on GPUs.

Each link credits the one before it in its own paper. The record held the last one and none of the credits, which is the same transitive-hedge shape #338 filed: the citation travels along the edge and the attribution does not. Three units in a row have now turned on reading a paper’s related-work section, and the cost of that reading is minutes.

What the unit says about ranking

#342 got this one wrong and got it wrong usefully, because the row said “verify before asserting.” A ranked queue whose rows carry their own uncertainty is worth more than one that only carries confidence, and the cost of the wrong prediction here was a single fetch.

The pattern to avoid is the one that nearly happened: two consecutive units finding the same defect makes the third look like a foregone conclusion. Three instances is where a shape starts generating false positives rather than finding true ones, and the guard is the one the issue already had — state the prediction as a prediction, and read the paper.


The record bet on which half of a paper would survive, and picked the wrong one

2026-09-24 21:23:37 · curation · record

Unit 5 of #342, on the record’s largest cluster — 127 documents naming quantization, 18 practices. The finding is a defect of a kind this record has not filed before: not a missing document, not a wrong edge, but a correct forecast made about the wrong variable.

The bet

LIT-586 is LLM.int8(). Its Standing section ends:

“Without any performance degradation” is doing a lot of work… The emergent-outlier characterization is the part that has been independently built on; the no-degradation headline is the part a later, harder evaluation could move.

That is a good sentence. It identifies that the paper makes two separable claims, flags the one that is an absence-of-evidence result, and predicts where the paper will erode. It is exactly the kind of judgement the record exists to hold.

It is also backwards. The no-degradation headline has held. What moved is emergent — and it moved because somebody ran the controlled version of the question that the original could not, holding architecture fixed and varying weight decay, dropout, gradient clipping and training dtype from 410M to 52B.

Why the bet was wrong, which is the useful part

The sentence reasoned about the form of the claim: a no-degradation result is an absence-of-evidence claim on a fixed evaluation suite, and those are fragile. True, and it is DP-010’s shape.

What it did not reason about is what kind of evidence each claim rested on.

  • No degradation up to 175B — a measurement. Fragile to a harder evaluation, robust to everything else.
  • Outliers are emergent at scale — an inference from a correlation across models trained by different groups with different recipes. Fragile to anyone who trains the models themselves.

The second is much weaker and the section read it as the strong one, because it had been cited more. The give-away is in the sentence itself: “independently built on.” That measures adoption. DP-005 exists to keep adoption out of the evidence column, and this is that principle applied one level up — not to a recommendation, but to which of a paper’s claims the record expects to survive.

A characterization that many papers build on is well adopted. It is not well replicated, and those come apart exactly as they do for practices.

What replication found

Worth recording in full, because it is the only independent attempt at this detection the record holds:

we find that a threshold of 6.0 is too high to classify a feature dimension as an outlier for all the variants we consider. After correspondence with the authors, we also explored various adaptations of this outlier detection recipe… However, we did not observe a clear correlation between these measures and sensitivity to quantization.

SOTA-355’s step 2 is detect the feature dimensions whose magnitudes are far outside the rest. One group, in contact with the original authors, could not do it in a way that predicted what it is supposed to predict.

The practice keeps its status, and the reason is worth being precise about: the shipped implementations work. load_in_8bit=True has a detector that holds up in production, and the decomposition is sound on models that have outliers. What failed is the published criterion, reproduced from the paper by someone else. Those are different objects and the practice now says so.

A detail that explains more than it looks like

OPT-6B’s LayerNorm gain parameters are all hardcoded to 1.0. Ahmadian et al. flag it, say they could not find the decision documented in the OPT paper or repository, and note it makes STD(g) exactly zero for that model.

OPT is the family the emergent-outlier story was largely measured on. An undocumented architectural decision in the reference model for a phenomenon is the kind of thing that turns a property of scale into a property of one lab’s configuration, and nobody would find it without training their own models and going looking.

What this unit files, and one thing it does not

Three documents plus two corrections. The one it does not file is a retraction: outliers are real, SOTA-355 handles them correctly, and the new practice reduces the outliers you get rather than showing that everyone else’s do not exist. The claim that moved is inevitability, which is weaker than existence and much more useful — it is what turns a repair into a choice.

The broader question the source raises and the record should hold onto: a discontinuity measured across models trained by different groups with different recipes is not the same object as one measured across models trained identically at increasing size. The emergent-capabilities literature mostly has the first kind.


Two outlier phenomena, two different resolutions, one shared mistake

2026-09-24 22:27:29 · curation · record

Unit 6 of #342, and the last of its Tier A. The unit is straightforward — a characterized defect in a component 107 documents lean on, with a fix that costs nothing — so this entry is mostly about the thing that only became visible because unit 5 happened first.

The coincidence

Unit 5. Activation outliers in language-model feature dimensions break INT8 quantization. Reported as an emergent property: sharp degradation above ~6B and not below. A controlled study holding architecture fixed found the sensitivity tracks weight decay, dropout, clipping and training dtype instead.

Unit 6. High-norm outlier tokens in ViT feature maps spoil attention maps and dense prediction. They appear only at ViT-Large and above, only after a third of training, around layer 15 of 40. Read alone, that is the same story. The resolution is different: the model is using redundant patches as scratch space because it has nowhere else to put global state, and giving it dedicated slots removes the artifacts entirely.

Two units in a row, in different modalities, on phenomena called outliers, both correlated with scale, both with the scale correlation turning out not to be the explanation.

What the pair is and is not

It is tempting to write this up as a finding: activation outliers are never really emergent. That would be wrong twice over.

They are different phenomena. Feature dimensions across a whole model against token positions within a sequence. One is about the numerical range of a weight-activation product, the other about what a position encodes. Different causes: a hyperparameter in one, a missing architectural affordance in the other. Different remedies, applied at different times — set weight decay before training, or add tokens to the sequence.

And the record’s own rules say what the resemblance is worth. Two papers reaching similar-shaped conclusions by unrelated routes is not two measurements of one thing. ADR-011 reserves compared_against for a comparison somebody ran; nobody ran this one. So both documents state the parallel and both state that it supports a question rather than a conclusion: when an activation pathology appears above a size threshold, what else changed at the same time?

That is worth having because in both cases the answer was something nobody was holding fixed, and in both cases finding it required training the models yourself.

The record can see the pair at all only because of ADR-026 — file by the kind of claim, not the domain it was found in. Under the old scheme these would be a quantization document and a vision document and nothing would put them next to each other.

Why the theory is Active on one paper

Worth writing down because this session has filed several Proposed theories on single sources and this one differs.

The difference is that the account made a prediction and somebody tested it. The hypothesis is that the artifacts exist because the model needs scratch space; the prediction is that supplying scratch space should relocate them; the test is appending register tokens; the result is that the high-norm patch tokens disappear entirely across three training paradigms.

Compare THEORY-099 from unit 3, which is Proposed: its mechanism (isotropic spectra) is measured alongside the effect rather than intervened on, and the paper’s own ablation selects blocks by a different criterion. And THEORY-100 from unit 5, also Proposed: the LayerNorm gain spread correlates with degradation and nobody has manipulated it while holding the optimizer fixed.

A successful intervention derived from the hypothesis is worth more than any number of correlations consistent with it, and that is the line this record should be drawing when it decides a status on one source. Not “how many papers” but “did anyone act on it and get what the account predicted.”

Three qualifications the unit kept

Each cuts against the tidy version and each is in the documents:

  • OpenCLIP object discovery is slightly worse with registers. The one evaluation where the fix does not help. Neither the paper nor the account explains it; the paper’s analysis is in an appendix.
  • Registers do not close the gap. DINOv2+reg reaches 55.4 corloc on VOC 2007; the original DINO reaches 61.9. If artifacts were the whole difference, the gap would have gone. Something else about DINOv2 also costs object discovery and nobody has named it.
  • “Redundant” is a proxy. Operationalised as cosine similarity to four neighbours, which stands in for what the model can afford to lose rather than measuring it.

The finding about a held document

LIT-599 is DINOv2, and the record reaches for it as a frozen feature extractor. The paper says “DINOv2 is surprisingly incompatible with LOST” — and object discovery was a task family the previous generation had advanced the state of the art on. 35.3 corloc against DINO’s 61.9.

A better model that regressed a whole task family by nearly half, because of artifacts nobody had characterized. That is the sharpest instance this session has found of a pattern worth naming: a thesis that holds on the evaluations run is not the same as a thesis that holds. LIT-599’s claim is that curation plus scale gives general-purpose features; the qualifier belongs in the note now.


A practice waiting fourteen months for an ablation that already existed

2026-09-24 22:42:11 · curation · record

These are the rest of #331’s open items. Three were searches, run by a subagent and then re-checked here against the PDFs, and two were practices the video readings had flagged. The largest finding was on neither list.

SOTA-263 was waiting for something published in January 2023

SOTA-263’s promote_when asked for “an ablation reporting what the shift is worth”. The practice said the shift was “derived, then demonstrated qualitatively”, and it named SD3 as its origin. All three statements were wrong in the same way.

  • SD3 names the source. It says its log-SNR shift is “similar to (Hoogeboom et al., 2023)”.
  • That paper, simple diffusion, measures it. Its Table 2 is the requested ablation: 7.65 → 3.76 FID at ImageNet 256, with only the schedule changed.
  • A concurrent paper measures it too. Chen (2023) sweeps the same shift written as input scaling.
  • SD3 itself has a number. Fig. 6 is a human-preference sweep of the shift value. The note on SD3 called it qualitative.

This is DP-004 again, in the shape the last three entries found:

  1. The practice was written from the paper that popularized the idea.
  2. That paper’s related-work pointer was not followed.
  3. The condition was then written to wait for evidence that already existed.

The origin and the evidence were both one citation away. A promote_when is only as good as the search behind it, and this one had none.

The promotion also exposed a flaw in the condition itself. Its second clause, “a second high-resolution training report that says it shifted for this reason”, counts adoption. LTX-Video and Open-Sora 2.0 had already satisfied it, and two readings (NOTE-350 and NOTE-345) flagged that to the curator. That clause was not used, per DP-005. The first clause is what moved the practice. ADR-014 says a condition should name a kind of result, not a count. This clause named a kind of report, and reports are cheap.

The re-read also changed what the practice says. Every source derives a shift from pixel count, and none uses the derived value:

  • SD3 derives α = 4 and uses 3.0.
  • Simple diffusion picks its reference resolution empirically.
  • Chen’s sweep is not monotone.
  • FLUX.2’s latent-channel version misses its prediction too.

So the practice now says to shift in the predicted direction and tune the amount.

The three searches

The W.A.L.T, FiT and Multigrid numbers below were re-extracted from the PDFs here. The Latte, NiT, FiTv2 and SigLIP 2 descriptions are the subagent’s and were not re-checked.

  • A compute-matched test of a separate image corpus (SOTA-386). Not found. W.A.L.T Table 5 is the only ablation with a separate corpus switched on and off. It is filed, and it does not state compute. Latte’s “+IMG” arm, like VDM’s, uses frames of its own videos.
  • A quantitative generative test of native aspect ratio (SOTA-398). FiT is the best isolation, and it is filed. It shows no gain at square output. NiT (2506.03131) Table 4 holds the token budget fixed across data mixtures, but its square-only arm is not in its aspect-ratio test. It is not filed. FiTv2’s “mixed” arm is evaluated only against centre-cropped references.
  • Staged against mixed resolution (SOTA-251 against SOTA-398). No ViT comparison exists. Multigrid (1912.00998, Table 1) is the only head to head, on a video CNN. Long cycles only give 74.5%, short cycles only 74.0%, and both 76.4%, against a 75.6% baseline. It is not filed. Its long cycle repeats in every learning-rate stage, so it is not SOTA-251’s late raise. SigLIP 2’s NaFlex against standard comparison changes four things at once.

A contrary datum picked up on the way

W.A.L.T’s Table 3b is the only numbered comparison against full 3D attention in the record. Windowed hybrids match it at 1.7× the speed. It is recorded as a condition on SOTA-390 and does not contest it. It is 128px and 17 frames, where full attention is cheap, and it is not the 2D+1D factorization the practice argues against.

Method note

The subagent’s report was accurate on every number checked: the W.A.L.T, FiT and Multigrid tables. It was right to flag W.A.L.T’s missing compute. It did not spot the SOTA-390 datum in the same paper, because its brief did not ask. The same DP-004 shape applies to delegated search.


A claim made across a gap the record had itself written down

2026-09-24 23:11:21 · curation · record

This unit went ahead of #342’s Tier B because the owner asked whether the record held DINOv3. It did not, and the measurement that followed found something worse than a missing successor.

The measurement

31 documents reference the DINO family. 12 practices touch it. The record held DINOv2 (LIT-599) and, as of the previous unit, the registers paper. It held neither the origin (2104.14294) nor DINOv3 (2508.10104).

So the shape is the one this whole queue keeps finding — the record holds the middle of a lineage — with one aggravating feature: the previous unit made it worse. LIT-662’s headline evidence that DINOv2 regressed object discovery is 35.3 corloc against DINO’s 61.9. I filed that comparison yesterday against a paper the record did not hold, and did not notice.

The defect worth writing down

SOTA-365 is Active and converged: “Learn without negatives by breaking the symmetry: a predictor on one branch and a stop-gradient on the other.” Its consensus note reads, in part:

LIT-216 (I-JEPA), which this record already held, is built on a predictor plus an EMA target; the #304 units still to file — DINO and DINOv2 — carry the same structure.

That sentence does three things well and one thing fatally. It names its evidence, it distinguishes adoption from replication elsewhere in the same note, and it says explicitly that the papers are unfiled. And then it makes a structural claim about them anyway.

DINO has no predictor. Its own words: “our method can work with only a centering and sharpening of the teacher output to avoid collapse.” Centering and sharpening are two opposing operations on the teacher’s output distribution, and that opposition does the job the predictor does in BYOL and SimSiam. The DINO line is a second route to negative-free learning, not more adoption of the first.

So converged was resting partly on a miscount: two of the descendants it counted were not in the family.

The pattern: a gap the record has written down is still a gap. Naming an absence does not license reasoning across it, and the note’s own honesty about what it had not read is what makes the error legible now. #304’s SSL audit listed DINO as a unit still to file; the gap was recorded and open for a month.

What DINOv3 turned out to be worth

Not the model. The finding is that the two things you measure come apart under a long schedule:

  • ImageNet linear-probe top-1 improves monotonically, ViT-g and ViT-7B.
  • Pascal VOC segmentation mIoU declines after ~200k iterations, and for the 7B falls below its early levels.

Their phrase: “a relative independence between learning strong discriminative features and maintaining local consistency.” The global metric is improving while the property people actually use these features for degrades.

This session has now hit that shape three times in different clothes. AlphaCode: validation loss rises while solve rate keeps improving. SOTA-284: KL improves monotonically while the coverage profile degrades. And here: classification up, segmentation down. The metric you watch and the property you need come apart, and the direction of the divergence is not predictable from either.

Two defects in one recipe, on different axes

The interesting result of holding all four papers at once, which none of them says alone:

defectaxisremedy
high-norm token artifactsmodel size — ViT-L and aboveregisters
loss of patch localitytraining duration — after ~200k iterationsGram anchoring

DINOv3 is explicit that these are different: “with the integration of register tokens, patch norms remain stable throughout training”, and locality rots anyway. That is the same group confirming their own earlier fix worked and did not cover this.

LIT-599’s thesis is that curation plus scale produces general-purpose features. It does, on the evaluations run — and both things that went wrong were invisible to those evaluations, one needing a larger model to appear and the other a longer schedule. That qualifier has now been added to that note twice in two days, by two different papers, and it is starting to look less like a caveat and more like the finding.

On going out of queue order

#342’s Tier B was next and this was not on it. The argument for jumping: the previous unit created a dangling comparison against an unheld paper, and a question from outside surfaced it. That is not a ranking failure so much as a demonstration that a queue cannot see the dependencies its own work creates — filing the registers paper is what made DINO load-bearing, and no count taken before that unit would have ranked it.

Worth remembering the next time a queue looks finished: the last unit may have added to it.


The record attached a result to the paper that used it

2026-09-24 23:57:44 · curation · record

Tier B unit 1 of #342. A new defect shape, and a cheap one to check for once named.

The shape

SOTA-153 recommends dropping positional encoding from the global-attention layers of a hybrid. Its source: list carries a careful frontmatter comment:

LIT-207 is not a hybrid paper — it is the result the other three rest on — but it is the source of the claim that the global layers lose nothing by dropping the encoding.

That comment is doing exactly the right work. It distinguishes the papers that ship the layout from the paper that establishes the result the layout needs, which is a distinction most source lists collapse. And the paper it names is the wrong one.

LIT-207 is Kazemnejad et al., 2023. Its own summary in this record reads “A decoder-only transformer without positional encoding is shown to represent both absolute and relative position anyway.” The absolute half of that is Haviv et al., 2022 — a year earlier, with the probing that shows where the position appears and the mechanism that explains why.

Why this is not the introduced_by defect

Three units of #342 turned on introduced_by pointing at an adopter. This is adjacent and distinct, and the difference is worth keeping.

introduced_by asks who first made this recommendation. The failures there were about practices crediting the wrong paper for advice.

Here the field is source: and the object is a result. LIT-207 is a legitimate source for SOTA-153 — it ran the comparison the practice’s extrapolation argument rests on. What went wrong is that a second result, which LIT-207 reports because it inherited it, got attributed to LIT-207 as well. The paper says the true thing; the record read it as the origin of everything it says.

A paper that restates a prior result in its own abstract will be credited with it by anyone reading only that abstract. This is the same failure mode as #343’s — an abstract states a contribution in the strongest defensible form — one level over: not about priority of a recommendation but priority of a finding, and detectable by the same move, which is to read the related-work section.

The cheap check, now that it is named: for a source: entry that supplies a result rather than a recommendation, ask whether that paper’s related work credits someone else for it.

What the correction bought

Not just a citation. Three things the cluster did not have.

A mechanism. 23 documents here say “NoPE” and none said why it works. It is the causal mask: a token that can count how many predecessors it may attend to has its absolute index. Filed as THEORY-102.

A boundary. The mechanism is causal, so it is a decoder-only fact. The paper’s control is a bidirectional MLM, where NoPos perplexity is 147.18 against 4.00 — a failure to train, not a degradation. That is both the strongest evidence for the account and the clearest statement of where it stops.

A depth profile. Position is absent at layer 1, recovered within four layers, as good as learned embeddings by mid-network. Which matters because SOTA-153 is a layout decision: a hybrid choosing which layers may go without an encoding is choosing among layers that differ in how much implicit position has accumulated. No document in this record says what that does, including the two filed here, and it is the obvious question the layout raises.

A qualification the practice was overstating

“Lose nothing by dropping the encoding” is stronger than the evidence. Haviv et al.’s own limitations section:

although the margins are very small, NoPos is always slightly worse, suggesting that the inductive bias of positional encoding is indeed important.

And their scale sweep shows smaller models benefiting measurably from fixed non-parametric encodings, with the gap closing as scale grows — so the parity is a large-model phenomenon.

What NoPE actually wins is extrapolation past the training length, which is LIT-207’s result. So the practice’s grounds are sound and were misdescribed: it stands on the extrapolation, not on parity. Untangling the two papers is what made that visible — the wrong attribution was also hiding which argument the practice was making.

Active on one source, for the second time in two days

THEORY-102 is Active on a single paper, and the justification is the one THEORY-101 used: the account made a prediction with a sharp consequence, and the consequence was tested. Here the prediction is that removing the causal mask removes the mechanism, and the MLM table is the test.

Worth restating the standard, because this session has now filed four theories on single sources and split them two-two: a successful intervention derived from the hypothesis, not a correlation consistent with it. THEORY-099 (Muon) and THEORY-100 (quantization outliers) are Proposed because their mechanisms are measured alongside their effects; these two are Active because somebody acted on the account and got what it required.


A promotion condition met in spirit and refuted in letter

2026-09-25 03:40:55 · curation · record

Tier B unit 2 of #342. THEORY-071 asked to be promoted on a measurement, and the paper that made the measurement possible showed the measured quantity does not exist.

What the condition said

THEORY-071 is the circuit-efficiency account of grokking: a memorising and a generalising circuit both fit the data, the generalising one is cheaper per unit logit, weight decay moves norm from one to the other, and they cross at a critical dataset size D_crit. Proposed, on scope: all the evidence is modular addition, where the generalising circuit is a known trigonometric construction. Its condition, written 2026-09-22:

The efficiency crossover is demonstrated outside algorithmic data — a measured D_crit, or an ungrokking transition, on a task where the generalising circuit is not a known trigonometric construction.

That is a well-formed condition. It names a kind of result, it cannot be satisfied by a paper that mentions grokking in passing, and it says what would close the one gap the document admits.

What the paper did

Wang et al. observe grokking on knowledge-based reasoning — a domain nobody had reported it in — trace the generalising circuit by causal tracing rather than constructing it, and run the circuit-efficiency argument on it. Every clause of “outside algorithmic data, on a task where the generalising circuit is not a known trigonometric construction” is satisfied.

Then they vary the training-set size and nothing happens. With the inferred/atomic ratio held fixed, scaling the data changes neither the gap between the train and test curves nor the level of generalization reached. There is no D_crit in this setting to measure, and the paper says so by name, citing LIT-539 among the four papers whose critical data size hypothesis it proposes to replace with critical data distribution.

So the condition was satisfied in every part except the one that carried the measurement, and it failed there not because nobody measured but because the quantity is not there.

The call

Not a promotion. Not a demotion either. The claim is amended and the condition is rewritten.

The amendment is available because the efficiency argument transports even though D_crit does not. C_mem has to store the inferred facts as well as the atomic ones; C_gen stores the atomic facts twice at most. So N_mem grows with the ratio and N_gen is bounded, and what the regularizer compares is the ratio. Scaling the data at fixed ratio scales both. Dataset size was a proxy — an exact one in modular addition, where every example is an inferred fact and there is nothing else to trade against, and a useless one as soon as the data has two kinds of thing in it.

The title now says what the crossover is indexed on — whatever makes memorising dearer while leaving generalising alone — which covers both settings and commits to neither as the mechanism’s native variable.

The new condition asks for the efficiency ordering to be measured: parameter norm per unit logit, on the mixed networks that actually grok rather than on the C_mem-only and C_gen-only networks Varma et al. built to measure it on. That gap was always there and the previous condition looked past it, because it was busy asking for a second domain. Wang et al. argues the ordering by counting facts over a traced circuit, which is a better thing to have than a counting argument over a hypothesised circuit, and is still not a measurement of norm.

Why this is not the same as #346

THEORY-032’s condition was sharpened yesterday, and the two look alike from a distance. They are different failures and both are worth naming.

There, the ablation was the right shape and the wrong measurement — somebody ran the experiment the condition described and reported a quantity that did not settle it. The condition was under-specified.

Here the condition was fully specified and named a quantity that does not exist in the setting it demanded results from. It could only have been satisfied by a paper that found grokking outside algorithmic data and found that dataset size was what moved it — and the first half of that is what makes the second half unlikely, because a domain with more than one kind of example is a domain where size and composition come apart.

The generalisable form: a promote_when that names a quantity rather than a relationship inherits the assumptions of the setting it was written in. D_crit is not a quantity every task has. “Whatever makes memorising more expensive” is. Conditions written the second way survive contact with a new domain; conditions written the first way get refuted by the result that was supposed to confirm them.

The measurement-design finding underneath

Worth separating out, because it is the thing a reader can take away without caring about grokking.

Four papers agree that dataset size controls the transition. Every one of them establishes it by varying the training fraction of a fixed universe of examples. That is one knob moving two things — how much data there is, and what proportion of the possible examples it covers — and no amount of agreement among experiments with that design says which of the two was doing the work.

Wang et al. has two knobs and turns them one at a time. That is the whole methodological contribution, and it overturns a four-paper consensus in the setting where the separation is possible.

The reverse inference is not available and the record now says so twice: modular addition has no atomic/inferred distinction, so there is no ratio there to be the real variable. Those experiments could not have told the difference is the finding. They were wrong is not.

This also cost THEORY-069 — Active, and the document that holds the regime claim above the three mechanisms that contradict each other — its unanimity argument. Its text read “a dataset-size condition appears in all four papers, including in LIT-537’s own list of three conditions, which is the paper arguing hardest against the others.” Agreement among four papers that share a confound is worth less than the sentence implies, and the sentence was the reason given for the status. The status stands, on the regime claim rather than on the knob.

What the unit added besides corrections

A mechanism for a failure the field has only described. The “compositionality gap” is a well-known observation: models that know both hops fail to compose them. THEORY-103 says why, in a form that is testable and was tested — composition’s circuit is sequential and therefore keeps a second copy of the atomic facts in the upper layers, containing only the facts that appeared as a second hop during training; comparison’s is parallel and keeps one copy. The out-of-distribution failure is then one absent copy of one fact, not an inability to compose, and the paper confirms it the hard way: the bridge entity and the second relation are still correctly encoded at layer 5 on out-of-distribution inputs. The first hop works on facts the model never composed.

Filed Proposed, against two Active theories on single sources in the last two days. The standard this session has been applying is a successful intervention derived from the hypothesis, not a correlation consistent with it — and the intervention here succeeded: sharing parameters between the two halves of the stack takes out-of-distribution composition from flat zero at two million steps to generalizing. What holds it at Proposed is that the result is an appendix figure with no number in the text, and that the entire setting is synthetic. The standard is about the kind of evidence; it does not excuse a missing quantity.

A pair the record can now hold. THEORY-038 says a decoder cannot compose over a long context in few layers, because each position forgets what it forwarded — an expressivity bound. THEORY-103 says parametric composition works fine and generalizes only to what training queried — an incentive argument. Two different reasons transformers struggle to compose, and neither subsumes the other. That pairing is only visible because the record files by kind of claim (ADR-026): one is about what can be expressed, the other about what gets stored.

A number that needs its frame stated

The source’s headline table is a grokked transformer at 99.3% where GPT-4-Turbo and Gemini-1.5-Pro sit at or below chance (33.3%). That is a real result about parametric against non-parametric memory, and the paper frames it that way.

It is not a capability comparison, and read as one it is badly misleading: the grokked transformer was trained to convergence on the exact fact set the frontier models were handed once, in context. The LIT note says this explicitly, because the number is the kind that travels without its conditions.

The CoT column travels better and is filed on the practice: eliciting verbalization lowered Gemini’s accuracy from 37.3% to 12.0%, with 70.7% of the verbalized responses concluding the answer cannot be decided. SOTA-279’s consensus note has been saying since it was filed that its evidence was one 2022 paper plus adoption. This is the first measured counter-case the record has been able to attach to it — and the note’s caution, written before anyone went looking, is what made the slot for it.


Kanerva’s memory, filed as the source THEORY-097 was about

2026-09-25 04:05:17 · curation · record

THEORY-097 says attention approximates Kanerva’s sparse distributed memory. It is sourced to LIT-641, and the record did not hold Kanerva. This entry files the 1988 book as LIT-666. LIT-641 extends it, since that paper is a mapping onto this model and has nothing to say without it.

The source could not be read

The book is behind MIT Press, and mitpress.mit.edu returns 403 to the build environment, through the reader tools too. Two accounts were reachable:

  • OSTI record 7055202. Its catalogue abstract lists the contents: idealized neurons, neurons as address decoders, the search for the best match, distributed storage, sequence storage and retrieval.
  • LIT-641 §1 and §5, which review the model and credit its parts. They credit some parts to the book and some to Kanerva’s 1993 review.

The note follows that split. The write and read over a Hamming radius, the address decoders and the cerebellar mapping are the book’s, by LIT-641’s credit. The three optimal-radius criteria that LIT-641 fits β against are credited to the 1993 review, so the note does not give them to the book. A note that repeats the attention paper’s summary under the book’s name would be DP-010’s failure: the travelled sentence filed as the source’s.

Identifiers

Crossref has no DOI for the book, and neither does MIT Press’s own 10.7551 prefix. Its search does turn up Willshaw’s 1990 review in Cognitive Neuropsychology, 10.1080/02643299008253443, which confirms MIT Press 1988, 176 pages, ISBN 0-262-11132-2. ACM’s Guide lists it as 10.5555/534853. That prefix is ACM-internal and does not resolve through doi.org, so the DOI remote would report it as unverifiable. The source is the publisher’s catalogue URL, the weakest kind the record accepts. It is the paperback page (ISBN 9780262514699), the only one MIT Press still lists.

What was not done

  • The book was not read. Two questions are left open for a reading, and the note names both. First, is the hypersphere-intersection weighting derived in the book, or made explicit later? Second, which biological claims are the book’s own?
  • Kanerva’s 1993 review was not filed. It is where LIT-641 sources the optimal radii. Filing it would let THEORY-097 cite those radii directly.
  • No practice moved. SOTA-192 recommends QK-norm on its own evidence.

The record was recommending an architecture change it held no paper on

2026-09-25 06:36:07 · curation · record

Tier B unit 3 of #342. Yesterday’s unit filed an account whose best evidence is an architectural intervention. Today’s discovered that the record held nothing at all on the intervention, and that when somebody did measure it at scale the sign came out the other way.

What the previous unit left behind

THEORY-103 says two-hop composition fails out of distribution because the generalising circuit keeps a second copy of the atomic facts in the upper layers and only stores what training queried from there. Its strongest evidence is that the derived fix works: tie the two halves of the stack together, and out-of-distribution composition goes from flat zero at two million optimization steps to generalizing.

The fix is Universal Transformer’s parameter-sharing scheme. After that unit merged, this record contained one mention of Universal Transformer — in the changelog fragment the unit itself wrote — and seventeen mentions of ALBERT, which is the paper that took cross-layer sharing to production scale, across zero practices. Every one of the seventeen either measures on ALBERT (THEORY-065, THEORY-066, LIT-528, LIT-530) or names “ALBERT-style layer sharing” as an instrument (LIT-303, LIT-316).

So the shape is the DINO one from yesterday, and worth naming again because it has now happened twice in two days: a queue cannot see the dependencies its own work creates. No count taken before this morning would have ranked ALBERT above EDM2 (41 mentions) or the CLIP cluster (199). What moved it was a document filed hours earlier.

The difference from the DINO case is the direction. There, filing the registers paper made DINO load-bearing and DINO supported what was said about it. Here, filing the composition account made sharing load-bearing and the paper that measured sharing disagrees — which is the more useful of the two outcomes and the one a ranking by mention count will never find.

The asymmetry

What ALBERT supplies is not a verdict on sharing. It is a split nobody in this record had:

sharing strategyE = 128E = 768
attention parameters only+0.1−0.7
feed-forward parameters only−1.4−2.8
everything−1.5−2.5

A transformer block has two halves and they are not equally compressible across depth. Sharing every attention block in a 12-layer stack is free and removes a quarter of the parameters. Sharing the feed-forward blocks is where the cost is, and all-sharing is barely worse than FFN-sharing alone — the FFN is the cost.

Filed as SOTA-403, a practice, not an explanation, because there is a number and no mechanism. The document says so, and says what the obvious candidate mechanism would be, and declines to claim it.

Why the pricing matters to yesterday’s theory

The two results are about the same knob and they do not merely coexist.

THEORY-103 is an argument about where facts are stored: the upper layers hold a second copy of the atomic facts, and only the ones training queried. If that is right, the per-layer store the account is about is feed-forward weights — which is exactly the half ALBERT measured as expensive to share. The fix the account endorses therefore cannot be had cheaply, and the reason it cannot is the account’s own premise. A theory that explains why its own remedy is costly is in better shape than one that does not, and the document now carries it as a section rather than a footnote.

It also yields an implication neither paper tested, filed as an implication: if sharing the FFN costs because it removes per-layer storage, the cost should concentrate wherever the upper layers had something of their own to store, and a model whose upper layers were storing little should share them cheaply.

Two measurements, opposite signs, and a paper naming it

Worth recording as a piece of scholarly hygiene rather than a finding about transformers. ALBERT’s related work:

Different from our observations, Dehghani et al. 2018 show that networks with cross-layer parameter sharing (Universal Transformer, UT) get better performance on language modeling and subject-verb agreement than the standard transformer.

Same intervention, opposite sign, stated plainly instead of glossed. That is what makes the disagreement usable — and what makes it safe for this record to hold both without pretending to resolve them. Universal Transformer is now the clearest single gap the sharing line has, and it is an unranked candidate rather than work, because the two papers this record does hold on the subject already disagree and a third measurement will not adjudicate a two-way split by arriving.

A number that keeps coming back

ALBERT-xxlarge has fewer parameters than BERT-large and 3.17× lower throughput, which the discussion concedes in its first sentence. That is unit 4’s flash-attention finding wearing different clothes: a resource saving in one currency advertised as a saving in another. The abstract says “increase the training speed of BERT”; the configuration that produces the headline results is three times slower per step.

What rescues it is that Lan et al. ran the comparison that settles it — equal wall-clock, BERT-large at 400k steps in 34h against ALBERT-xxlarge at 125k in 32h — and won by +1.5 average and +5.2 on RACE. The parameter count was never the argument. The record now holds the equal-time table beside the parameter table, which is the whole point of keeping both.

Nothing was wrong, for once

Four consecutive units each found a defect: three introduced_by misattributions, one source: crediting the paper that used a result. This one found none, and the reason is structural rather than lucky. The gap here was an absence — nothing in the record said anything about which half of a block you may share, so there was nothing to be wrong. An absence produces no defect report and no warning; it is only visible when something else in the record starts leaning on it.

Which is the argument for filing the dependency in the same week rather than adding it to a queue. SOTA-240 is the same story from the other end: its v2 said in plain words that its own right edge was “an inference, not a reported result”, and that admission sat there for four days until a paper that reported it turned up for an unrelated reason. A gap the record has written down is still a gap — the third time that sentence has been the right one this week.

Measured, not closed

Neither 1810.04805 nor 1907.11692 is in this record. BERT and RoBERTa, in any scheme.

The count, taken rather than guessed: 89 files in this record say “BERT”, 51 of them reading notes, practices or explanations. THEORY-066 and LIT-530 measure rank collapse on it. LIT-303 and LIT-316 use ALBERT-style sharing as an instrument, which is a variant of it. This unit’s own subject is a lite one and every ablation in it is against a BERT configuration. The record has been reasoning about a model it does not hold, at a scale that makes the position-encoding gap unit 1 found look small, and the reason is presumably that nobody has needed to look it up — which is exactly the condition under which a wrong claim about it would go unchallenged.

Filed as a finding rather than worked, because it is larger than a unit: BERT, RoBERTa and probably the NSP/SOP line together, and the honest scoping of that is its own reading session rather than a paragraph at the end of this one.


Kanerva’s review, read in full: two of LIT-641’s three optimal radii are in it

2026-09-25 06:36:49 · curation · record

Filed Kanerva’s Sparse Distributed Memory and Related Models as LIT-669. It was the follow-up the LIT-666 filing left open. Unlike the book, it can be read. NASA’s Technical Reports Server has the RIACS report version (TR 92.10, NASA-CR-190553, document 19920021480) as a 58-page PDF, and the title page says it is to appear in Hassoun’s Associative Neural Memories (Oxford, 1993). The report was read in full. The published chapter was not seen. Crossref has no DOI for the chapter, so the source is the NTRS record.

What reading it found

LIT-641 §1 names three optimal Hamming radii and cites this review for them. Searching the report finds two:

  • the signal-to-noise optimum, p = (2MT)^(-1/3) (§3.6);
  • the capacity analysis, asymptotically 1/[Φ⁻¹(φ)]² of the number of locations (§3.7).

Critical distance is not there. The report derives no convergence radius. It shows iterated retrieval converging only in two figures, and says the noisy-address analysis “is not carried out here”. LIT-641’s own Appendix B.5 gives the right source: it reproduces the critical-distance curve as “Figure 7.3 from the SDM book”. So the §1 citation is wrong and the appendix is right, and a reader who stopped at §1 would credit the wrong document. That is what the LIT-666 note did at version 1, following §1 in good faith.

That makes this DP-010 at the scale of a citation. The body text is the sentence that gets repeated, and the correction sits in an appendix. It was only found because the cited source was read rather than trusted.

The text was OCR’d and garbles some words (“dislributed”), so absence by search is weaker than absence by reading. The sections where a convergence radius would have to appear were read directly: §3.5–3.7 on fidelity and capacity, and the figures on noisy cues.

What changed besides the new note

  • LIT-666 to version 2, with a history note. Critical distance is now credited to the book, and signal-to-noise and capacity to the review. One of its two open questions is answered from LIT-641 Appendix B.1: the book derives the exact circle-intersection equation in its Appendix B. That answer is still secondhand. The book remains unread.
  • LIT-641 extends the review as well as the book. Its β analysis uses the review’s signal-to-noise and capacity optima.
  • THEORY-097 says which optimum comes from which source.

What was not done

  • LIT-641’s note was not edited to record the mis-citation. Its body does not attribute the three criteria to anything, so it asserts nothing wrong. The finding lives in LIT-669 and in LIT-666’s history.
  • The published chapter was not compared with the report. The two sources found for its page range disagree (51–75 and 50–76). The chapter number is garbled in the report’s OCR. Neither is recorded.
  • The book is still unread. Whether it makes the cerebellar mapping as the review does, discrepancies included, stays open.

The ratio that worked on text was never shown to work on text

2026-09-25 07:13:09 · curation · record

The previous unit measured a gap and declined to work it: 89 files saying “BERT”, 51 of them reading notes, practices or explanations, and no BERT in the record. Working it turned up something better than an absence.

What the gap was hiding

SOTA-373 says to set a masking ratio by the signal’s redundancy rather than by the ratio that worked on text. Its argument is a contrast: MAE masks 75% of image patches, BERT masks 15% of tokens, five times apart, and the difference is a fact about the signals. Its consensus note called BERT one of “the two masked-prediction documents it holds”.

The record held one. That is the second consensus note in two days to assert something structural about a paper the record did not have — SOTA-365’s was the first — and the repeat is worth naming as a pattern rather than a slip. A consensus note is where the record says what it knows about a field, and it is the field with the least machinery behind it. source: is linted. introduced_by: is linted. consensus: is a closed vocabulary. The note is free prose asserting things about documents, and nothing checks whether the documents exist.

And then the larger thing

Filing BERT was supposed to make the contrast true. It made it lopsided instead.

In all of our experiments, we mask 15% of all WordPiece tokens in each sequence at random.

There is no sweep. BERT ablates NSP, bidirectionality, model size, the feature-based/fine-tuning split, and the 80/10/10 substitution mix. It does not ablate the fraction of tokens selected. The single appendix table that looks like it does is headed “Masking Rates” and its columns are Mask / Same / Rnd — every row holds the selection rate at 15% and varies what a selected token is replaced with. A heading that names the quantity the table does not vary is about as good a trap as a record like this one will find.

RoBERTa, which revisits BERT’s recipe in more detail than anyone, varies when the mask is drawn and never how much of the sequence it covers.

So the practice’s title — “not the ratio that worked on text” — refers to a number that was declared in 2018 and inherited since. MAE swept its ratio and calls the optimum “surprisingly high”. BERT declared its and nobody in this record’s two sources ever checked.

The recommendation gets stronger, not weaker. “Do not inherit the number from another modality” is more forceful once the number turns out never to have been justified in its own. What dies is the framing where 15% and 75% are two measured optima whose gap wants an explanation. One optimum is measured. The other is a convention.

This is the third time this week that reading a source has turned a comparison the record was making into a different comparison. It keeps happening for one reason: a number with a famous paper attached gets treated as a result, and the check is to open the paper and look for the sweep.

The defect worth keeping

RoBERTa’s other contribution is methodological and the record now holds it as a practice.

BERT reported that removing next sentence prediction hurts. RoBERTa:

It is possible that the original BERT implementation may only have removed the loss term while still retaining the segment-pair input format.

An auxiliary loss arrives with a way of building inputs that exists to make it well-posed. Delete the loss and the pipeline is still paying for a task nobody is training on, so “remove NSP” was one edit to the code and two to the experiment. Split apart: keeping the loss and shortening inputs to single sentences hurts; dropping the loss and packing contiguous text matches or slightly improves. The input construction was carrying the result the loss got credit for.

Filed as SOTA-404, with two sources rather than one, because the same defect turned up in this record this morning, in a completely different literature. LIT-667 reports that four grokking papers establish a dataset-size threshold while every one of them varies the training fraction of a fixed universe — one knob moving how much data there is and what proportion of the possible examples it covers. Given two knobs and turned separately, size does nothing.

Encoders and modular arithmetic have nothing in common except the shape of the mistake: a single experimental knob that two design decisions are wired to, and a conclusion that reverses when somebody unwires them. Neither paper drew the general lesson, which is why the practice cites both and belongs to neither.

The promote_when asks for what the record does not have and would need to state a rate: a re-run under the rule where the original conclusion survives. Two reversals show the confound can matter. A record that collects only reversals will believe it always does.

Three papers that shipped their second-best configuration

Worth recording because it is now three in two units and it bears on how implementations: should be read.

  • ALBERT’s ablation scores attention-only sharing 1.6 above all-shared. ALBERT ships all-shared, because parameter reduction was the point.
  • RoBERTa finds doc-sentences slightly better than full-sentences. It ships full-sentences, because the better one needs a variable batch size.
  • RoBERTa finds byte-level BPE “slightly worse end-task performance on some tasks” than BERT’s character-level BPE. It ships byte-level, because a universal encoding never emits an unknown token.

In all three the paper says so plainly. The lesson is not about honesty, it is about reading: a paper’s shipped configuration is evidence about what its authors valued, not about what scored best, and an implementations: entry copied from the abstract can therefore contradict the very ablation the practice rests on. SOTA-403 was filed earlier today with implementations: [] for exactly this reason and now has company.

What this unit did not take

2202.08005 — Wettig et al., Should You Mask 15% in Masked Language Modeling? — sweeps the text side and reports a higher optimum. It is the obvious next paper and it was deliberately left out: filing it in the same unit would have let the correction to SOTA-373 rest on the new answer, when the finding worth recording is that the record had no answer and did not know it. That distinction survives better as two units than as one.


A practice survived what its explanation did not

2026-09-25 15:14:26 · curation · record

The previous unit amended SOTA-373 to say, in as many words, that its text anchor was “an unexamined default rather than a rival datum”, and named the paper that would settle it. This unit took that paper. The answer changed the explanation and left the recommendation alone, which is what the practice/theory split was built for and the first time this record has watched it work.

What was open, and what closed it

SOTA-373: set the masking ratio by the signal’s redundancy, not by the ratio that worked on text. THEORY-088 explains it: the optimum tracks the signal’s information density. The contrast carrying both was MAE’s 75% of image patches against BERT’s 15% of tokens.

Wettig et al. swept the text side. Within English text, one architecture family, one protocol:

354M parameters40% optimal
124M20%
51M15%

A factor of nearly three, with the signal identical. And the strategy matters too: uniform masking is an easier task than span or PMI masking at a given rate, so uniform admits a higher optimum. Neither capacity nor masking strategy is a property of the text.

Then the result that does the real damage. At an 80% masking rate, text validation perplexity is above 1,000 — reconstruction is hopeless — and the model preserves 95% of fine-tuning performance and 90% of BLiMP probing accuracy against the 15% baseline. Redundancy is exactly what governs whether a hidden region can be recovered. Recovery turns out not to govern representation quality. The mechanism and the thing it was invoked to explain have come apart.

The split, tested

THEORY-088’s own Standing section, written 2026-09-23, two days before any of this:

a wrong theory here would leave the recommendation untouched, since “measure whether an interpolator can solve your masked task” is an empirical procedure that needs no account of density at all.

That was a prediction about the record’s own structure, and it held. SOTA-373 is on its third version in two days and its recommendation has not moved once: v2 removed a false claim about the record’s contents and demoted the 15% from result to convention; v3 supplied the measured text optimum. Meanwhile THEORY-088 lost a term and had its promotion condition rewritten, because a cross-modality correlation drawn from models of different sizes measures capacity as much as redundancy.

This is ADR-031 earning its keep. Under the old single-scheme schema these would have been one document, and the only available move would have been to weaken the advice — when the advice is more justified now than it was, because the number it says not to inherit has turned out to be wrong in its own modality as well.

The generalisable version: an explanation and a recommendation fail independently, and a record that files them together will propagate the wrong one. Which is the argument for ADR-031 stated as a consequence rather than as a principle, and this is the first case in the journal where the two verdicts actually diverged.

Three reversals, and the third is the useful one

SOTA-404 — filed this morning on two sources, now on three — says that ablating a component without ablating its scaffolding measures the pair. The two original cases were defects: BERT removed the NSP loss and kept its input format; four grokking papers varied a training fraction that moved size and composition together.

Wettig et al. is different in kind. They do not trip over the confound; they name it and build the decomposition. A masking rate is a corruption rate and a prediction rate, tied by convention, and untying them shows each direction separately.

when we tune the masking rate, we are tuning the corruption rate and the prediction rate together, which have antagonistic effects.

Antagonistic is the word to keep, and it extends the practice rather than merely confirming it. In the first two cases the wired-together quantities pushed the same way, so the confound hid an attribution — the effect was real and credited to the wrong component. Here they push opposite ways, so the confound can hide an effect: a rate sweep that finds no shift may be watching two real effects cancel. A null result under a fused knob is not evidence of no effect.

The status stays Proposed. Its promote_when asks for the case where an original conclusion survives separation, and three reversals is three reversals.

80-10-10, and what it cost to leave unexamined

BERT replaced 10% of selected positions with the original token and 10% with a random one, arguing a pretrain/fine-tune mismatch: [MASK] never appears downstream. RoBERTa copied it. So did SpanBERT and DeBERTa. Wettig et al. measured it against plain [MASK] at a matched rate and found it worse on everything but SST-2, with the motivation not materialising — “the model can adapt to full, uncorrupted sentences, regardless of the use of alternative corruption strategies in pre-training.”

The part worth recording is that the rule’s own evidence never supported it. BERT’s Appendix C.2 puts 80/10/10 at 84.2 on MNLI and 100/0/0 at 84.3 — the condition being dropped was already, very slightly, ahead. The rule spread on an argument, and the one table that bore on it pointed the other way by an amount too small to matter in either direction.

Filed as SOTA-406, and its promote_when explicitly refuses to count another model shipping the rule or dropping it, because shipping without a comparison is how it spread.

A live field and a dated one

LIT-668, filed this morning, contained: “Neither 1810.04805 nor 1907.11692 — BERT and RoBERTa — is in this record, in any scheme.” Both were filed hours later.

The paragraph is updated, and the changelog fragment and curation entry from the same unit that say the same thing are not. That distinction is worth stating because it will recur: a reading note’s Standing in the anthology is a live claim about the record as it is now, and a changelog fragment or a journal entry is a dated claim about a moment. Rewriting the second kind would destroy the thing that makes the journal worth keeping — that it says what was believed when. Leaving the first kind stale means a reader is told something false about the record they are holding.

The practical rule: when a unit closes a gap a previous unit measured, fix the standing sections and leave the history.


Three prose claims about the record’s own contents, all wrong

2026-09-25 15:55:45 · curation · record

Today’s third unit found the same defect as the first two, in a third field, and this instance is the one that settles what the pattern is: the record’s free prose asserts things about the record, and nothing checks them.

The three

  • SOTA-365, yesterday. Its consensus note made a structural claim about papers the record did not hold — that DINO has no predictor — and the claim was wrong.
  • SOTA-373, this morning. Its consensus note called BERT one of “the two masked-prediction documents it holds”. The record held one.
  • LIT-478, this afternoon. Its “Why it’s here” said “The record has nothing on weight-space ensembling. No stochastic weight averaging, no model soups, no snapshot ensembles, no Polyak averaging.”

The third is the worst of the three and the most instructive, because the other two were falsified by later reading and this one was false when written. On 2026-09-21, the day that sentence was filed, the record held SOTA-217 (“Align the hidden-unit permutation before averaging weights from separately trained networks”), THEORY-010 (“Most of the loss barrier between two independently trained networks is permutation, not disagreement”), LIT-333 (Git Re-Basin) and LIT-251. All four were filed 2026-09-15. Six days.

Nobody had to read a paper to catch it. One grep would have done.

What the three have in common, and it is a field

Every enforced check in this record is about a relation between documents. source: must name a paper. introduced_by: must name one. A tag must be in the vocabulary. A relation must bind on a shared topic. A citation of a retired document must be acknowledged. The machinery is good and it is why the last five units found what they found.

None of it looks at prose. And the fields where the record says what it knows about its own coverage — a consensus_note, a “Why it’s here”, a “Standing in the anthology” — are exactly the prose fields. So the most confident sentences in the record sit in the only places nothing verifies.

The failure mode is specific and it is not carelessness: it is describing a gap by guessing instead of by counting. Writing “the record has nothing on X” feels like reporting and is actually predicting. The three wrong sentences were all written by somebody who had just read a paper about X and had not run grep -rl X record/.

The cheap rule

Every claim of the form this record holds / does not hold / is the only is a measurement, and a measurement has to be taken. Two units ago the same rule produced “89 files say BERT, 51 of them notes, practices or explanations” instead of the unverified “six documents name BERT as a baseline” that had been sitting in LIT-668. The counted version is shorter to write and impossible to be wrong about.

Worth considering as a lint: a prose assertion containing “the record has nothing on” is unverifiable by machine, but the pattern is narrow enough to flag for a human. Filed as an observation rather than as a proposal, because the false-positive rate is unknown and this journal is not the place to design it.

What the gap actually was, which is more interesting than “nothing”

The record held the hard case and was missing the easy one.

SOTA-217 and THEORY-010 are about averaging networks that were trained separately: the barrier between them is mostly permutation, so align the hidden units first. That is the subtle, recent, partially-settled corner of weight averaging.

What was absent is the case where averaging just works because the weight vectors share an optimization trajectory — SWA along one trajectory, and interpolating a fine-tuned model with the initialization it was fine-tuned from. Both are older, both are simpler, and both are in wider use than Git Re-Basin.

LIT-674 states the boundary between the two halves in one sentence, which is why it is now quoted inside SOTA-217:

ensembling all layers—as we do when end-to-end fine-tuning—typically fails, achieving no better accuracy than a randomly initialized neural network. However, as similarly observed by previous work where part of the optimization trajectory is shared, we find that the zero-shot and fine-tuned models are connected by a linear path in weight-space along which accuracy remains high.

So the test before averaging two weight vectors is did one come from the other, and the record now has both answers filed against it. That pairing only became visible by getting the coverage claim wrong and then checking it, which is an argument for checking rather than for guessing well.

An ADR-015 corner, on purpose

SOTA-408 is filed Proposed with consensus: converged, which looks like a mistake and is not. SWA is in PyTorch’s standard library and appears through this record as the baseline other methods are measured against — the field agrees. And every measurement the record holds for it is 2018 convolutional vision against an SGD baseline, on architectures nobody trains now.

That is precisely the corner ADR-015 built the two fields to express: the field has converged and this record has not satisfied itself. DP-005 is the reason the two can differ — adoption is not evidence — and here the adoption is real, wide, and beside the point.


Reading time finds a different worklist than revisits, and most of it is a scope question

2026-09-25 16:02:28 · curation · record

Every earlier pass over the papers-feed tracker ranked it by revisits, the number of reading sessions. This one ranks it by cumulative reading time, and it is a candidate queue, not a filing backlog: nothing was filed. The query is now a script, src/scripts/audit/reading_time.py, so the next pass runs the same query rather than a description of it.

Snapshot of 2026-09-25: 3,920 works, 187 held. 87 unheld works with at least ten minutes of reading. 14 rows promoted (13 works), 16 held back as in-scope but not first, 57 declined — 34 of them on scope.

What the signal is, measured

The tracker records duration_seconds and idle_seconds separately, and duration_seconds is already net of idle: in 5,124 of 6,290 sessions it is less than total_elapsed_seconds, and in 105 it is more, which is unexplained. So the sum is active time, not tab-open time. The median session is 20 seconds; the 99th percentile is 835.

#180 found the feed with 187 papers and a maximum of 308 seconds. It is 20 times larger now and the signal has range: 127 works cross ten minutes, 40 of them already held.

The two rankings disagree where the earlier passes never looked. The revisit worklist has worked down the high-session tail: only 63 unheld works have five or more sessions, and most of those are the social-science and physics clusters ADR-052 counted. Reading time surfaces works with one to four sessions — 2,696 unheld works have exactly one session, so a long single read sits in a tie class hundreds of places deep. Of the 14 promoted rows, 8 rank below 150th by revisits and 3 below 1,000th.

Three traps, for whoever runs it next

One paper is filed under several keys. 2401.00001, arxiv.2401.00001, a url.* hash whose URL is the arXiv PDF, and a bare title are four rows of one paper. Ranked unmerged, its time splits and it falls. The script merges by arXiv id (from the key or the URL), then by normalised title.

“Just a moment…” is a title 169 sessions share. It is the Cloudflare interstitial a publisher serves instead of the page. Merged by title, those 169 unrelated papers become the single most-read work in the feed, at 11,905 seconds. So do the URL-hash titles the feed records when it could not read one. Both are excluded from title-keying, and a test pins it.

Mentioned is not held. The first cut marked a paper “in the record” if its id appeared anywhere in record/. That counted 2510.20520 as held because a journal entry declines it. Held now means a LIT note carries the id or the title.

The three reasons are the 2026-09-23 catalogue triage’s. They are reused because they are the right test, not because they worked twice: a reading feed is an input, which is what #180 established, and these reasons are about what the record needs, not about whether someone already asked for the paper.

Substrate — the record leans on it and does not hold it.

  • Cramming (Geiping & Goldstein, ICML 2023, 2212.14034), 2,440s. Filed in the feed under an MLR Press PDF hash, which is why no title-based pass could have seen it. It is a BERT-style masked LM trained on one GPU for a day, and it asks which of the published improvements survive a fixed compute budget. The record filed BERT and RoBERTa this week and has a tiny-models topic; this is the controlled study both are missing.
  • Distilling the Knowledge in a Neural Network (Hinton et al., 1503.02531), 615s. 110 files mention distillation and none holds the paper the word comes from — the same shape as LIT-439 and diffusion.

Trunk — the named origin or successor of something held.

  • On the distance between two neural networks (Bernstein et al., 2002.03432), 2,320s. The antecedent of the modular-norm line that THEORY-024 and its practices rest on. The record holds signSGD (LIT-280, 2018) and Modular Duality (LIT-438, 2024), and not the 2020 paper between them, which introduced the distance the later line builds on.
  • Revisiting Scaling Laws: the Role of Data Quality (ACL 2025) and Sub-Scaling Laws (2507.10613) are one work: same author list, retitled for the ACL version. 1,895s combined. It argues that scaling laws bend when data density or repetition is high, which puts it against LIT-028 and the data-constrained note.
  • Reconciling Kaplan and Chinchilla (2406.12907), 840s. It explains the gap between two held documents, LIT-028 and LIT-068, by how each counts parameters and at what scale each fit.
  • Diffusion Meets Flow Matching (Gao et al., 2024, a blog post at diffusionflow.github.io), 1,445s. It argues that Gaussian flow matching and diffusion are one family, differing in weighting and network output. That joins LIT-630 and LIT-036. It would be a url: source, which ADR-009 allows as a last resort.
  • ScheduleFree+ (2605.19095), 1,025s. The successor of LIT-213.
  • Diffusion Models With Learned Adaptive Noise (MuLAN), 965s. The successor of Variational Diffusion Models, which is held and is the sixth-most-read work in the feed.
  • Jadbabaie, Lin & Morse, Coordination of groups of mobile autonomous agents (2003), 610s. NOTE-092 names it as the consensus proof for switching networks; the record holds only the later LIT-304.

Claim — carries an instruction or a controlled result a topic can hold.

  • Model Merging in Pre-training of LLMs (2505.12082), 1,285s. It merges checkpoints along a constant-learning-rate run instead of annealing. The record has one late-training averaging practice (SOTA-288) and nothing on this.
  • Recurrent-depth latent reasoning (Geiping et al., 2502.05171), 1,081s, eight sessions. Revisits could have reached it: it is 36th, and 10th among unheld works. But no pass gave it a disposition. Test-time compute spent by iterating a block in latent space. model-architecture has nothing on depth recurrence.
  • Fine-tuning image-conditional diffusion is easier than you think (2409.11355), 965s. A negative result of the kind DP-005 wants: Marigold’s multi-step advantage came from a scheduler bug, and once that is fixed single-step inference matches it.
  • H-Net / Dynamic Chunking (2507.07955), 885s. End-to-end learned segmentation instead of a tokenizer. representation-and-encoding holds nothing tokenizer-free.

Below the ten-minute line, the substrate test still fires twice. Lin et al., Common Diffusion Noise Schedules and Sample Steps are Flawed (2305.08891, 400s), is the source of the zero-terminal-SNR rescaling that NOTE-351 measures and NOTE-346 reports, and it is not held. Smith et al., Don’t Decay the Learning Rate, Increase the Batch Size (1711.00489, 380s), is in NOTE-106’s bibliography and not held. Neither was found by ranking. They were found by asking the substrate question of the tail, which is a different query (DP-004).

Held back: in scope, not first

Sixteen works would be on a topic’s axis and have no document depending on them yet. They are ZipNN, the German Commons corpus, ZO-AdaMU, parallel low-rank adapters (LTE), HyperCloning (Scaling Smart), SPlus, the condition-number proxy, Diffusion Models Generate Images Like Painters, geometric memorization in diffusion, test-time scaling with flow maps, outsourced diffusion sampling, the EBM hitchhiker’s guide, GFlowNets, Mallat’s group invariant scattering, the statistical comparison of transformers against feedforward and recurrent networks, and Chen, Su & Xu on Byzantine distributed learning (the ACM “Just a moment…” entry, 2,660s).

Two of these have a trigger worth stating. ZO-AdaMU waits for MeZO, its trunk: the record holds the evolution-strategies fine-tuning papers, which are among the most-read works in the feed, and no zeroth-order optimizer. File MeZO first, and this becomes a successor. SPlus becomes a trunk successor once the record decides whether Shampoo/SOAP get a note of their own. They are mentioned in 28 and 11 documents.

Declined, with counts

  • D-scope, 34 works, 51,671s — 47% of the ten-minute band’s time. Quantum foundations (10), law, politics and security (8), other sciences (5, including the single largest total in the feed: an 11,500-second planetary-science paper), complex systems and emergence (5), network science (3), Bayesian nonparametrics (2) and neuroscience (1).
  • D-variant, 18 — a method variant with no held document depending on it: Nested Attention, the FFT mixer, MELoRA, Atom of Thoughts, VertexRegen, and similar.
  • D-position, 3 — Tensor Logic, a retrospective, an annotated algorithm: no claim a document could carry.
  • D-unresolved, 2 — an OpenReview id (j4-a3SNyaY, 1,520s over eight sessions) and a Semantic Scholar PDF. Neither resolved from here: OpenReview redirects to a login and Semantic Scholar returned 429. Not declined on merit. They are the two highest-attention works nobody has read the title of.

The scope finding, stated rather than acted on

D-scope is not the same decline as the other three, and ADR-059 says why. The topics are an axis, not a scope, so if the anthology wants a document it cannot place, that is a finding about the vocabulary. Nearly half the time in this band goes to subjects no topic can hold. Quantum foundations alone takes 9,260 seconds across ten works and network science 8,640 across three. Those are not stray reads.

ADR-052 already counted and rejected “the physics of learning” and “scientific domains”. That decision is still the right default and this pass does not reopen it. But 2510.20520 was declined on 2026-09-21 with the sentence “a revisit ranking measures interest, which is not the same quantity as relevance”. Reading time is the stronger measure of interest, and it points at the same clusters at twice the volume. Whether the anthology wants them is the owner’s question, and it cannot be answered by a ranking. What the ranking can do is make sure the question is asked once, in writing, instead of being answered by a sequence of silent skips.


A second paper is not a second opinion

2026-09-25 16:17:05 · curation · record

SOTA-407 was filed this afternoon with a consensus note that named its own missing piece: the record could not point to an adopter of weight-space ensembling “outside the authors’ own line of work — model soups, which this record does not yet hold”. So this unit filed model soups. It does not fix what the note wanted fixed, and saying so is the entire point of the unit.

The dependency resolves to nothing

Mitchell Wortsman is first author of both LIT-674 and LIT-675. The second paper extends the first: WiSE-FT interpolates two endpoints, model soups averages many, and the soup paper’s whole premise is the single-basin observation WiSE-FT reported.

DP-005 says adoption is not evidence, and a group extending its own method is the cleanest instance of that rule there is. Two papers, one line of work, one opinion. The consensus stays emerging.

What changed is worth having anyway: the note now says why the dependency does not count, rather than naming a paper nobody had read. A consensus note that names its own gap is only useful if somebody eventually closes the loop, and closing it with “still no” is a real outcome. The alternative — leaving the sentence in place and quietly hoping — is how SOTA-373 sat for two days asserting something false about this record’s contents.

This is the fourth unit in two days whose subject was set by a previous unit’s own prose. The mechanism is reliable enough now to state: write down what you could not check, precisely enough that the next reading either satisfies it or refutes it. Three of the four came back satisfied. This one came back refuted, which is the more informative result.

The boundary was a dichotomy and is now a spectrum

The better finding is structural, and it corrects something this record asserted three hours ago.

SOTA-217 says to align hidden-unit permutations before averaging weights from separately trained networks. This afternoon it gained a scope section saying when the alignment is unnecessary: when the weight vectors share an optimization trajectory. That was stated as a clean test — did one weight vector come from the other — and model soups shows the test is not clean.

Every ingredient in a soup was fine-tuned from the same pretrained checkpoint. They all share a trajectory in the relevant sense. And the paper’s central method is greedy precisely because uniform averaging fails: some ingredients have to be rejected, to “avoid adding in models which may lie in a different basin of the error landscape”, which “could happen if, for example, models are fine-tuned with high learning rates”.

So a shared initialization makes averaging usually safe. A per-ingredient held-out check makes it reliably safe. Permutation alignment is what is left for networks that share nothing at all. Three positions on one axis — how much of the optimization history two weight vectors have in common — and the record now holds a practice at each. The dichotomy stated this afternoon was a simplification, and it lasted three hours.

Worth noticing about the sequence rather than the content: the correction came from filing the next paper in the same lineage, not from re-reading anything. A claim that survives one paper and breaks on its immediate descendant was under-tested rather than wrong, and the cheapest test available was to keep reading down the line.

Two numbers the same sentence reports

A model soup composed of ViT-G models achieves 90.94% on ImageNet, surpassing the previous state of the art of 90.88% attained by the CoAtNet model while requiring 25% fewer FLOPs at inference time.

0.06 pp and 25%. The first is the claim the paper is remembered for and the second is the one that would change a decision. They are in the same sentence, and the record’s job is to keep them in the order that survives — which is why the note leads on the FLOPs and treats the leaderboard position as provenance.

The same paper’s honest reporting is what makes this readable at all: the +0.0, +0.7, +0.0, +0.5 GLUE row is in the paper, under a heading that calls the experiments preliminary, and the sentence “the improvements are not as pronounced as in image classification” is theirs. An abstract that says the method “extends to multiple image classification and natural language processing tasks” and a table where half the language tasks gain exactly zero are both true; only one of them travels.


A universal practice that never named the regime it fails in

2026-09-25 17:02:17 · curation · record

The instruction was to re-measure the four Tier B items left in #342 before picking one. The measurement inverted the ranking, and the paper that had been last of six turned out to be the only one of the four that corrects something the record asserts.

What the re-measurement found

The original ranking was mention counts, taken two days and about fourteen documents ago. Re-run against the question that has actually been productive all week — does the record make a claim this paper would correct or source — the order reverses.

paperby countre-measured
DPM-Solver++last, 6 filesfirst
EDM2first, 39 filessecond
FLIPsecondthird
Swinthird, 14 filesfourth

Two of those movements are worth keeping.

Swin’s count was a substring. swin matches “swing” and “swings”, which is what SOTA-002, SOTA-193 and SOTA-315 actually contain. Real mentions: Swin, Swin-B three times, Swin-S twice, Swin-F once — all baseline architectures in tables, with SOTA-320 the only practice among them. Swin is an instrument this record names, not a subject it reasons about.

A substring match is not a mention count, and the ranking that put Swin third of six was measuring the word “swings”. Two days of work were prioritised partly on that number. The check costs one grep -o | sort | uniq -c.

EDM2 and FLIP are real and unforced. EDM2 succeeds SOTA-188’s source and its own contributions are absent — zero files say “post-hoc EMA” or “magnitude-preserving” — so it extends a well-sourced practice rather than correcting one. FLIP opens a leaf: no practice or theory here concerns masking to cut contrastive-pretraining cost, in a CLIP cluster twelve practices deep.

The defect

SOTA-203 is Active with consensus: universal, the strongest pair of labels this record issues. It says: sample a diffusion model with a higher-order ODE solver on the weights you already trained. It is a good document — it has a Conditions section covering noise schedules, discrete-time models and the fidelity/latency trade, and a “What this does not cover” section about distillation.

It mentions guidance nowhere.

DPM-Solver++ exists for that omission, and states the charge in its abstract: high-order solvers were tested without guidance, “their effectiveness for guided sampling has not been well-tested before”, and under guidance “they even become slower than DDIM”. At scale 8.0 and ten function evaluations the FIDs are 13.04 at order 1, 114.62 at order 2 and 164.74 at order 3. Those are not degradations; they are broken images.

The sharpest form of it is that the practice’s own punchline inverts. It observes that DDIM is exactly DPM-Solver-1, “the first-order case — the least accurate member of the family”, and uses that to justify stating the recommendation as “higher-order” rather than as a product name. Under guidance DDIM is the most accurate of them at a small budget. The thing the document tells you to stop using beats the thing it tells you to use.

How a practice this careful missed it

Its implementations line is the answer, and it is almost funny:

Default or selectable sampler in essentially every diffusion serving stack.

That is true, and every one of those stacks runs guidance on by default. The practice named its deployment setting and did not check the setting’s own defaults. It cited the regime as evidence of adoption without asking what the regime does.

Generalising: a Conditions section is written by asking what did the paper vary. This gap needed a different question — what does everybody hold fixed that the paper also held fixed. The first question finds the limits the authors knew about. Only the second finds the ones they did not.

The half of it the record already had

The better structural finding is that DPM-Solver++ diagnoses two failures and this record was already holding one of them.

Boundedness. Large guidance pushes the converged x₀ outside the data range. SOTA-202 has held exactly this since it was filed, from Imagen: training data lies in [−1, 1], high guidance weights push x̂₀ out, and because the model is applied to its own output the excursion compounds. Active, converged.

Convergence radius. Amplified derivatives narrow the radius a high-order method needs to stay inside. New, and it is what actually bounds SOTA-203.

The two are independent and the fixes do not substitute: thresholding fixes the first and does nothing for the second, multistep fixes the second and does nothing for the first. A reader who collapses them will expect clamping to rescue a third-order solver. THEORY-104 says so explicitly, because that is the mistake the pairing invites.

And the connection runs the other way too. SOTA-202 says clamp x̂₀ — which assumes the sampler is carrying an x̂₀. A high-order solver written on the noise prediction has intermediate stages where none exists, so the fix this record already recommends is unavailable in the case it was written for. That is why DPM-Solver++ reparameterizes onto the data prediction, and the reason it gives is exactly this: solving for x_θ is what makes thresholding “further available”.

Two documents, filed separately, holding one mechanism from opposite ends — Imagen found it because images were being destroyed, Lu et al. found it because an ODE solve was diverging. Neither knew about the other. That convergence is the strongest support either has, and it only became visible because a practice’s scope was checked rather than assumed.


Thirteen read, and the triage was wrong about four of them

2026-09-25 17:07:18 · curation · record

The reading-time triage earlier today promoted 14 rows as 13 works. All 13 are now read in full and dispositioned. Eleven were filed as new notes. One turned out to be the same work under another title. One was already held and had to be corrected instead. Cramming was read here. The other twelve were read by three agents working in parallel, each writing a dossier: quotes, tables, measured-against-asserted, record relations. Each note was written from its dossier and checked against the record before filing.

The totals. 11 new LIT notes, 10 new practices (all Proposed) and 2 new theories. 11 existing documents were amended: SOTA-007, SOTA-140, SOTA-156, SOTA-190, SOTA-240, SOTA-257, SOTA-403, THEORY-027, LIT-028, LIT-285 and LIT-052’s tags. NOTE-136 and NOTE-092 got marked corrections.

The triage was a ranking, and four of its sentences did not survive reading

That is the point of ADR-025, and it is worth counting honestly, because the triage was written from titles, abstracts and a grep.

  1. Jadbabaie, Lin & Morse was held all along, as LIT-285. The triage said the record held “only the later LIT-304”. The feed’s row for it was a URL hash pointing at Consensus2.pdf, and that PDF is a different paper: Tahbaz-Salehi and Jadbabaie’s On Consensus Over Random Networks, the precursor of LIT-326, which the record also holds. The held-check matched on the feed’s title, and the feed’s title was a hash. The 610 seconds of reading went to a paper the record already has in journal form. Reading the actual TAC paper then showed LIT-285 and NOTE-136 misstating it where it mattered. The imported text gave its condition as a directed spanning tree over fixed windows. The paper is undirected throughout and requires joint connectivity over contiguous bounded intervals. The text invented a corollary and said the paper proves something about Vicsek it explicitly declines to model. Corrected, with the wrong text kept and marked.
  2. Marigold’s fix does not make one step match fifty. The triage wrote “once that is fixed single-step inference matches it”. Against the 50-step, 10-member ensemble, the fixed single step is worse on all five depth sets. What beats the ensemble is end-to-end fine-tuning, a training change.
  3. Model merging does not replace annealing. The triage wrote “merges checkpoints along a constant-learning-rate run instead of annealing”. The one fork that tests it has the anneal ahead on MMLU at the end. What survives is the proxy use, and that is the practice filed.
  4. Fromage is not where Muon comes from. The triage called it “the 2020 paper between” signSGD and Modular Duality. The order is right and the lineage is wrong. Modular Duality does not cite it, and LIT-437, which shares an author, names its conditioning assumption as the flaw. It is filed as the corrected Frobenius antecedent.

The generalization. Three of the four errors are the triage adopting a paper’s own framing of itself, and the fourth is a held-check keyed on a string. That is DP-010’s point about the most citable sentence, applied to the triager. The next triage should say which of its claims came from an abstract.

The corrections the readings forced on the record

Six held documents said something a filing proved false. None of them was a judgement call:

  • SOTA-140: “Nobody has run the two against each other.” ScheduleFree+ has. WSD lost at every size, against a package that differs in weight decay too. The practice stays contested.
  • SOTA-156: “no additional hyperparameter”. Its own author now reports a large-batch cliff and a weight decay that was “compensating”.
  • SOTA-007: “every model in this record tokenises this way”. Not after H-Net.
  • SOTA-403: “nothing at current scale shares layers at all”. Not after Huginn.
  • LIT-028: Chinchilla “identified” the schedule as the cause of Kaplan’s exponent. It proposed that, and two reproductions find it is not the main cause. NOTE-017 and NOTE-072 repeat the attribution and are left for when Porian et al. is filed.
  • THEORY-027: the schedule invariance is a property of scalar schedules. MuLAN’s own ablations reproduce it exactly there.

The first four are the same shape: a universal sentence in prose about the record’s own contents (“nobody has”, “every model”, “nothing at”). Like the consensus notes SOTA-373 and SOTA-365 were caught making, they are free text asserting a fact about the corpus that no check verifies. They go stale the moment the corpus grows. A grep for every model in this record, nobody has run, nothing at current scale and similar would be a cheap sweep.

Masking rates, a third time

Cramming’s ICML version adopts 25% masking and says it “provides benefits”. Its reason is a tensor shape: 25% of 128 tokens is 32. Its own appendix still says larger rates did not help, and its only rate table has no 25% row. After BERT’s 15% and Wettig’s 40%, that is the third masking rate this week to be something other than a measured optimum at the size cited. SOTA-405’s promote_when already refuses single-size evidence, and this is why.

One relation withdrawn on the lint’s advice

Hinton et al. was filed with extended_by: [LIT-441, LIT-664]. The lint reported that the line through it shares no topic, because it joined a language-model data line and a self-supervised vision line at one ancestor. On reading them again, neither relation was right: LIT-441 runs Kim and Rush’s sequence-level method, and DINO repurposes the temperature for a different problem. Both are withdrawn to prose. That is ADR-049’s second reading of an unbound relation: the relation was wrong.

Left open, in order

  1. Porian et al. 2024 (2406.19146). It is the large-scale test of the Kaplan–Chinchilla gap, and the primary source a theory of it would need. After filing it, correct NOTE-017 and NOTE-072.
  2. Lin et al. 2023 (2305.08891). It is the origin of trailing spacing, and the zero-terminal-SNR source behind NOTE-351. SOTA-416’s promote_when waits on it.
  3. Marigold (2312.02145) and Kingma & Gao 2023 (2303.00848). Filing them would let LIT-687 carry corrects and give THEORY-106’s weighting identity its source.
  4. The universal-sentence sweep described above.
  5. The out-of-scope clusters. The owner has kept ADR-052’s decision for now, and will revisit the heavily read out-of-scope works after these 13.

A seventeen-fold metric swing that three practices were steering around

2026-09-25 17:59:08 · curation · record

The instruction was to take classifier-free guidance. The measurement before filing said something worse than “a gap”: the record had spent the afternoon adding dependencies on a paper it had never held.

The gap, and how recently it was dug

2207.12598 is named — as the technique, or as the guidance_scale knob — in nineteen documents here, and was held by none. Three practices depend on the guidance weight specifically:

documentthe dependencywhen acquired
SOTA-202clamping exists because high w pushes x̂₀ out of rangeat filing
SOTA-203scoped to unguided sampling, v2today
SOTA-410the sampler constraint that makes the clamp availabletoday
SOTA-307search the guidance scale per cell, ±0.05 noise quantifiedat filing

Two of those four rows are hours old. The DPM-Solver++ unit found that a universal practice had never named guidance, fixed it, and in fixing it made the record’s unread-paper problem worse than it was that morning. Closing a scope gap can deepen a sourcing gap, and nothing in the toolchain notices, because luria lint checks relations between documents and has no opinion about a bare arXiv id in prose.

The trap, which is in the paper’s own sentence

The numbers are Table 1, ImageNet 64×64, p_uncond = 0.1, 50 000 samples per point: w = 0.1 gives FID 1.55 and IS 66.11; w = 4.0 gives FID 26.22 and IS 260.2. Seventeen-fold FID degradation against a near quintupling of IS, from one checkpoint, with one dial.

The paper describes that as

with FID monotonically decreasing and IS monotonically increasing with w

which is correct and reads backwards. FID quality decreases; the FID number rises. Anyone who takes that clause without the table alongside it concludes that turning the weight up improves FID, which is the exact inversion of the trade the paper is reporting. It is quoted in LIT-693 for that reason, and the practice states the trade as a table rather than a sentence.

What the source did to SOTA-307

SOTA-307 is about variance in reported numbers. Its guidance items told a reader to search the classifier-free guidance scale per cell, to report the tolerance, and to treat ±0.05 on the scale as a noise floor — all of it with no paper behind the technique being searched over.

The interesting part is that the source does not shore up the document’s argument, it replaces it with a stronger one. The document had guidance filed under seed-and-tolerance hygiene. Against a seventeen-fold swing from one checkpoint, a ±0.05 seed-noise floor is a rounding error: fixing the weight is prior to any seed question, not a refinement of it. Recommendation, status and consensus are unchanged at v4; what changed is which of its items is load-bearing.

Generalising: a missing source: is usually read as a document that cannot prove what it says. This was a document whose own reasoning was weaker than the evidence it lacked — and it had been weaker for as long as it had been correct, with nothing to flag it, because an unsourced item inside a well-sourced practice fails no check.

The theory, and a promote_when that refuses the paper’s win

The paper raises a good question about the method it replaces. Classifier guidance follows an image classifier’s input gradient; FID and IS are computed with an Inception classifier; that is mechanically what a targeted adversarial attack does, so the predecessor’s reported gains might be partly an artefact of the scoring apparatus. Classifier-free guidance is the control: same trade, no classifier anywhere.

And the control works — the trade survives the classifier’s removal, so the phenomenon is real. THEORY-109 is Proposed anyway, and the reason is worth keeping: classifier-free guidance beats classifier-guided ADM-G on FID, and that win is scored with the same Inception network the suspicion is about. Beating a suspect measurement at its own game says nothing about whether the measurement was suspect. So the promote_when explicitly rejects the result the paper actually obtained and asks for a metric with no classifier in it — human preference, or a self-supervised feature distance.

A control can establish that an effect exists and be structurally incapable of sizing the artefact it was built to rule out. Those are two claims, and the paper only makes the first.

Deliberately not in this unit

2105.05233 — Dhariwal & Nichol, the paper classifier-free guidance is named against — is still unheld, and this record cites it four times as an instrument or an authority: LIT-448 says they “ablated” a design choice, NOTE-340 uses their U-Net and audits a throughput claim against their run, LIT-630’s controlled path comparison uses the same U-Net, and LIT-676’s entire ImageNet table is run on their model. It is the next thing to take.

It is not in this one on the reasoning that kept Wettig out of the BERT unit: filing a paper and its named antagonist together lets the sourcing of each rest on the other’s summary rather than on the paper. THEORY-109 is a claim about 2105.05233, held with only one side read, and it says so.


The four follow-ups, and what reading the origins did to the records that cited them

2026-09-25 18:27:31 · curation · record

The previous entry ended with four follow-ups: Porian et al., Lin et al., Marigold, and Kingma and Gao. All four are now filed and read in full. Each turned out to be a paper the record had been citing through another paper. In three of the four, reading the origin changed what the citing documents said.

The pattern: second-hand citations drift in a consistent direction

  • Lin et al. was called the origin of trailing spacing. SOTA-416 said so and so did the previous entry. Lin credits the discretization to DPM-Solver. What Lin originates is the rule (“sample steps should always include the last timestep”) and the leading, linspace and trailing names. “Slight improvements for image generation”, which SOTA-416 attributed to Lin, is Garcia et al.’s word. Lin never measures spacing alone.
  • Pearce and Song called counting “much of” the Kaplan–Chinchilla gap. Porian’s stepwise table makes it a plurality, 0.129 of 0.338, with warmup and per-size tuning each about as large. And LIT-688’s trap described Porian’s steps as a chain through the decay row, when the tuned row uses a constant rate and decay is a side branch.
  • “Chinchilla identified the schedule” survived in three more places. LIT-028 was fixed last time, but NOTE-017 and NOTE-072 waited for Porian. Filing it refines the correction itself. Chinchilla’s hypothesis covered the whole schedule. The decay half moves the exponent by 0.03. The warmup half is one of three real causes.
  • Kingma and Gao’s identity has a scope the blog post dropped. Flow matching’s weighting equals v-MSE’s under the unshifted cosine. The paper’s own App. D.2.1 claims the shift does not matter, and it is wrong: a resolution shift reweights toward high noise by up to (d/64)². THEORY-106 now carries the scope.

Every one of these errors moves toward a simpler story than the origin tells. That is DP-010 again, applied to secondary sources. A paper quoting another paper keeps the conclusion and drops the qualifier.

Two statuses moved, each on its own promote_when

  • SOTA-416 (trailing spacing) is now Active. Its condition was “Lin et al. is filed and its own leading-against-trailing comparison is read next to this one.” The reading found no contradiction. Lin’s comparison is one same-seed image, not a number. The record’s case is Garcia’s single-variable measurement plus Marigold’s own step curve. That curve was measured under leading spacing by authors who did not know it, and gives about 34% NYUv2 AbsRel at one step on weights that reach 5.7 under trailing.
  • SOTA-413 (count the head) is now Active on its second clause. Its first clause, a head-to-head extrapolation test of the two counting conventions, is still unmet and still stated.

One relation withdrawn, again on the lint’s advice

Guidance rescale was filed with compared_against: SOTA-202 (dynamic thresholding). The lint reported the practice line sharing no topic. Reading it again, nobody ran that comparison: Lin cites thresholding as inspiration. compared_against says “somebody ran the comparison”, so the relation was wrong, and it is now prose. This is the second time in a day that an unbound-line report found a relation stronger than its evidence.

Left open

  • DPM-Solver’s text was not checked for the trailing discretization that Lin credits to it (LIT-076).
  • Lin’s leaked-channel-mean account is argued, not measured. It could be a Proposed theory with a clean promote_when (shift the initial noise’s channel mean and watch output brightness), and it is not filed.
  • Porian’s non-language question. NOTE-072’s open question is answered for language only. Henighan’s other domains are not re-run.
  • The out-of-scope clusters are the owner’s next decision, per the previous entry.

Three gap sentences in three units, and an instrument the record already owned

2026-09-25 18:51:25 · curation · record

The instruction was to take Dhariwal & Nichol, deferred out of the previous unit on purpose. Two things came back that the deferral is what made visible, and one that has now happened three times in a row.

The instrument was already here, under a title that excluded the case

THEORY-109 was filed this morning. Its promote_when asked for

a metric that uses no classifier — a human preference study, or a feature distance from a self-supervised encoder

which is a reasonable thing to ask for and also a paraphrase of a practice this record has held since 2026-09-23. SOTA-337 says that when an ImageNet network is in the pipeline, FID’s ranking is not to be trusted, and it names CLIP and SwAV Fréchet distances as the check. It has a measured case: a fixed StyleGAN2 whose FID fell 5.30 → 1.78 under resampling while CLIP-FD moved 2.76 → 2.64, and human raters preferring the model FID ranked worse.

So the theory asked for an experiment the record already recommends, with an instrument the record already names, and said neither. I wrote both documents; the gap between them is hours.

Why it was missable, and this is the useful part. SOTA-337’s v1 title read “When ImageNet-pretrained networks take part in training a generator…”. Its body was wider — it said the authors “suspect the same of classifiers used to curate the data or placed in the sampling loop” — but the title is what a search returns and what an index shows. Classifier guidance is a classifier in the sampling loop. The one case the practice most obviously covers was outside the sentence that names it.

Two mismatches, and only one is wording. “Training” against “sampling” is the body-versus-title gap. “Pretrained” is a category error: a classifier trained from scratch on ImageNet labels has the same feature space as a downloaded one, and the hazard SOTA-337 identifies is the overlap with FID’s features, not the provenance of the weights. Guidance trains its own classifier, so it failed the title twice over while being the sharpest instance in existence.

v2 widens the title, says provenance is not the point, and adds the case.

The shape, for next time: that is two practices in two days whose scope was narrower than their subject — SOTA-203, universal and silent about guidance, and SOTA-337, titled for training while suspicious of sampling. The check that found both is the same one: take the practice’s own hazard and ask what the most widely deployed instance of it is. If the title does not cover that instance, the title is the defect, and running the check costs one question.

The order of the dispute is backwards from how it was filed

LIT-693 reports Ho and Salimans raising a good question about their predecessor: classifier guidance follows an image classifier’s gradient, FID and IS are computed with an image classifier, so the gains might be adversarial rather than perceptual. Filed this morning as an open question against the antecedent.

Reading the antecedent inverts the sequence. Its introduction already says the gradient scale can be raised

by an order of magnitude without obtaining adversarial examples

with a citation to Szegedy et al. And the word “adversarial” appears nowhere else in the paper. Not in §4, not in the limitations, not in any of the thirteen appendices. No adversarial-example test, no held-out classifier, no non-Inception distance. The support is one figure showing that scale 10.0 gives “much more class-consistent images” on visual inspection.

The nearest thing to a check is Appendix C, and it is aimed at a different worry — memorization — tested on nearest neighbours in InceptionV3 feature space, for “a handful of samples”. If guidance pushes samples toward ImageNet-class modes, Inception distance cannot tell you whether those samples came from the training set. The circularity that makes the adversarial question hard is the same circularity that makes the memorization check weak, and the paper runs into it twice without naming it once.

So: asserted away in 2021, raised in 2022, measured by neither. The record now holds both papers and no measurement, which is exactly what Proposed is for.

And this is what the deferral bought. The previous unit kept these two papers apart on the reasoning that filing a paper with its named antagonist lets the sourcing of each rest on the other’s summary. That reasoning paid: CFG’s account of its predecessor is accurate and fair, and reading it would have produced “Dhariwal & Nichol did not consider this”, which is false. They considered it in one clause and dismissed it. Only opening the antecedent gets the order right.

The pattern that has now recurred three times

notethe sentencefalsified
LIT-676 v2CFG is “the most-referenced unheld paper in this cluster”hours later, by LIT-693
LIT-693 v2”The antecedent is still unheld”hours later, by LIT-699
LIT-676 v3”What is still unheld is the antecedent”same day, same unit

Three units, three stale gap claims, one note twice. The sentences are not mistakes — two of these three filings happened because a note named the gap, and that is the mechanism working. What is missing is any check that they are still true.

They are checkable. Every one of these is a bare arXiv id in prose next to a phrase like “unheld” or “does not hold”, and whether the record holds that id is a lookup. The lint already reports codes that resolve to nothing and temporary codes this record does not mint; “an identifier in prose that this record now holds as a document” is the same kind of report. No lint rule exists for it, and this is the third recurrence, so I am no longer treating the pattern as my vigilance problem.

Two smaller things worth keeping

A paper shipped its second-best configuration twice, and said so twice. Increased depth improves FID but “takes longer to reach the same performance as a wider model”, so it is dropped. On head width, from a 14.08 baseline, 32 channels per head gives −1.36 FID and 64 gives −1.03 — and 64 is the recommendation, for wall-clock time. That is now the fourth literature in which this record has found the same thing: ALBERT’s all-shared, RoBERTa’s full-sentences and byte-level BPE, and here. An implementations: line copied from a paper’s final configuration can disagree with the ablation the practice rests on, and the tell is always a sentence about wall-clock time next to a worse number.

One ablated change made things worse, and it is the one the field had adopted. Rescaling residual connections by 1/√2, following Song et al. and both StyleGAN papers, cost +0.16/+0.25 FID. Kept in the note because a negative result on a widely copied trick is the rarer half of an ablation table, and because the practice registry has no entry for it either way.

Declined, with the reason

1904.06991, the precision/recall definitions, is not filed here, and the new practice says so in its Source section rather than implying otherwise. The 2026-09-23 metric-definition sweep looked at it and declined it as “not load-bearing on anything” — correct at the time, when it was “named twice, both times as ‘the appendix also reports it’”. SOTA-425 is what makes it load-bearing. The decline has expired and the sweep’s journal entry cannot record that, because curation entries are not versioned and nothing points from a declined id to the document that later needs it. It is the next thing this line wants.


Five boundary works, filed here by the owner’s rule for the boundary

2026-09-25 20:44:01 · curation · record

The reading-time triage of this morning (2026/09/25/160228) declined 34 works on scope and asked, in writing, whether the anthology wants them. The owner’s answer: the out-of-scope reading gets its own catchall record, nucleation, and when in doubt, it goes in the anthology. Nothing is filed in both. 29 went there; these five came here.

All five are Deferred, seeded from the abstract and a skim and not read in full, each with a Skimmed NOTE naming the sections the skim did and did not cover. Their LITs say why each is on the boundary; what follows is what a deeper reading has to settle, highest priority first.

  • Posani et al., Rarely categorical, highly separable representations along the cortical hierarchy (concept-geometry, Nature 2026). High. It measures in cortex what the topic asks of networks — categorical clusters versus separable mixed-selective codes — and its caveat about what separability does and does not show bears on every linear-probe claim the topic holds. The skim did not cover the figures or the method that separates the task conditions, which is where the claim has to be checked. published: is the bioRxiv preprint’s month (2024-11); that preprint, under another title, was not read.
  • Gallego & Orús, Language Design as Information Renormalization (signal-structure, 2017). Medium. It argues from how correlations in language decay with distance that deep convolutional networks fit language and RNNs and HMMs do not. It predates the transformer, and the claim about RNNs has to be read against Lin & Tegmark’s finding that LSTMs do capture power-law correlations.
  • Belfiore & Bennequin, Topos and Stacks of Deep Neural Networks (model-architecture, concept-geometry). Medium. 152 pages, largely conjectural. Read chapter 1 and the definitions of semantic information in §3.4, and go further only if those yield a claim that can be checked. Corrected the same evening: this entry said its mathematics “is” nucleation’s Abramsky & Brandenburger and that the two should be read in that order. A full reading of Abramsky & Brandenburger found that Belfiore & Bennequin cite it once, in a related-work list on p. 4, and use nothing from it. There is no reading order between them.
  • Piao et al., AgentSociety (deployment-and-society). Medium. A systems paper: more than ten thousand LLM agents as a stand-in for a society. Its claims to reproduce real findings rest on qualitative agreement, which is what a deeper reading should test.
  • Rigor with Machine Learning from Field Theory to the Poincaré Conjecture (analysis-and-evaluation). Medium. The seed filed it under “other sciences”; it came here because its transferable claim is a method — let a learned model search and an exact procedure verify, as the RL ribbon search did in ruling out more than 800 candidate counterexamples. The primary papers it maps matter more than a second pass over the map.

No practice or theory is drawn from any of them. A Skimmed note is not enough to source one, and that is the point of Skimmed.


A 62-second window on main, and three rebases spent blaming CI for it

2026-09-25 21:30:12 · curation · record

Three times in one session a rebase onto main conflicted on record files that had been renamed underneath the branch. Each time I aborted, reset, and re-applied the amendments by hand. In reporting the third I wrote that “CI concretized the temp codes mid-work”, which reads as a misconfiguration and is not what happened.

What actually happens, which is the design working

docs.yml guards the generating job with if: github.event_name == 'push', and the only push branch is main. concretize: "true" appears once, in that job, with a comment saying why:

Assign real numbers to merge-allocated temporary codes (LU-ADR-049) — only where merges serialize, which is this job. Concretizing on a branch is the premature number claim the temporary codes exist to avoid.

On #367 the PR’s own checks were docs-generate skipped, docs-lint skipped, collect skipped, docs-check success. Nothing concretized on the branch. The renames landed in d7dfdcf3, a bot commit on main.

So the temporary codes were on main because they have to be. They are the mechanism by which a branch declines to claim a number; the PR merges carrying them and the trunk assigns numbers afterwards. That leaves a window in which main’s tip is legitimately inconsistent:

committime (UTC)state
0e9a81e018:40:55merge; tip carries three temp codes
d7dfdcf318:41:57bot renames them to LIT-693, SOTA-424, THEORY-109

Sixty-two seconds. I branched inside it.

The part that was mine, and it is the reusable bit

Branching into a 62-second window is bad luck. Failing to notice afterwards was not. When the fetch showed d7dfdcf3 had arrived, I tested for concretization with

ls record/literature.d/[LIT-693](../../record/literature.d/LIT-693.md).md

which reads the working tree — descended from the merge commit, so of course the temp file was there. I concluded “no concretization”, carried on, and let the rebase discover it.

A local path check cannot answer a question about a remote ref, and it fails reassuringly rather than loudly. The right check names the ref:

git ls-tree -r --name-only origin/main record/ | grep -c tmp

That is the generalisable shape: when the question is “what does the trunk look like now”, every answer that reads the checkout is measuring the wrong tree, and a descendant of the thing you are asking about will always agree with you.

Why the grep is a stopgap and not the fix

luria concretize --check exists and is described as “the trunk’s guard” — but it reads the working tree, because on main that is the right place to look. The brancher’s question is the inverse and is about a ref, so the same command cannot serve it as written. Filed as LU-#325.

The argument for the CLI owning it rather than this file carrying a grep is that every way the grep is wrong is something the CLI already knows: grep tmp matches any path containing the substring, ignores which schemes are merge-allocated, hardcodes record/ as the layout, and would go silently stale if a project ever configured a different sentinel. config.TEMP_TAIL, current().schemes and cfg.rel() are the configured answers to all four. CLAUDE.md says to delete the grep when that ships, because a workaround with no expiry date outlives the thing it works around.

Not the same as LU-#309

That issue is a branch citing a temporary code it did not mint — another open branch’s, which the reference scan reports as “temporary codes this record does not mint”. This is a branch inheriting temp codes from the trunk that are about to be renamed underneath it. Same mechanism, opposite direction, and no report covers it because at branch time there is nothing yet to scan.


Readings the journal promised and skipped, counted, and the first five taken

2026-09-25 21:47:51 · curation · record

The owner asked for a check of this journal: which readings did it name, promise or queue, and then skip? All 236 curation entries (2026-08-24 to 09-25) were read, along with every Skimmed, Deferred and Proposed LIT and NOTE, and issue #290’s comments, since the journal cites that issue’s promoted queue without listing it. Each candidate was checked against every LIT’s arxiv: and title:, every NOTE’s paper:, and later entries.

About 90 candidates turned out to be done. What remains:

groupworks
(A) promised or named to file, never done~40
(B) held back on a trigger that has since fired5
(C) held back, trigger not fired~40
(D) Skimmed NOTEs owing a full read8, plus 2 read with no NOTE

The mechanism

Most of (A) was never declined. It was carried forward and then dropped. Islamov et al. was “still unfiled” in five consecutive entries (09/20 to 09/21), then it stopped appearing in the lists. It was never filed and never declined. Other items went the same way:

  • the dropout trio of 09/17 (“the one to file next”);
  • the two papers promised “a unit of its own” on 09/22;
  • #290’s promoted list, of which 09/24/163122 said “the next pass on #290 should work the promoted list”.

A “next” in a journal entry is a promise nothing enforces. The next session reads the entry, takes the first item, and the rest age out of the window.

(B) is the sharper version. ReLoRA waited on a decision, #88. The decision landed as ADR-042, and ADR-042’s own status note then said ReLoRA “is still unfiled”. The trigger fired, and the thing waiting on it was not told.

Taken in this pass

  1. MDLM and SEDD (LIT-702, LIT-701). Read, and added to SOTA-157 as corroborating sources for its “masked” half only. They support choosing masked over other discrete diffusion. Neither supports diffusion over autoregression. MDLM’s own retrained AR baseline wins in-domain by 10–32% perplexity. SEDD’s “beats GPT-2” is 3 of 5 zero-shot sets against a model trained on different data. SOTA-157 now says so. SOTA-254 gets their sampling-cost numbers, not a source.
  2. Dhariwal & Nichol (LIT-699). Filed on main by #369 while this pass was reading it, so two independent full readings met at the merge. The duplicate LIT was dropped; this pass contributes the NOTE, the relations, and what #369 had not already corrected. The record cited it four times as an instrument. Read, it corrects three of those citations:
    • The ImageNet classifier scale of 8.0 that LIT-676, SOTA-203 and SOTA-410 quote is a stress test, about three times the authors’ own tuned value.
    • The network THEORY-109 said is differentiated is the wrong one.
    • Its claim that large scales produce “no adversarial examples” is asserted and never tested.
  3. DeepSeek-V4 re-read (LIT-139, NOTE-361). The repair promised on 09/16. V4 keeps V3’s multi-token prediction as a training objective and never mentions speculative decoding. LIT-185’s “ship the same arrangement” is withdrawn, along with the claim’s echoes in SOTA-227, SOTA-162 and LIT-163. LIT-139’s own summary is corrected in four places.
  4. ReLoRA’s restart rule (SOTA-426, Proposed). Merging and reinitialising an adapter needs both an optimizer reset and a re-warm. Either alone diverges or does nothing, in the paper’s 130M ablation from a random start. That ablation has never been run from a warm start, which is what promote_when asks for. LIT-104 goes to Active, and ADR-042’s status note now says ReLoRA is filed.
  5. Islamov et al. (LIT-700), which joins the edge-of-stability half of the optimizer cluster to the non-Euclidean-norm half. The edge of stability holds for steepest descent under other norms, but only when sharpness is measured in the update’s norm. THEORY-035 gains a section saying the top Hessian eigenvalue is the Euclidean case of its account, not the account.

Still owed, in the order to take them

  • (A) #290’s nine unfiled promotions:

    • Integrated Gradients and Sanity Checks; fourteen declined attribution papers wait behind these two.
    • EDM2 and FLIP.
    • 2102.11972, Min-SNR, 2607.18363, Primer and Swin.

    Also: the dropout trio (Li et al. 1801.05134 first), Xie et al. 2111.02080, Rubin et al. 2310.03789, Smith et al. 1711.00489 and MeZO (2305.17333). Then the four worklists:

    • Forward-forward, difference target propagation and forward gradients.
    • The weight-space ensembles.
    • The attention “escapes” (Differential Transformer and its kin).
    • NiT and Multigrid.
  • (B) SwitchBack (its trigger, low-precision training, has opened). SPlus (Shampoo and SOAP are held).

  • (D) The four boundary works filed today (LIT-694, LIT-695, LIT-697, LIT-698). Gallego & Orús must be read against Lin & Tegmark (1606.06737), which is not held. Also the Contextures dissertation, which SOTA-273 owes, and Mish.

  • Questions this pass raised:

    • Whether SOTA-157’s introduced_by: LIT-217 (LLaDA) still holds now that MDLM is filed. D3PM, the masked-diffusion origin, is not held either.
    • Whether DeepSeek serves V3 or V4 with speculative decoding at all. The V4 report is silent, and the V3 report (LIT-160) was not checked.
    • LIT-139’s published: month is 2026-06, from its arXiv id 2606.19348. The reader reported an April submission date, which the id contradicts. It is left as the id says.

The grouped table, with where each item was named, is not reproduced here. This entry is the durable list, and the next pass should start from it rather than from the last entry’s “next”.


Filing the instrument found two wrong sentences about the instrument, both mine, both hours old

2026-09-25 21:50:33 · curation · record

SOTA-425 was filed a unit ago. It recommends reporting precision and recall beside FID, and it said — in its Conditions, as the reason SOTA-337 applies to it — that the two metrics are “computed with the same ImageNet network FID uses”.

They are not. The metric uses VGG-16 activations after the second fully connected layer. FID uses Inception-v3. The same sentence, in slightly different words, had also gone into SOTA-337 v2 an hour before that.

Why this is the interesting kind of wrong

The sentence was not a guess. It was an inference from something true — both networks are ImageNet classifiers, so the hazard SOTA-337 describes does apply — compressed into a claim about identity that nothing in the record could have checked, because the record did not hold the paper that says which network it is.

And the inference’s conclusion survives intact. It arguably gets stronger: LIT-703’s own Figure 3c reports that Inception-v3 features give “substantially similar” results to VGG-16 for this metric. So precision and recall are a second, different ImageNet classifier that agrees with the first one — which is a cleaner statement of the problem than “the same network”, because two independent-looking instruments converging is exactly the situation SOTA-337 exists to make a reader distrust.

The generalisable shape: a correct conclusion resting on a fabricated mechanism reads exactly like a correct conclusion. Nothing in the lint can see it, no reviewer of the practice would flag it, and the only thing that catches it is holding the paper. Two of the last three units have now been “file the instrument a practice already depends on”, and both times the practice turned out to be wrong about the instrument in a detail it had asserted confidently.

What else the paper had that the practice was missing

A much better demonstration. SOTA-425 argued from ADM’s table — ADM-G beating BigGAN-deep on FID while losing precision, which requires the reader to accept a cross-architecture comparison. Figure 4 here is four setups of one generator on one dataset:

setupFIDwhat it looks like
A91.7heavily truncated; high quality, all alike
B16.9good quality, lower variation
C4.5the FID-optimised config, faces starting to distort
D16.7”nearly all of the generated images have low quality”

B and D are 0.2 FID apart and perceptually opposite, and the paper says the obvious thing out loud: “it is unclear which application might favor setup D where practically all images are broken over setup B”. Meanwhile C, the configuration FID selects, has visible artifacts.

Two conditions the practice did not have. k = 3 is a default, not a constant, and both precision and recall rise with k until they saturate — so precision at one k against precision at another is not a comparison, the same failure the guidance-weight practices are about. And two metrics make model selection multi-objective: with FID you take the best snapshot, with two columns the snapshots of one run span a range of tradeoffs, and the paper’s answer is a Pareto frontier rather than a choice about which axis matters. That last one is a real cost the practice was quietly not charging.

A theory that two papers support and neither one claims

Everyone knows FID conflates fidelity and coverage; SOTA-425 says so. What this paper measures is that the conflation has a direction. Over six StyleGAN configurations, “FID favors configurations with high recall over the ones with high precision”, and the best-recall configuration set a new state-of-the-art FID for the dataset. The mechanism is given, not inferred: FID is a Wasserstein-2 distance in feature space, so “low intrinsic variation implies low FID even when much of that variation is missed”.

Then LIT-699, filed two units ago from a different group, a different architecture family and a different dataset, reports ADM-G beating BigGAN-deep on FID at 128, 256 and 512 while losing precision at all three and winning recall. Same direction. Neither paper cites the other for this, and neither states the general claim.

That is THEORY-110, Proposed. If it holds, a field that selects on FID has been selecting for coverage without saying so, which would explain the habit the first paper points at in its introduction: methods that “claim to optimize FID” and then produce their uncurated figures from a truncated model that “explicitly sacrifices variation, and often FID”. The promote_when asks for the magnitude, because two measurements of a direction with no measurement of a size is consistent with the effect being real and negligible.

The variance number, and what it prices

SOTA-307 calibrates a 1–2% FID floor for SiT on ImageNet and says plainly to port the protocol and measure your own. This paper is the one case in the record of somebody having a number from elsewhere: FID varying “by up to ±14% between consecutive training iterations” of StyleGAN on FFHQ — mentioned in passing, as the reason they amortise over snapshots.

It is not a correction and I have been careful not to file it as one. A ±range over consecutive snapshots of one run is not a coefficient of variation over independent seeds, and a GAN on faces is not a flow model on ImageNet. What it does is put a price on the warning: the two numbers are an order of magnitude apart, so a reader who carries the 2% into a GAN paper is making the mistake SOTA-307’s Conditions section already predicts. Neither cell of the obvious 2×2 has been measured — nobody has a GAN’s seed-to-seed floor or a diffusion model’s snapshot-to-snapshot one.

Deliberately deferred

Sajjadi et al. (2018), 1806.00035, is the formulation this paper replaces, and this paper’s account of it is damning: it calls three of the four StyleGAN setups “essentially perfect”, gives the heavily truncated one the lowest precision, and under a truncation sweep reports both precision and recall rising as truncation is removed — backwards. Filing the two together would let that account stand as the record’s knowledge of it, which is the position THEORY-109 is in with respect to classifier guidance and the reason that theory is still Proposed. Named in the note’s Standing section so the next reader inherits the reason rather than the gap.


An absence read as low priority twice, next to six practices working around it

2026-09-25 22:21:20 · curation · record

EDM2 has been on the #342 Tier B list for days and was ranked low twice, both times for the same stated reason: its own contributions are absent from the record — zero files say “post-hoc EMA” or “magnitude-preserving” — so it “extends a well-sourced practice rather than correcting one”. It succeeds SOTA-188’s source and nothing here contradicts it.

That reading was wrong, and the error is in how an absence was priced.

The measurement that inverted it

The record holds a dense weight-averaging cluster, most of it filed in the last three days:

documentwhat it says about the averaging length
SOTA-408average the tail under a cyclical or high constant LR; window = “further epochs”
SOTA-409average across a hyperparameter sweep, in validation order
SOTA-415uniform-average recent checkpoints — “it has no hyperparameter”
SOTA-156average the iterates so no stopping time need be fixed
SOTA-217align permutations first
SOTA-288replicate a subset, train the copies, average back

Six practices about averaging weights, and not one of them knew the averaging length can be chosen after the run. SOTA-415 is the sharpest case: it recommends uniform averaging partly because “it has no hyperparameter”, and then spends its next Conditions bullet on a heuristic for tuning a window — with a measured 4.6-point penalty for getting it wrong early.

So the absence was not “this paper adds something the record does not discuss”. It was “the record works around this paper’s contribution six times.” Those look identical from a mention count. Telling them apart takes asking what the neighbouring documents are doing, and the question that has been productive all week — does the record make a claim this paper would correct or source — gets it right where the count gets it backwards.

That is the second time a #342 ranking has been wrong for a measurable reason. The first was Swin, where grep swin was matching the word “swings”. This one is subtler and worse: the count was correct and the inference from it was not.

The number that reaches outside diffusion

Figure 12, reported as an aside about learning rates:

averaging lengthFID across t_ref ∈ [30k, 160k]
fixed at 13%up to 72% worse than optimum
swept post hocall within 10%

A sweet spot in the learning-rate decay still exists. But most of what the first row measures is the mismatch between a frozen average and the run it was frozen for, and a reader of that row alone would conclude the decay is a high-sensitivity hyperparameter. THEORY-111 is the general form: a sensitivity sweep attributes interactions to the knob it moves, so published sensitivity curves are a lower bound on how forgiving a hyperparameter is.

A claim I had to weaken while writing it. I first wrote that freezing “can only add apparent sensitivity, never remove it, because the swept curve is a lower envelope”. The envelope part is right and the conclusion does not follow: a pointwise lower bound can have a larger range if it dips far at one point. What makes the bias one-directional in practice is that the frozen value is tuned at the configuration the authors settled on, so the two curves share a minimum and the frozen one spreads wider. That holds here — 13% is optimal at t_ref = 70k — and it is a fact about how people tune, not a theorem. Filed as the former.

Why the practice is Active on one paper

SOTA-432 is Active/unreplicated, which is an unusual pair for a single group’s single paper, and the reason is that the two halves have different evidential status. The reconstruction is arithmetic — a least-squares fit between averaging profiles over stored parameter vectors, with error measured at O(1/n⁴) — and nothing in it is specific to diffusion, so “does it work” is not really an empirical question. What is unreplicated is the payoff: that sweeping the length changes which other hyperparameters matter, measured once, on ImageNet-512, on FID.

The promote_when for the theory names the cheapest possible test, and it is unusually cheap: because reconstruction works retroactively from stored snapshots, the 2×2 can be run on training runs that already finished. Storage and evaluation, no training. The record’s own practices name three settings where somebody has the checkpoints.

What I did not do

No separate practice for magnitude-preserving layers. The architecture is half the paper and the better half by FID, but the record makes no claim it corrects — it is a new design, not a fix to a recommendation here — and filing a practice for it would be filing on novelty rather than on a defect. Carried in the note and left there.


The second wave: twelve papers the journal promised, and what each headline measured against

2026-09-25 22:24:31 · curation · record

This is the second pass over the worklist in 2026/09/25/214751. Each paper was read in full, and each had been promised in an earlier entry and then dropped.

A note on how this pass came about. The owner’s request to review skipped readings was meant to find candidates for nucleation: work this anthology set aside as out of scope. It was read instead as a backlog of in-scope filings. The first wave (#373) and this second wave both came from that misreading. The owner chose to keep this wave. The survey the request actually asked for has since been run, and its result goes to nucleation, not here.

What was filed

The worklist promised eleven papers. The transfer-study pair turned out to be a pair, so twelve were filed:

  • #290’s promoted list:
    • Integrated Gradients and Sanity Checks for Saliency Maps
    • EDM2 and FLIP
    • Min-SNR and Primer
    • Narang et al. and the attention-only controlled study
  • The dropout cluster of 09/17: Li et al., Gal & Ghahramani and Hara et al.

Five practices were filed, all Proposed:

  • Put dropout after the last batch-norm layer.
  • Choose the EMA length post hoc, per metric.
  • Use magnitude-preserving layers in a diffusion denoiser.
  • Mask half the patches in CLIP-style training and spend the saving on batch.
  • Run both randomization tests before trusting an attribution map.

The pattern: every headline is a ratio against the weakest baseline

The first wave found skims overstating papers. This wave found the papers overstating themselves, and always the same way:

  • Min-SNR’s 3.4× speedup is against constant-weighted x0-prediction. Against plain ε-MSE, the usual default, FID moves 4.21 → 4.14 at 1M iterations, in a single run.
  • Primer’s 4.2× saving is against ReLU T5. Against SwiGLU + RMSNorm it is about 2×, and squared ReLU beats SwiGLU in one figure at 110M.
  • FLIP’s accuracy gain is the larger batch that masking pays for. At equal batch it is parity, and at ViT-B/16 it is 0.2 behind.
  • Li et al.’s “outperform their baselines” means beating the same network before BN re-estimation, not the network without dropout. The real finding, a large measured cost of dropout upstream of BN, is sound. The headline fix is worth about 0.2 top-1.
  • Narang et al. are strong evidence against the modifications that lost: ReZero, Fixup, Universal Transformer and parameter sharing. For the winners the evidence is weak. SwiGLU’s gain was re-run in GLU Variants’ own codebase, which confirms the number but does not test whether it transfers. Seven architecture practices now say what Narang found for them.
  • Integrated Gradients’ only empirical support is visual inspection, the kind of evidence Sanity Checks shows to mislead. Sanity Checks itself gives Integrated Gradients no verdict.

Record changes worth knowing

  • SOTA-034 (SwiGLU) now has a contested_by: Primer. It is the only paper in the record that disputes SwiGLU’s quality rather than its range. The recommendation is unchanged.
  • LIT-020, LIT-023 and LIT-047 gain model-architecture as a secondary tag. Narang et al. compared against them. That joined them to a lineage whose other members all carry the tag, and the lint reported the line as sharing none. The relation was right and the tag was missing. A reader browsing model-architecture would expect a token mixer, a normalization layer and a residual reparameterization.
  • LIT-605 and SOTA-372 gain a tag each. The reason is the same: FLIP joined two lines.

Left open

  • No practice recommends sampling from a weight average at all. EDM2 builds on that step, and it has no run without EMA, so it cannot source one.
  • Min-SNR could be a Proposed practice if a second group shows the ε gain holds at the end of training.
  • Primer’s per-head depthwise convolution has no practice.
  • The topics have no word for uncertainty or calibration. Gal & Ghahramani went under analysis-and-evaluation. That is a finding about the vocabulary: the fix is to add a word, not to settle for the nearest one.
  • SOTA-337’s condition may be too narrow. EDM2 hints that it should not be limited to an ImageNet classifier in the pipeline.
  • SOTA-005 has a cause it does not list. Its running statistics are wrong because dropout changed the network, not because the data moved.

The rest of the worklist in 214751 still stands.


Five boundary works from the survey of what this record set aside

2026-09-25 22:41:26 · curation · record

The owner asked what this journal had skipped, and meant it as a survey for nucleation: work set aside as out of scope, to be triaged there. That survey scanned all 239 entries, every ADR and issue #290, and the papers feed. It found 70 candidates. Only one of them was a scope decline named by title and held nowhere: The Work Capacity of Channels with Memory. The other 69 are the social-science, physics and philosophy clusters that the 09/25 reading-time triage named only as a group. All 70 go to nucleation, with five exceptions. Those five are filed here under the owner’s rule for the boundary (“when in doubt, the anthology”), and each is Deferred with a Skimmed NOTE:

  • Burrell, Automated decision-making as domination (deployment-and-society).
  • Kosmyna et al., Your Brain on ChatGPT (deployment-and-society). The skim did not reach its EEG statistics (pp. 60–150), which is where its claim lives.
  • Møller et al., The Impact of Generative AI on Social Media (deployment-and-society). This is a randomized experiment.
  • Roy et al., Surya, a heliophysics foundation model (vision-and-graphics, model-architecture, adaptation-and-tuning).
  • Ji-An, Benna & Mattar, Discovering cognitive strategies with tiny RNNs (analysis-and-evaluation, tiny-models). First appeared as a 2023 bioRxiv preprint. A published critique exists and has not been read.

Two of them name vocabulary gaps. Both are recorded here, not resolved.

  • Surya is an ML model of physical data. ADR-059 anticipated a word for scientific-domain models, to be added once the record holds one. It holds one now.
  • The tiny-RNN paper is behavioural modelling. No topic says that.

The tags above are the honest nearest fits. By this record’s own rule, the fix for both is to add a word. That is the owner’s call, and it is flagged here so that it is made once.


Two branches read the same paper on the same day, and the trunk found out before either of us

2026-09-25 22:56:38 · curation · record

I filed 2312.02696 as LIT-720, with a practice and a theory behind it. It was already LIT-714, with a better practice and the theory’s claim already inside it. arxiv is declared unique on LIT, so the second filing turned main red:

luria.yaml: schemes.LIT.field_groups.source declares arxiv unique, and 2312.02696 is held by LIT-714, LIT-720 — one value cannot identify 2 documents; retire all but one, naming the survivor in superseded_by:

Everything below is the reconstruction, because the entry that is worth writing is not “a duplicate happened” but “which checks were run, and why every one of them passed”.

The checks that passed

Before starting I measured the gap, deliberately, because the previous two units had paid off by doing exactly that:

grep -rn "2312.02696\|EDM2\|EDM-2" record/ --include=*.md
grep -rln "post-hoc EMA\|magnitude-preserving" record/practices.d record/theory.d record/literature.d

Both came back clean — only curation entries mentioning EDM2 as a ranking, and zero files naming either contribution. I also ran the branch-point check this record gained a paragraph for an hour earlier:

git ls-tree -r --name-only origin/main record/ | grep -c tmp   # 0

All three were correct and all three were blind to the same thing. The paper was being filed on another branch at that moment. A branch is invisible to a grep over the working tree, invisible to a grep over main, and invisible to the temp-code check — which exists to catch codes already merged to main and awaiting numbering, not codes that have not landed at all.

So the uniqueness constraint did its job: it is the only check in the system positioned to catch this, and it caught it at the first moment it could, which is after both branches merged. That is not a gap in the lint. It is what a serialization point is for.

What the duplicate cost, and what it did not

LIT-714 wins on every axis and it is not close. It was read “in full … appendices included” as NOTE-370; it carries the whole A–G ablation ladder with FIDs (8.00 → 2.56); it has the finding I did not have, that FID and FD_DINOv2 pick EMA lengths 13% against 19% unguided and 2% against 14% at guidance 1.4, each rating the other’s optimum as poor; and ten documents cite it against my four, all of which were my own.

SOTA-428 likewise covers SOTA-432, with more: architecture, learning rate, guidance and metric dependence, where mine had the first two. And the theory I filed as THEORY-111 is a sentence in its Conditions — “Much of what looks like learning-rate sensitivity is EMA mismatch” — resting on the same 72%-against-10% bracket I built a whole document on. I even misread which figure it was (12 in the v1 HTML, 13 in the published version), which NOTE-370 has right.

Two things survive, and only because they touch documents SOTA-428 does not mention: the SOTA-415 qualification (its “no hyperparameter” justification for uniform averaging described the scheme rather than the choice) and the SOTA-408 note (its extra-epochs charge belongs to its method, not to averaging). Both are repointed at the live documents and both are unchanged.

The judgement I got wrong, and it was not the grep

The measurement said: six averaging practices, zero mentions of post-hoc EMA, therefore a gap worth a unit. That inference was right, and somebody else had already drawn it — LIT-714’s Standing section says “neither of its two contributions was anywhere in this record”, which is my sentence, arrived at independently, hours earlier.

So the failure was not analysis. It was that I treated a stale worklist as a claim about the present. #342’s body is a snapshot from 2026-09-24 that says “21 of 25 unfiled”, and by the time I read it eleven of its fourteen Tier B items were done — several by me. An issue body is not a database view; nothing updates it. Reading “EDM2, item 9, unfiled” off a day-old table and starting work is the same class of error as reading a gap sentence out of a note and believing it, which this journal has now recorded three times in two days. I wrote that finding down and then made the same mistake with a different artifact.

The cheap check I skipped: grep -l 2312.02696 record/literature.d/*.md costs nothing, and I ran the right query against the wrong moment — before branching rather than before committing. A pre-commit re-measurement would have caught it, since #375 merged while I was reading.

The retirement, and why not deletion

CLAUDE.md says retire by changing status, never by deleting, and the lint’s own message prescribes superseded_by:. Both point the same way, and deleting would also hide the error, which given whose error it is is the wrong bias. Three Superseded shells with formerly: aliases keep every stray citation resolving and leave the record saying out loud that this happened.

The record has deleted duplicates before — 67 of them, after #138 — so the precedent exists. The distinction I am drawing: those were a mechanical import artifact with no reasoning attached, and these are three documents somebody wrote on purpose and got wrong.


The mechanism the guidance cluster was built without, and the check that would have caught yesterday’s duplicate

2026-09-25 23:21:21 · curation · record

Two things, and the second is process.

Six documents about a trade, and no account of why the trade exists

Over four units the record built out guidance: SOTA-424 (the CFG recipe), SOTA-425 (report precision and recall because FID’s optimum is interior), THEORY-109 (the adversarial-metric suspicion), THEORY-110 (FID prefers coverage), and the scale-dependents SOTA-202, SOTA-203, SOTA-410. Every one of them takes the fidelity-for-diversity trade as a given. The closest thing to a mechanism the record held was THEORY-104 — what a large guidance scale does to a solver’s convergence radius — which is a consequence of guidance, not a reason for it.

2406.02507 supplies the reason, and it is not the one the cluster assumed. Guidance adds a force along ∇ₓ log[p₁/p₀]. The reference p₀ is not merely unconditional, it is worse — “a more difficult task of the two … and typically only a small slice of the training budget”. A looser density falls off more slowly away from the data, so the ratio decreases with distance from the manifold and its gradient points inward. The image-quality gain is that inward pull. The class emphasis is a separate effect, and it is the one that costs diversity.

The measured asymmetry is large and nobody prints it: EDM2-S on ImageNet-512 is FID 2.56 conditional against 11.67 unconditional, and the paper’s aside is the sharpest line in it — “the unconditional case tends to work so poorly that the corresponding quantitative numbers are hardly ever reported.” Every CFG deployment is correcting a good model with a model that bad.

What makes this an account rather than a story is the negative control, and this is the part the record should want copied. Construct D₁ and D₀ by applying different degrees of the same synthetic corruption to one base model and autoguidance undoes the damage: dropout 5%/10% recovers FID 2.55 against the undamaged 2.56; input noise +10%/+20% recovers 2.56. Then cross the corruptions — dropout on one, input noise on the other — and guidance stops helping at any weight, the optimum falling back to w = 1. A generic-sharpening story predicts the cross arm works. The density-ratio story predicts it fails. It fails.

I have written a lot of promote_when clauses this week asking for exactly this shape and rarely getting it. Worth naming the form: a mechanism claim earns its status when the experiment includes an arm the mechanism says must fail.

Two Conditions that were about a reference model, not about guidance

SOTA-424 carried:

  • “Conditional generation only. There has to be a condition to drop.”
  • “Diversity is what is being spent.”

Both true of the recipe. Neither true of guidance. Autoguidance takes unconditional EDM2-S from 11.67 to 3.86 — the regime the first condition declares empty — and keeps the quality gain without the variety loss, which is the second condition’s subject matter. v3 says which of the two each belongs to rather than deleting them, because for a reader who is in fact training a CFG model both still hold.

The generalisable bit: a practice’s Conditions section is written from the source’s experiments, and a source that varied only one reference model cannot distinguish “this costs diversity” from “guidance costs diversity”. The tell is a Condition stated about the category when the paper only ever tested one member. That is the third variant of scope-defect this journal has recorded in three days — after a universal practice silent about its default regime (SOTA-203) and a title narrower than its own body (SOTA-337).

The check I said was missing, run this time

Yesterday’s duplicate happened because I measured the gap before branching and never re-measured before committing, so a paper filed on another branch in the meantime was invisible. This unit ran the full version first:

grep -rl "2406.02507" record/literature.d/          # empty
grep -rln "autoguidance" record/                    # empty
gh-equivalent: list open PRs                        # none
git ls-remote --heads origin | grep -v main         # stale branches, no open PRs

The third line is the new one and it is the one that mattered. A grep over the working tree and a grep over main are the same check twice; neither sees a branch in flight. Listing open pull requests is a different observation, and it is the cheap one — the uniqueness constraint will catch the collision eventually, but only after both branches have merged, which is too late to avoid the cleanup.

Not added to CLAUDE.md unasked; the paragraph there covers the concretization window, which is a different hazard, and whether to extend it is the owner’s call.

Still open, and two papers have now asked for it

The source’s own future work: “it could also be interesting to further isolate the origin of the improvement using alternative metrics, such as precision and recall, Human Preference Score, or PickScore.” That is SOTA-425’s recommendation and half of THEORY-109’s promote_when, requested by the authors and not run. Every number in this paper is FID or FD_DINOv2 — both Fréchet distances that mix fidelity and coverage — so “quality without losing variation”, the headline, is currently a claim that a mixed metric improved.

That is now two papers in this cluster asking for a coverage measurement on guided samples and neither taking it, which is a better argument for SOTA-425 than anything in SOTA-425.


The paper three notes were standing on, and a rejection that finally names what it rejects

2026-09-26 01:39:33 · curation · record

This unit started from a wrong guess that was pointing at the right place. The question was whether the record held VQGAN-CLIP, on the reasoning that it is “a good citation for early classifier guidance work, which CFG builds on.” It is not: 2204.08583 is April 2022, eleven months after ADM, and its mechanism is optimising a latent against a CLIP score, not adding a classifier gradient to a denoiser’s score estimate. But the thing being reached for exists, one paper over, and the record did not hold it either.

Classifier guidance is 2011.13456 §5, Eq. 14, November 2020 — six months before ADM:

dx = {f(x,t) − g(t)²[∇ₓ log pₜ(x) + ∇ₓ log pₜ(y|x)]}dt + g(t)dw̄

together with the recipe for the noise-conditioned classifier that supplies the second term. ADM says as much in its own words, which this record has been quoting for weeks without holding the referent: a “score-based conditioning trick adapted from Song et al.”

Three citing sites, and the same shape a fourth time

sitewhat it leaned on this paper for
NOTE-358the DDIM-variant guidance substitution, “adapted from Song et al.”
NOTE-347that reconstruction guidance corrects this paper’s imputation approach
NOTE-067that DDIM is not the continuous-time/SDE paper — a distinction drawn against it

Four consecutive units have now found the same defect: the record cites a paper as an instrument or an authority, repeatedly, and holds nothing. NOTE-067 is the variant worth naming. It is not a gap sentence — nobody wrote “the record does not hold X.” It is a note whose entire corrective purpose is to separate paper A from paper B, filed while B was unheld. A distinction is only as checkable as its least-held term, and this one had been uncheckable since September 10th, in a note whose visible job was to fix a confusion.

Nothing in the toolchain sees any of these. luria lint checks relations between documents; a surname in prose is not a relation.

A rejection that did not name what it rejects

SOTA-397 tells you to condition an unconditionally trained diffusion model with reconstruction guidance and not with replacement, on VDM’s FVD 136 against 451. v1 argued against replacement as though it were folklore — the obvious wrong thing people do.

It is not folklore. It is this paper’s §I.2, and the paper writes down the exact step where it breaks. It wants pₜ(z(t) | Ω(x(0)) = y), calls it “in general intractable”, and approximates

pₜ(z(t)|A) = 𝔼[pₜ(z(t)|Ω(x(t)), A)] ≈ 𝔼[pₜ(z(t)|Ω(x(t)))]

dropping the conditioning on the exact known values and keeping only the noised known dimensions. The discarded term is precisely the requirement that new content agree with the real frames rather than with a noisy copy of them. Quote that and a 136-against-451 gap stops being a surprising fact about splicing and becomes the size of a named approximation error.

Generalising: a practice with no source: fails the lint. A practice that rejects a named alternative with no source for the alternative fails nothing, and reads as more confident than it is, because “everyone knows X is worse” and “X’s own authors published the approximation that makes it worse” are the same sentence on the page and very different claims. v2 changes no recommendation, no status and no consensus — only which of its assertions a reader can follow to a document.

Verified against the paper, not against the note

NOTE-347’s summary said reconstruction guidance corrects Song et al.’s imputation approach. That is what sent this unit at §I.2 — and it would have been enough to write the SOTA-397 insert from, without opening the appendix. Two of the last three units filed a correct conclusion resting on a mechanism detail I had asserted rather than read (the precision/recall feature space, twice in one afternoon). So §I.2 was read in the paper before anything was written about it. The summary was right. That is the outcome to expect from the check, not a reason to skip it.

No practice, no theory, deliberately

The conditional-score decomposition is a derivation, not a contested explanation; a THEORY for it would be filing on novelty rather than on a defect — the call already made about EDM2’s magnitude-preserving layers. Predictor-corrector sampling is a recommendation, but the record’s sampler practices (SOTA-203, SOTA-410, SOTA-416) live on the deterministic branch and this paper runs no controlled comparison against them, so filing it would mean filing a preference with nothing behind it. Filing the substrate three documents were standing on is the whole contribution.

Deliberately not in this unit

VQGAN-CLIP goes to the reading list, not to the record: CLIP-scored latent optimisation is a lineage covered nowhere here, which makes it a genuine gap and a lower-priority one than a paper three notes already cite.

And the standing finding from the guidance cluster is now two units old and unaddressed: LIT-693 and LIT-721 both ask what guidance costs in coverage, and neither measures it on guided samples. That is a better argument for SOTA-425 than anything currently in SOTA-425.


The paper that was ranked last nine times, and the benchmark that scored one design choice backwards

2026-09-26 03:23:02 · curation · record

Swin was the last unfiled Tier A/B item on #342 and it had been last for a reason that was stated three separate times and was correct every time: nine documents mention it, all nine use it as somebody else’s experimental backbone, and no practice depends on anything it says. #326 put it low. #290 promoted it and nobody worked it. The #342 comment left it there on the record that its file count was partly grep swin matching “swings”.

All of that survives the reading. What the ranking could not see is that the paper’s value to this record is in its ablation table, and a dependence count cannot see an ablation table.

The finding

Swin runs every design ablation on three benchmarks — ImageNet-1K classification, COCO detection, ADE20K segmentation — with one architecture and one recipe. Table 4:

variantImageNet top-1COCO AP_boxADE20K mIoU
no position encoding80.149.243.8
absolute only80.549.043.2
absolute + relative81.350.244.0
relative only81.350.546.1

The absolute position embedding is worth +0.4 top-1 and −0.2 box AP and −0.6 mIoU. A design choice that a classification benchmark scores with the wrong sign.

That is the whole finding, and the restraint it needs is worth stating: the three metrics are not commensurable. A point of top-1, a point of box AP and a point of mIoU are different quantities, so “the effect is 2–3× larger on dense tasks” — which the shifted-window row invites, 1.1 top-1 against 2.8 box AP and 2.8 mIoU — is not a claim this table supports. The direction is the only part that needs no common scale, and it is the part the practice rests on.

Where it lands, and the coincidence that makes it sharp

SOTA-388 is this record’s plain-ViT baseline recipe. Five changes, in descending order of what the ablation attributes to each; the smallest of the five is fixed 2D sin-cos position embeddings, worth 0.4 points.

That is the same 0.4 points, on the same benchmark, for the same kind of encoding, that Swin measures as negative on both dense tasks. Different architecture and a different encoding, so it refutes nothing — but it marks which row of a five-row recipe is the one to re-measure before using the baseline as a backbone. v2 says so; the recommendation is unchanged, because SOTA-388 is explicitly a classification baseline and says so in its own “When this applies”.

SOTA-358 is the larger one. It states the inductive-bias trade on one axis — prior against data volume — and its Conditions are four statements about data scale. The downstream task is held fixed at classification throughout and never named as a variable. Swin varies it inside one model, and the invariance prior’s value changes sign. v3 adds that Condition and spends most of its words on what it does not show, because the tempting reading is the wrong one:

  • not a data-scale sweep, so the threshold does not move;
  • a position encoding, not convolution, so it is one narrow expression of translation invariance;
  • and not Swin-beating-ViT, which varies attention pattern, resolution schedule, position encoding and recipe at once, and whose dense-task DeiT baseline is a retrofit built with deconvolution layers.

Generalising: a practice can name its scope honestly on every axis it thought of. SOTA-358 says the numbers do not transfer, says the threshold is architecture-specific, says it assumes you choose the data scale. It never says which task it was scored on, because the task was not a variable in the experiment that produced it. An unnamed constant is invisible in exactly the way a named limitation is not, and the only thing that finds one is another paper that varied it.

Two things read carefully rather than quickly

The paper’s own strongest claim is not supported by its headline. Its conclusion is that “inductive bias that encourages certain translation invariance is still preferable for general-purpose visual modeling, particularly for the dense prediction tasks”. The evidence for that is Table 4’s position rows, inside one architecture. The COCO and ADE20K wins over DeiT and ViT are not evidence for it. The citable half is the benchmark table and the load-bearing half is the ablation, which is the same shape the CFG unit found in 2207.12598 four days ago.

Shifted windows are a speed result. Table 4’s w/o shifting row shows cross-window connection matters (+1.1 / +2.8 / +2.8). Table 6 shows that sliding windows get the same accuracy to within noise — 81.4/50.2/45.8 against 81.3/50.5/46.1 — and Table 5 shows shifted windows are 4.1×/1.5× faster, because every query in a window shares one key set. Those are two different claims and the paper’s title encourages conflating them.

No theory, deliberately

The paper attributes the sign flip to translation invariance mattering more for dense prediction, in one sentence, with nothing isolating it — no arm varies equivariance while holding the encoding fixed, or the reverse. So the account and the measurement are one observation told twice. The standard applied to autoguidance three days ago holds here in the other direction: a mechanism claim earns its status when the experiment includes an arm the mechanism says must fail, and this one has none. The flip is measured and unexplained, and the note says that rather than dressing the correlation as a reason.

What the ranking was actually wrong about

Not the count. The count was right nine times over — nine documents, every one of them using Swin as a test subject. The ranking question was “what depends on this?”, and the answer really was “nothing depends on what it says”.

#326 had already replaced that question with “what does this paper measure about something the record relies on?” and this unit is the first where the two questions give different answers for the same paper. Swin measures something about SOTA-388 and SOTA-358 that neither of them can measure about itself, while depending on neither. A paper can be worth filing purely as an instrument, and nothing in a dependence count will ever say so — you have to have read the ablation.

Which is also the honest limit of the corrected question: it is still asked from outside the paper, off a title and an abstract, and this table is in neither.

Deliberately not in this unit

SOTA-320 and THEORY-062 rest on “ViT, Swin and GPT all train without warmup”. That sweep is strong precisely because Swin is architecturally far from ViT — different attention pattern, resolution schedule and position encoding — and neither document says so. It is a weakness in how the generality is argued, not an error, and the note now gives a reader the referent to check it against. Left alone.

Tier A/B of #342 is now complete. Tier C remains, to be declined again with better reasons.


Tier C was filed by accident while the issue said it was untouched, and the one thing it left behind

2026-09-26 03:43:36 · curation · record

The instruction was to take #342’s Tier C. The first thing to do with a tiered list is measure it, and the measurement ended the plan: all seven items were already held.

idheld aswhat #342 said
1703.01365LIT-712”opens a cluster that does not exist”
1810.03292LIT-713the other opener
2102.11972LIT-711”0 files”
2607.18363LIT-708”no incumbent named”
2212.14034LIT-681”1 file”
2303.09556LIT-710”1 file”
2109.08668LIT-709”0 files”

All Active. Six landed with #375 and one with #366 — journal-backlog units working a different queue, neither of which was a #342 unit. And the ranking’s predictions did not survive contact: 2102.11972, filed at “0 files”, is now cited by fifteen documents and sources two; 2109.08668, also “0 files”, is cited by six. The attribution cluster #342 said “does not exist” now has two notes, a LIT pair and a practice.

The part that is mine

#342’s body says Tier C is “untouched, as intended”. So does a comment on it, posted at 23:03 on 2026-09-25 — hours after six of the seven had merged. That comment is mine. In the same comment I re-measured Tiers A and B against main, printed a table, and wrote that the issue body “is a 2026-09-24 snapshot and it is out of date.”

So: measured two tiers, copied the third, and the copied one was the wrong one. That is the #379 defect — a claim read off a stale artefact instead of off the tree — committed one day after writing that the fix is to re-measure immediately before committing, in a comment whose entire subject was that issue bodies go stale.

The generalisable form is narrower and more useful than “re-measure”. I did re-measure. What I did not do was re-measure the thing I was not working on. A partial audit inherits the authority of the part it checked: the table of Tier A and B counts made the sentence about Tier C look measured, because it sat three lines below numbers that were. An audit that covers most of a claim launders the rest of it. The cheap defence is to state, per assertion, where the number came from — and the comment does that for A and B and silently does not for C.

What Tier C actually left behind

Not the seven papers. A name.

SOTA-430 — the practice 1810.03292 produced, run the randomization checks before you trust an attribution map — carries 2106.07475 in two places: its promote_when says “2106.07475 is the first to read”, and its consensus_note says “The record holds none of it and has not read it.” NOTE-365 names it twice more and LIT-713 once. Five sites, one bare arXiv id, no document — and the id belongs to the paper that argues the practice’s own test does not measure what it claims.

That is the gap-sentence shape this journal has now recorded four times, with its usual half-life. It is also the one Tier C residue that nothing else would have found, because it is not on any list: it lives inside the promote_when of a practice filed a day earlier.

What the paper does to the practice

Three things, and none of them is a refutation.

The failure is attributable. Integrated Gradients multiplies its path integral by (x − x₀), which does not depend on the model at all. Drop it and the map becomes parameter-sensitive: SSIM for the local variant is about half the global variant’s on Inception. LIT-713 suspected exactly this and wrote that it “do[es] not measure input multiplier’s quantitative impact”. So the new practice step is decompose the failure before you blame the method.

The verdict changes with modality. On BERT/SST-2, global IG — which fails on images — passes, because token scores are summed over embedding dimensions and the multiplier’s structure does not survive the sum. NOTE-365 had asked, in its open questions, “Do the verdicts hold for transformers and for token attributions?”, in the same document that named this paper as unheld. The reading recorded both the question and the answer’s location and did not join them, which is what an open question next to a bare id is.

The metric split is independently reproduced. SOTA-430’s step 3 already told a reader to compare signed rank correlation against perceptual similarity because “a single metric can hand you either verdict” — from LIT-713’s own data. Appendix A here does it again on a different model: SSIM says global IG is insensitive to randomization; Spearman says both variants are sensitive. Same experiment, opposite answers. That is the strongest corroboration any part of the practice has, and it corroborates the caveat rather than the headline — the third time in a week that the load-bearing half of a document turned out to be the hedge.

Consensus moves unassessed → contested, which is what the vocabulary’s own gloss describes: “the fork in a line of work, whose trunk is agreed and whose branches are not”. Both groups run the tests. They differ on what a failure means.

A theory, this time

Three of the last four units declined to file one, so the reason this one is filed is worth stating. The account — the map survives randomization because of a model-independent factor — has two arms that discriminate, and they point opposite ways. Remove the multiplier: the map becomes sensitive. Destroy the multiplier’s structure without removing it, which is what summing over embedding dimensions does: the global variant becomes sensitive too. An explanation that only covered the image result would be indistinguishable from the bare word “multiplier”. This one predicts a sign change across modality and gets it, which is the same bar autoguidance cleared and Swin did not.

The reading’s own caveat

LIT-724 is by captum’s maintainers. captum implements Integrated Gradients; the finding is that IG’s most-cited failure is attributable to a factor captum’s API lets you switch off. The local-versus-global arm is a real control and the measurement stands. But SOTA-430’s old consensus_note treated “captum links this critique” as a fact about the field, and it is one group linking its own paper. Recorded on the note and in the practice.

Residue

#342 is complete on its own terms: Tiers A, B and C are all filed, two of them deliberately. What is not complete is the queue behind Tier C — #290 declined fourteen further captum entries behind these openers, and the openers are now filed, which is the stale-condition failure record/curation.d/2026/09/24/014454.md already named and nothing reports. That is a separate unit and it is not in this one.


Eight of fourteen declines reverse, and the experiment a promote_when wants is one table-join inside a published paper

2026-09-26 04:14:09 · curation · record

#290 declined eighteen papers as D-cluster — “needs a cluster the record has not opened; promote with its opener” — and fourteen of them are captum’s attribution methods, declined explicitly behind 1703.01365 and 1810.03292. The trigger it wrote down was: “file 1703.01365 and 1810.03292 first and revisit the rest only if that opens.”

Both openers were filed on 2026-09-25. Nothing revisited anything, because a decline’s condition is prose in a collapsed <details> block and no report reads it — the failure mode record/curation.d/2026/09/24/014454.md named two days ago and could not fix.

The re-read

The question is #326’s, not #290’s: what does this paper measure about something the record relies on?

idmethodheld documents naming itverdict
1901.09392infidelity / max-sensitivity3filed here
1412.6806Guided Backprop7reverse
1610.02391Grad-CAM6reverse
1704.02685DeepLIFT6reverse
1312.6034plain-gradient saliency5reverse
1605.01713InputXGradient5reverse
1311.2901Zeiler and Fergus3reverse
1706.03825SmoothGrad3reverse
1712.01312L₀ regularization0confirm
1802.03788Internal Influence0confirm
1805.05492Did the Model Understand the Question?0confirm
1805.12233neuron conductance0confirm
1807.09946layer conductance0confirm
1810.04247stochastic gates0confirm

Eight and six, and the split is not close — every reversal is named in at least three held documents and every confirmation in none.

Three of those counts needed correcting for substring noise, which is now the fourth unit in a row where a grep lied. 1311.2901 first returned six, and three were occlusion in the physical sense — a robot arm, a viewpoint, object permanence. 1412.6806 first returned eight, and one was “all convolutional” inside “a small convolutional RNN”. 1312.6034 kept all five, but one is NOTE-356 using gradient saliency to find knot invariants, which is real and outside this cluster entirely. The pattern is stable enough to state: a method name that is also an ordinary English word needs the author’s surname in the pattern.

The six confirmations are worth their own sentence, because #290 declined them for a reason that was procedural and they now decline for a reason that is measured. Four of the six are layer- or neuron-level attribution — conductance, internal influence — which is a cluster the record has not opened and which nothing in it depends on. Two are not attribution at all: L₀ regularization and stochastic gates are sparsity methods captum reuses for feature selection. That is a catalogue-shape artefact: captum’s reference list is one line per public class, so a regularizer repurposed as a gate arrives looking like an interpretability paper.

The one filed, and why it was first

1901.09392 is not another method in the verdict table. It is the instrument two held documents now report numbers in. LIT-724 scores its whole randomization study with infidelity and max-sensitivity, including the 2.84 → 1.27 × 10⁷ climb that SOTA-430 carries as a Condition, and neither document could say what either number was. Exactly the LIT-703 shape from two days ago: a metric carrying a quantitative claim with its defining paper unheld.

Two properties change how the numbers already in the record read:

Max-sensitivity is minimised by a constant explanation. The paper says it outright — the optimum “is simply a constant explanation that just outputs a (potentially nonsensical) constant value for all possible test inputs.” So LIT-724’s “max-sensitivity remains almost unchanged” is a weaker signal than it reads as, and LIT-724 v2 now says so.

Infidelity is relative to a perturbation distribution, and Propositions 2.2–2.5 show several published methods are each its optimum for some choice — confirmed by construction, SHAP winning under SHAP’s own perturbation. LIT-724 happens to have done this right: it names its perturbations. That is the whole of SOTA-435, and it costs a sentence.

The finding worth keeping

SOTA-430’s promote_when asks for the randomization tests run “where the true dependence of the output on the input is KNOWN by construction — a synthetic task or a planted feature”.

This paper builds that setting. Bird-versus-frog images with a caption in one half; at noise p = 0 the model provably uses the image (image-only accuracy 0.9, caption-only 0.5) and at p = 0.6 it provably uses the caption (0.98 against 0.5), both above 0.95 overall. Ground truth by construction, in the sense the promote_when means.

And it runs the randomization test. Table 2, ResNet-50, final layer randomized.

They are different experiments. The planted feature validates infidelity against human judgement; the randomization test runs on ImageNet with no ground truth. Nobody crossed them.

So the bar is not met, and the reason is now specific rather than “nobody has done it”: the experiment a promote_when asks for can already exist, as two tables in one paper that were never joined. A promote_when searches the literature for a paper; sometimes what it should search for is a pair of sections. The v3 amendment says so, so the next reader looks for the join and not for a new paper.

What the re-read also did for the practice

Step 3 of SOTA-430 — compare signed rank correlation against absolute or perceptual similarity, because “a single metric can hand you either verdict” — now has three groups on three model families: Adebayo on Inception and MNIST, Kokhlikyan on Inception and BERT (SSIM against Spearman), and this paper on ResNet-50 (signed 0.10–0.18 against absolute 0.57–0.62, same explanations, same randomization).

That is the third consecutive unit where the load-bearing part of a document turned out to be its caveat rather than its headline. The practice’s recommendation is still Proposed on one group; its warning is corroborated by three. A caveat can outrun the claim it was attached to, and nothing in the schema notices — consensus is a field on the document, not on the sentence.

Deliberately not in this unit

The seven other reversals. They are referent gaps rather than measurement gaps: SOTA-430 states each method’s verdict correctly, quoting LIT-713, so filing Guided Backprop or Grad-CAM adds a document to point at rather than correcting anything. Ranked and posted to #290; the top of that list is 1412.6806, SOTA-430’s headline failure case — and a paper whose title, Striving for Simplicity: The All Convolutional Net, is about an architecture. Guided backprop arrives in its abstract’s last sentence, as “a new variant of the ‘deconvolution approach’ for visualizing features learned by CNNs”, offered to analyse the network the paper is actually proposing. Its own antecedent, Zeiler and Fergus’s deconvolution (1311.2901), is a second reversal on this list, so that pair should be one unit.


A method whose later defect is its original selling point, and the paper that would join the rule to the failure

2026-09-26 04:36:25 · curation · record

Top of the reversal list from the #290 re-read, taken as a pair because guided backpropagation is defined as a variant of the deconvnet and neither reads alone. SOTA-430 has had a headline failure case since it was filed — Guided Backprop’s maps staying “visually and quantitatively similar” after the weights above the lowest layers are destroyed — and until now the record could state that verdict without being able to say what the method was.

The finding

Guided backprop’s masking rule, LIT-727 §4.2, is one sentence. At each ReLU, zero the gradient wherever either the top gradient or the bottom activation is negative — both masks at once, where plain backprop applies the bottom one and the deconvnet applies the top one.

The interesting part is why the method exists. Springenberg et al. were not building an attribution method; they were building an all-convolutional net, and their architecture has no max-pooling. The deconvnet needs max-pooling “switches” recorded in a forward pass, so they needed a version that works without them. They found one, and reported it as the win:

unlike the ‘deconvnet’, guided backpropagation works remarkably well without switches

the ‘deconvnet’ approach fails completely in the absence of switches

In a sense, the bottom-up signal in form of the pattern of bottom ReLU activations substitutes the switches.

The deconvnet’s dependence on a forward pass through the trained model is what made it awkward. Guided backprop removes that dependence and the maps get better. Four years later, LIT-713 measures that those maps survive destroying the weights.

Generalising: a method’s selling point and its later defect can be the same property, described from two directions. “Works without needing the trained model’s forward pass” in 2014 and “insensitive to the trained model’s weights” in 2018 are not obviously the same sentence, and the record now holds both ends of it.

The over-reach I did not take, and why it was tempting

That last quote makes the mechanism look settled: if the bottom ReLU pattern substitutes for the switches, then the map’s structure comes from the input, and of course it survives randomizing the weights.

It does not follow. Bottom ReLU activations are computed by the network — randomize the weights and they change. Springenberg’s sentence says the bottom pattern can do the job the switches did, which is conditioning the reconstruction on the image; it does not say the map is independent of the weights. The actual argument in the literature is about the sign masking composing to a non-negative operator, and it is not in this paper.

So the record now holds three pieces and not the fourth:

piecewhere
the masking ruleLIT-727 §4.2
that the maps survive randomizationLIT-713
that this happens “for different reasons” than the multiplier methodsLIT-725, one sentence
whynowhere

THEORY-113 covers the multiplier side only, and says so. No theory is filed here, and the paper that argues the missing one is named with a verified identifier rather than gestured at: Sixt, Granz and Landgraf (2020), When Explanations Lie: Why Many Modified BP Attributions Fail, 1912.09818. I resolved that id against arXiv rather than recalling it, which is the habit this session has needed twice.

That is the improvement over “a later literature the record does not hold”, which is the phrase SOTA-430 carried for a day before this run and which turned out to mean one specific unread paper. A gap sentence that names its paper is a task; one that does not is a mood.

What the second paper turned out to be for

Zeiler and Fergus went in as “the deconvnet, the thing guided backprop is a variant of”. It is that, and it is also something the dependence count could not see.

Occlusion sensitivity is the origin of the perturbation-based family, and LIT-725 says so in its own words: “perturbation-based attributions measure the prediction difference after perturbing a set of features. Zeiler & Fergus 2014 use such perturbations with grey patch occlusions on CNNs.” LIT-725 is yesterday’s filing; its infidelity measure is a perturbation-based fidelity criterion, and its “Square” perturbation — uniform over square patches — is a grey square with a distribution over it.

So the record acquired a perturbation-based metric on 2026-09-25 and did not hold the perturbation-based method it descends from, which is the same shape as every unit this week and was invisible to the re-read’s grep, because the word occlusion in this record mostly means a robot arm or a viewpoint.

And the 2013 paper makes a move SOTA-430 structurally cannot. SOTA-430 is “a rejection rule, not a certificate” by its own words. Zeiler and Fergus validate their visualizations positively: occlude what the map highlights, and the feature map’s activity drops, “hence validating the other visualizations”. Three examples and a figure, so it is not evidence of much — but it is the direction the record’s attribution cluster has none of except inside LIT-725’s infidelity.

No practice filed for it. The quantitative form is already held under SOTA-435, and filing the qualitative antecedent separately would be filing on antecedence rather than on a defect.

Churn worth admitting

SOTA-430 is at v4 and all four versions are dated today. v2 added the critique’s step and moved consensus to contested; v3 added a third source for the metric split and sharpened the promote_when; v4 names the two referents.

Each was driven by a source arriving rather than by a rereading, which is the distinction that makes it acceptable — the practice was not unstable, the cluster around it went from two documents to seven in one day. The history entry says that, because a reader seeing four versions in one date stamp should be able to tell which kind of churn it was.

Residue

Five reversals left from the #290 re-read: Grad-CAM, DeepLIFT, InputXGradient, plain-gradient saliency, SmoothGrad. All referent gaps — SOTA-430 states each verdict correctly — so they rank below 1912.09818, which is now the cluster’s highest-value unread paper and the only one that would let the record say why half its verdict table fails.


A false sentence an hour old, and three mechanisms where the record had one

2026-09-26 05:08:48 · curation · record

The instruction was to take 1912.09818, which the previous unit had named as the cluster’s highest-value unread paper and as “the paper that argues” why guided backprop survives weight randomization.

The second half of that was wrong, and reading the paper is what found it.

The correction

Sixt, Granz and Landgraf measure guided backprop and then hand its explanation away, in a sentence they did not bury:

As a ReLU operation is applied to the gradient, the backpropagation is no longer a linear function. The ReLU also results in a different failure than before. (Nie et al. 2018) provides a theoretical analysis for GuidedBP. Our results align with them.

Their Theorem 1 is about products of non-negative matrices, which requires the backward pass to be a linear map. Guided backprop’s ReLU on the gradient breaks that, so the theorem does not reach it. The paper that reaches it is Nie, Zhang and Patel (2018), 1805.07039, unheld — and that id was resolved against arXiv rather than recalled, which is the habit the last two units have needed.

How the error was made, exactly. LIT-725 says: “Guided BackProp and Guided GradCAM, which modify the gradients during back-propagation, do not pass randomization tests for different reasons (Sixt et al. 2020).” I read that citation as attributing the argument to Sixt. It attributes the observation.

A citation tells you who reported something, not who explained it. That is the generalisable form, and it is narrower and more useful than “read the paper”. The sentence in LIT-725 is accurate. What it supports is “Sixt et al. observed this”, and I wrote “Sixt et al. argue this” into a Proposed practice and a LIT note within the same hour. Third instance this week of a claim about a paper’s contents written from its citation context: the precision/recall feature space twice, and this.

Both documents are corrected in the same contribution that found the error, which is the only part of this worth being satisfied about.

What the paper does supply, and it is a real theory

Theorem 1, stated plainly: the z⁺-rule backpropagates relevance through a chain of non-negative matrices, C_k = ∏ Z⁺_l, and a product of non-negative matrices converges to a rank-1 matrix. Write the converged chain C = c γᵀ. Then for any relevance vector v,

C v = c γᵀ v = λ c

The direction is c no matter what v is. The output relevance — the thing that says which class — survives only as a scalar, so it can rescale the map and, if negative, invert it, and do nothing else.

That collapses two phenomena the record held separately into one. The same map for “cat” and for “dog”, and the map not changing when the last layers are randomized, are the same fact viewed from two sides. Nothing in the record had said that.

The proof is geometric and worth keeping: the first matrix’s columns lie in the positive quadrant, every further multiplication takes non-negative combinations of columns already in that cone, and the cone shrinks until it is one direction. Their simulations find it exponential.

Why it is filed Active, where three of the last five theories were declined

Because it clears the bar this journal has been applying, and clears it in both directions at once.

  • A published exception the account predicts. DeepLIFT is the one tested modified-BP method that does not converge, and the reason is the one the account requires: its linear-layer rule keeps and intermixes positive and negative contributions, so the chain is not non-negative.
  • An exception built to order. The authors then construct DeepLIFT Ablation, removing the intermixing so W⁺ drives the positive rule and W⁻ the negative. The chains decouple, both become non-negative — a product of two non-positive matrices is non-negative — and “as predicted by the theory, it converges.”

That second arm is the strongest form of the standard: not an arm the mechanism says must fail among things that already existed, but a thing made to fail, and it failed as specified. Autoguidance cleared the weaker form with its mismatched-degradation control; Swin did not clear it at all. This is the first Active theory of the run.

The structural gain

The cluster had one account for a verdict table with three kinds of failure in it. Now:

familymechanismheld
IG, InputXGradient, DeepLIFT, Gradient SHAPthe model-independent input multiplierTHEORY-113
DTD, LRP-α1β0, Excitation BP, PatternAttributionrank-1 convergencenew
Guided Backprop, Deconv, RectGrada third mechanismno — 1805.07039

Two things this made visible that were not:

The new paper supports THEORY-113 from outside its own subject. Methods that “rely on the gradient directly (Smilkov et al. 2017; Sundararajan et al. 2017) … [do] not converge” — so Integrated Gradients’ randomization behaviour is not the rank-1 mechanism, which is what leaves the multiplier as the explanation. A theory can be strengthened by a paper that never mentions it, by excluding the alternative.

DeepLIFT sits in the first row and outside the second, and it is not a contradiction. It carries an input multiplier and it keeps negative contributions, so it has one of the two failure modes and escapes the other. Two properties of one method; the temptation is to read the two accounts as disagreeing about it.

And the intuitive story is refuted, by name

Other than argued in (Gu et al. 2018), the class insensitivity is not caused by missing ReLU masks and Pooling switches.

That is the inference the previous unit declined to draw from Springenberg’s “the bottom-up signal … substitutes the switches”. Declining it was right, and now it is better than right: somebody published that story and this paper refutes it. LIT-727 v2 records that the switches account is refuted rather than merely unasserted.

The general lesson about restraint is not “be cautious”. It is that the tempting inference and the published-and-wrong inference are often the same one, so a note that records why it stopped short leaves a place to attach the refutation when it arrives.

Residue

1805.07039 is now the cluster’s one remaining mechanism gap and the thing that would let SOTA-430’s headline failure be explained rather than only measured.

Four of the fourteen #290 reversals remain — Grad-CAM, InputXGradient, plain-gradient saliency, SmoothGrad — all referent gaps, all ranking below it. 1706.03825 (SmoothGrad) has risen slightly: it is now named by two held theories, as the kernel-smoothing meta-algorithm in LIT-725’s Theorem 4.1 and as a non-converging gradient method here.

And SOTA-430’s headline example rests on a figure that its own authors amended and that this paper reports differently, having confirmed the bug. The verdict survives in both papers. The figure does not, and the practice should probably stop leaning on the visual claim — a v6 that is not in this unit, because the right fix is to state the verdict from the SSIM curves rather than to add a sixth version in one day.


The partition completes, and a table I copied into four documents went stale in one unit

2026-09-26 05:22:10 · curation · record

1805.07039 was the cluster’s one remaining mechanism gap, named by identifier in five held documents and by the previous unit as the only paper that would let the record say why half of SOTA-430’s verdict table fails. It does, and the answer is stronger than the gap sentences implied.

Theorem 1, which is not the shape I expected

In a random three-layer CNN, if the number of filters N is sufficiently large, GBP at the k-th logit can be approximated as s_k^GBP(x) ≈ x

Not “resembles the object”. Not “highlights the object”. Recovers the image, in a network whose weights are i.i.d. Gaussian, for any logit k. Theorem 2 puts the saliency map and DeconvNet in the same network at N(0, I): noise. So neither the plain gradient nor the backward ReLU alone produces a recognisable map, and the combination guided backprop uses does.

And the paper draws the consequence for the rival account in one line: “according to the linear model explanation, backpropagation-based methods are visualizing learned weights, which should be random noise as they are all sampled from i.i.d Gaussians. Obviously, it is inconsistent with the actual behavior of GBP.”

The second cause is architectural and quantified: filters needed scale as Õ(p/ε²) in filter size, so a 3×3×3 filter needs at most O(10³) for error under 0.1. Local connectivity is not a vague contributor; it is a small p.

The arm that runs the other way

Every test in this cluster so far holds the input and destroys the weights. This paper adds the mirror: FGSM turns “panda” into “busby” on VGG-16, so the input barely moves and the predicted class flips. A class-sensitive map must change; a recovery map must not. The saliency map “changes significantly”; GBP and DeconvNet “remain almost unchanged”.

Two more arms are architectural surgery. Delete local connections and GBP fails too — at N_h = 70000 hidden units, which the paper itself calls “definitely unrealistic”, an FCN still does not match a CNN with N = 64. Add max-pooling to the random CNN and only DeconvNet moves, noise to interpretable, while GBP and saliency are untouched. Four arms, and the account is filed Active.

What it does to a sentence I wrote yesterday

LIT-727 quotes Springenberg’s explanation that “the bottom-up signal in form of the pattern of bottom ReLU activations substitutes the switches”, and declined to conclude that the map’s structure therefore comes from the input rather than the weights. The stated reason: bottom ReLU activations are themselves computed by the network, so randomizing the weights changes them.

Theorem 1 removes that objection by making the network random. GBP recovers the image with Gaussian weights.

So the conclusion I declined to draw is true. And the restraint was still right, which is the part worth separating: Springenberg’s sentence does not prove it, and the proof took a different route — a theorem about what a backward ReLU does to a random convolutional map, not an argument about what the switches were doing. v3 says both halves, because a note that records “I stopped short” and is later vindicated reads as timid unless it also records why stopping short was correct.

Three units in a row have now turned on this distinction. #384 declined an inference and Sixt refuted the published version of it. #386 corrected a claim I had asserted from a citation. This one confirms a claim I declined to assert. The difference between the three is not caution, it is whether the argument in front of me supported the sentence I wanted to write.

The mechanism was already in the record as a rhetorical comparison

LIT-713’s negative half is that “an untrained edge detector produces maps ‘strikingly similar’ to several methods’”, and SOTA-430 carries it as the argument for not validating a map by eye. Nie et al.’s trained-network passage: the weights “control which image patch could form an active path to the class logit. More importantly, this filtering process is not class sensitive (e.g. the edge detector).”

Partial image recovery is what an edge detector approximates. A comparison used in 2018 to embarrass the methods turns out to be the mechanism, and the record held the comparison for a day without the account.

The defect in how I wrote yesterday’s unit

Yesterday’s unit put a three-row partition table into SOTA-430, LIT-729, THEORY-113 and THEORY-114, so the boundary between accounts would be legible from every document in the cluster. It was legible. It was also four copies of a gap sentence, each reading “not held — 1805.07039”, and all four went stale one unit later.

This journal has recorded that gap sentences have roughly a one-unit half-life — three times, on single sentences. This is the same defect at scale, and the thing that makes it worse is that it looked like good practice: repeating the boundary is how you stop a reader inferring the wrong scope from whichever document they landed on.

The narrow lesson. A cross-reference that names a held document is maintained by the toolchain: rename it and luria concretize rewrites every copy; retire it and the lint flags every citation. A cell reading “not held” is maintained by nobody, because it is a claim about the absence of a relation and luria lint checks relations that exist. So duplicating a positive cross-reference costs nothing and duplicating a negative one costs one edit per copy per unit.

Whether that argues for one canonical table with the others pointing at it, or for a lint rule that reads bare arXiv ids near words like “unheld”, is a decision this entry does not make. It is at least the fourth instance of the same underlying shape and probably wants an ADR rather than another journal paragraph.

Where the cluster stands

Every row held, which it has not been since the openers were filed yesterday:

familymechanismaccount
IG, InputXGradient, DeepLIFT, Gradient SHAPthe model-independent input multiplierTHEORY-113
DTD, LRP-α1β0, Excitation BP, PatternAttributionrank-1 convergence of a non-negative chainTHEORY-114
Guided Backprop, DeconvNetpartial image recoverynew

Nine papers, one practice at v6, three accounts, and a #290 decline class that was closed behind two openers until they were filed.

Residue

Four #290 reversals remain — Grad-CAM, InputXGradient, plain-gradient saliency, SmoothGrad — and they are still referent gaps rather than measurement gaps, since every verdict about them is stated correctly from LIT-713. 1706.03825 (SmoothGrad) is the strongest of the four and has risen again: it is now named by LIT-725’s Theorem 4.1 as the kernel-smoothing meta-algorithm, by LIT-729 as a non-converging gradient method, and here as one of the two methods unaffected by adding max-pooling.

SOTA-430 is at v6 and the one thing it still leans on that it should not is the visual claim in its headline example, whose figure both Adebayo and Sixt amended. The fix is to state the verdict from the SSIM curves. It is deliberately not in this unit either, and it is now the practice’s own oldest outstanding defect rather than a consequence of anything arriving.


The one method nothing faults has the least evidence, and its colour-scale section held two accounts the record rebuilt

2026-09-26 05:55:07 · curation · record

SmoothGrad was the strongest of the four #290 reversals left, and the previous two units kept promoting it: named by LIT-725’s Theorem 4.1 as the kernel-smoothing meta-algorithm, by LIT-729 as a gradient method that does not converge, by LIT-730 as one of two methods max-pooling does not move. Eight held documents in total, and it is the one method in this cluster with a live recommendation behind it — SOTA-435 step 3.

The finding, stated the way that survives

The one method nothing faults is the one with the least evidence.

accountwhat it says about SmoothGrad
LIT-713 randomization testspasses both
THEORY-113 input multipliercarries none
THEORY-114 rank-1 convergencegradient methods do not converge
LIT-730 image recoveryleaves the saliency family alone

And the paper itself reports no quantitative result at all, by its own statement: “since quantitative evaluation of a map remains an unsolved problem, we again focus on qualitative evaluation.” Its two assessments — visual coherence and discriminativity — are judged by eye. Its parameters, 10–20% noise and n ≈ 50, were chosen by looking at pictures.

That reads at first like a contradiction with SOTA-430, which exists to say do not validate an attribution map by how it looks. It is not, and the reason is the interesting part: SOTA-435 recommends smoothing on LIT-725’s evidence — Theorem 4.1, which is proved, plus a measured improvement in infidelity and max-sensitivity across three datasets — not on this paper’s figures. The practice is sourced to the paper that supplied numbers two years later rather than to the paper that supplied the method.

That was not deliberate, and it is the second time this week that the record turned out to be sourced correctly by accident. A practice sourced to the measurement rather than the invention is the arrangement ADR-017 wants; getting there by filing the measurement first and the invention last is luck. What v2 adds is the parameters with their provenance attached, so the weakest part of the step says it is the weakest part.

§3.1, which is a section about colour scales

The reason to file this paper turned out not to be the method. It is a visualization-practices section that contains informal statements of two things the record spent the last two days building accounts for.

On signed versus absolute: “There is considerable ambiguity in how to convert signed values to colors.” And the dataset dependence, spelled out — MNIST digits are always white so positive gradients mean something; on ImageNet “taking the absolute value of the gradient produced clearer pictures”.

SOTA-430 step 3 is that same ambiguity treated as a measurement hazard, and it is now the best-supported thing in that practice: three groups, three model families, opposite verdicts from signed and absolute similarity. In 2017 it was a rendering decision.

On the input multiplier: multiplying a gradient map by the input “does tend to produce visually simpler and sharper images, although it can be unclear how much of this can be attributed to sharpness in the original image itself. For example, a black/white edge in the input can lead to an edge-like structure on the final visualization even if the underlying sensitivity map has no edges.”

That is THEORY-113. Adebayo suspected the multiplier in 2018 and wrote that he did not measure it; Kokhlikyan measured it in 2021. It is stated here in 2017, as a caution about heatmap rendering.

Generalising, and this is the part worth keeping. The record’s habit is to look for a mechanism claim in the section of a paper that argues, and to read a “lessons learned” or “visualization notes” section as craft. Both of the accounts above were sitting in craft sections. A mechanism stated as a rendering tip is invisible to a search for mechanisms, and this is now the third distinct way this cluster hid its own content: behind a collapsed <details> decline, inside a promote_when, and in a section about choosing colours.

THEORY-113 v4 records the antecedent. The account does not change; who first wrote it down does, and this record treats that as a real defect class — three introduced_by defects in four days, by #342’s own count.

A question and its answer, filed in reverse order

SmoothGrad’s future work: “It remains an open question to understand which properties affect the discriminativity of a given method — e.g. understanding why Guided BackProp seems to show the weakest discriminativity.”

LIT-730, filed in the previous unit, answers exactly that: guided backprop is doing partial image recovery, which is class-insensitive by construction. The record acquired the answer yesterday and the question today, which is the fourth time this week that the order of filing has been the reverse of the order of publication.

What is not filed

No practice. The parameters go on SOTA-435, which already recommends the smoothing; a second practice about one technique is the fragmentation LIT-728 avoided for occlusion sensitivity.

No theory. The paper offers no account of why averaging over input noise sharpens a map beyond observing that the gradient fluctuates at small scales.

The 99th-percentile capping is unheld and should probably stay that way for now. “Without this post-processing step, maps may end up almost entirely black” is a display artefact that can be mistaken for a finding, which makes it exactly the kind of thing SOTA-430 would want said — but it is one sentence of craft advice from one group, and the record has no practice about rendering a heatmap to attach it to.

Where this leaves the cluster

Ten papers, three accounts, two practices, and a decline class that was closed behind two unfiled openers until three days ago.

Three #290 reversals remain — Grad-CAM, InputXGradient, plain-gradient saliency — and they are now plainly referent gaps rather than measurement gaps. Every verdict about them is stated correctly from LIT-713, and each sits inside an account the record holds: InputXGradient under THEORY-113, the plain gradient and Grad-CAM outside all three mechanisms. Filing them would add documents to point at.

SOTA-430 is at v6 and its oldest outstanding defect is still its own: the headline example leans on a figure that both Adebayo and Sixt amended, and the fix is to state that verdict from the SSIM curves. Nothing arriving will fix it, which is why it has survived six versions in one day.


A summary that went stale five amendments ago, and a defect I over-billed three times

2026-09-26 06:46:08 · curation · record

Three consecutive units ended by naming SOTA-430’s own oldest outstanding defect: its headline example “leans on a figure both Adebayo and Sixt amended”, and the fix is “to state that verdict from the SSIM curves”. Nothing arriving would fix it, so this unit went to fix it.

The defect was smaller than three reports of it

Re-reading the practice: it was already correctly scoped, in all three places it states the claim.

wherewhat it says
summary:”survive the first above the lowest layers”
verdict table”invariant to higher layers; changes only with the lowest”
negative half”on a network randomized above its lowest layers”

LIT-713’s footnote 5 withdrew “entirely invariant”. The practice never said that. The narrowed claim is the one three groups now measure, and the practice has stated the narrowed claim since it was filed.

So there was an improvement available — say it with three sources instead of one phrase, put the bug caveat where a reader of the practice will see it rather than only in LIT-713, and point at the mechanism now that THEORY-115 supplies one — but not the correction I had billed. Each of those three reports was written from memory of the document rather than from it.

Same shape as the three paper-content errors this week, sign reversed. I have now asserted things papers did not say (the precision/recall feature space, twice; who argued guided backprop’s failure) and asserted a flaw a document did not have. The failure mode is not optimism or pessimism about the source. It is writing about a text without the text open, and it produces errors in whichever direction the story wants.

The real defect, which the re-read found by accident

SOTA-430’s summary ended: “The evidence is image classifiers only, and pass or fail is read from curves.”

True at v1. False from v2, filed this morning, which added LIT-724 to source: and a Condition reading “the verdict does not transfer across modality, which is now measured rather than suspected” — on a BERT classifier fine-tuned on SST-2. The summary also still credited one source where the field had named two since that amendment.

Five further versions followed today. None of them read the summary.

And summary: is the field the index renders. It is the line a reader meets in docs/ before they ever open the document, which makes it simultaneously the most-read line and the one an amendment never touches — because amending a practice means arguing with its body, and the summary sits above the ---, in the part that feels like metadata.

The sweep, and its rate

Rather than fix one line, I read all twelve documents amended today against their summaries.

One stale out of twelve. The other eleven summaries are recaps of what a source did, and amendments to those documents narrowed scope or added provenance in the body without contradicting the recap. THEORY-113’s is the closest call — it names LIT-713 as the suspicion and LIT-724 as the measurement, and v4 added a 2017 antecedent that precedes both — but it claims no priority, so it is incomplete rather than wrong, and lengthening a summary to fix incompleteness makes the index worse.

The rate is the finding, not the single fix: an amendment leaves the summary alone about one time in twelve, and when it does the consequence lands in the most visible place. That is frequent enough to be worth a check and rare enough that nobody would notice the pattern from one instance.

What the tool could do, and the issue filed

luria lint already has check_form_text, which catches a summary: that still says what the _template.md says. The gap next to it is cheap: warn when a history: entry is added and summary: is byte-identical. The document changed enough to earn a version and its most-read line was not looked at.

That is not a correctness check — a summary can legitimately survive an amendment, which is what eleven of twelve did — so it is a warning to be acknowledged, in the same register as inactive-ok:. Filed as LU-#326, and it is the same shape as LU-#325: take a check the prose asks a human to remember and give it to the tool. Note the collision — this record’s own #326 is the D-variant re-read cited three times above, and luria’s #326 is this. The LU- prefix is the only thing distinguishing them, which is a reason to keep writing it.

Generalising past this record. The fields most likely to go stale are the ones that are derived from the body by a human rather than by the toolchain. luria derives published: from a source and primary_topic: from tags[0], and those cannot drift. summary:, consensus_note: and promote_when: are hand-written restatements of what the body argues, and every one of them has gone stale in this record this week — the promote_when naming an unread paper, the consensus_note saying “has not read it”, and now this. A hand-maintained derived field is a cache with no invalidation.

Where this leaves the cluster

SOTA-430 is at v7 and has no outstanding defect I can name, which is a different claim from having none — the last three times I named one it was a version behind or overstated. Its verdict table, its scope, its consensus and its sourcing are all now stated from documents the record holds, and every mechanism in it has an account.

Eleven papers, three accounts, two practices. Three #290 reversals remain and are referent gaps.


The paper eight documents cited, and a number that waited three years for its sentence

2026-09-27 01:00:13 · curation · record

SOTA-430’s verdict table has four rows. Two of them name methods that, until today, the record had no document for: GradCAM, which the practice reports as passing the parameter-randomization test, and Guided GradCAM, which it reports as failing. Eight live documents carried verdicts about one or the other.

They are the same paper. And the second method is defined as the first multiplied by the third.

Two rows, one construction

Grad-CAM §3.2 exists because Grad-CAM’s map is 14×14 at VGG-16’s last convolutional layer and “lacks the ability to highlight fine-grained details like pixel-space gradient visualization methods”. The fix is to upsample it bilinearly and multiply it element-wise by a guided backpropagation map. Replacing guided backprop with the deconvnet “gives similar results”.

So the record had been reporting, as two findings from one sweep of curves, a method that passes and the same method with a factor bolted on that fails. Every pixel of fine structure in a Guided GradCAM image — the part a human reads — is contributed by the factor that fails.

LIT-713 states the construction. In a subordinate clause, in its method preamble: “For pixel level granularity GradCAM, can be combined with Guided Backpropagation through an element-wise product.” It draws nothing from it, and neither does Grad-CAM, where the same fact is a rendering improvement.

No theory is filed. A THEORY needs a source:, and the source would have to be a paper that makes the argument. Neither does. This is the same call as LIT-722’s conditional-score decomposition two weeks of units ago: a derivation from a definition is not a contested explanation, and filing one on novelty is filing the record’s own reading under somebody’s name. It is stated in SOTA-430’s prose, where it is short and where it is clearly the record talking.

What is worth naming is how the record came to hold a composite’s verdict without its components’. The three failure mechanisms this cluster now holds (THEORY-113, THEORY-114, THEORY-115) each partition methods. Nothing in the scheme asks whether a method in one partition is built out of a method in another. A verdict table organized by method treats “Guided GradCAM” and “Guided Backprop” as two entries; the construction makes them one entry and a multiplier. That is not a defect in the table — the empirical verdicts are independent measurements and worth having as such — but it is a shape the table cannot show.

A number that waited three years for its sentence

SOTA-430’s negative half says: do not accept a method because its maps look like the object. It has stood on an untrained edge detector producing “strikingly similar” maps, and since yesterday on THEORY-115 for why.

Grad-CAM §5.1 measured it, differently, in 2016. Four visualizations of the same image, 90 PASCAL VOC 2007 pairs with exactly two annotated categories, 9 Mechanical Turk ratings each, one question — which of these two classes is this a picture of?

visualizationhumans got the class right
Guided Backpropagation44.44%
Deconvolution53.33%
Deconvolution Grad-CAM60.37%
Guided Grad-CAM61.23%

Guided backprop is last. The method whose maps the field found most convincing — the one LIT-713 chose as its headline failure because its maps “look as convincing as ever” — is the one humans read a class off least often.

Then the version history. Those four numbers are in arXiv v1, 7 October 2016. The sentence that says what they mean —

Interestingly, our results indicate that Deconvolution is more class-discriminative than Guided Backpropagation (53.33% vs. 44.44%), although Guided Backpropagation is more aesthetically pleasing. To the best of our knowledge, our evaluations are the first to quantify this subtle difference.

— is in v4, 3 December 2019. Not in v1, not in v2 (30 December 2016), not in v3 (21 March 2017); each PDF was pulled and checked rather than inferred from the dates. Adebayo et al. is October 2018.

So: the measurement is three years and two months older than its own gloss, and the gloss — which claims priority for quantifying the effect — arrives fourteen months after the paper that made the point famous made it by a different route entirely.

Generalising. Yesterday’s unit found SmoothGrad stating THEORY-113’s mechanism in 2017 as advice about colour scales, and called the finding a mechanism stated in the wrong register is invisible to a search for mechanisms. This is the sharper version, because it is not a register mismatch and not two groups talking past each other. It is one table, one group, and a three-year gap between taking a number and writing down what it showed. The numbers were in the abstract’s supporting evidence the whole time; what was missing was the sentence that makes them a finding rather than a ranking.

A record that files claims can hold the sentence. A record that files papers would have held the table. This one now holds both, which is the argument for LIT notes being readings rather than summaries: the four numbers have been publicly available for a decade and are only evidence for SOTA-430 once somebody writes down that the last row is the prettiest one.

The citation that lands on the wrong paper

LIT-713’s bibliography cites GradCAM as Selvaraju et al., “Grad-cam: Why did you say that?”, 1611.07450. That is a different arXiv entry: the November 2016 workshop note, about 3,000 words, with a different author order. Same method, same group.

It matters slightly and it matters exactly: the workshop note has Guided Grad-CAM at 61.23% and Guided Backprop at 44.44%, but not Deconvolution’s 53.33% — so not the row that turns the table into a finding — and none of the ablations. A reader following LIT-713’s citation to check the verdict lands on the thinner document. The note is filed for 1610.02391 and says so.

This is the third citation-resolution defect this cluster has produced, after LIT-725’s “for different reasons (Sixt et al. 2020)” and the record’s own NOTE-067 distinction drawn against an unheld paper. The pattern is that a citation is a claim about which document supports something, and nothing checks it — luria lint verifies that a code resolves, not that a surname and year in prose resolve to the code a reader would need.

What was checked rather than assumed

Two habits from the last four units earned their keep:

  • Four PDFs, not one HTML render. ar5iv serves the latest version regardless of the v1 suffix in the URL — verified by finding 2018 references in what was requested as a 2016 document. Had that gone unnoticed, this entry would have dated the “aesthetically pleasing” sentence to October 2016 and claimed a two-year priority over LIT-713 that does not exist. A version-pinned URL that silently serves something else is worse than no version pinning, because it looks like diligence.
  • Every number in the new note is marked with the version it comes from where v1 and v4 differ. Table 2’s four accuracies and all of Table 3 are in v1; the localization table, the segmentation IoUs, the pointing game, the doctor/nurse section and the five-way occlusion comparison are not. That is not padding: the whole finding above is a claim about which version said what.

What is left in this cluster

SOTA-430 is at v8, eleven papers, three accounts, two practices. One referent remains: the plain gradient, Simonyan, Vedaldi and Zisserman 1312.6034, which is SOTA-430’s other passing method and the antecedent of everything in the table. It is a referent gap of exactly the kind this unit closed, and it is the last one.

Also still unfiled, and recorded rather than filed twice now: SmoothGrad’s 99th-percentile capping advice, which no second group has measured.