ADR-0113 The reference was scaffolding, not the destination
#Context
ADR-0112 set the brief as bringing the components to the caliber of a named external system and copying the design and style of the components there. That was the right instruction at the time, and it worked: 65 components were built against measured values rather than remembered ones, every colour and size was read off a rendered component, and three values that had been carried over on assumption were caught and corrected because something existed to check them against.
The instruction has now done its job, and holding to it has become the problem. A system whose stated goal is to copy another one cannot also be the argument that attention is a budgeted resource, because the system being copied does not make that claim and has no mechanism for it. Worse, the copy framing was appearing in the product: the landing page described this as a component library and the tokens behind it, which ADR-0001 opens by calling the one indefensible position, and the thesis page told readers the components were a faithful copy carrying no budget. The maintainer's objection was simply that the two systems already look different, and will differ more.
Naming the reference in shipped code also had a cost nobody had priced. The token prefix and the class prefix were both that system's initials, across 14774 occurrences, which meant every stylesheet in the product carried its name.
#Decision
The reference is retired as a goal. Its measured values stay, because they were measured and are good, and the record of where each one came from stays in the decision log. Nothing in the shipped package, the site, or the token and class namespaces refers to it: the prefix is wr, the token surface is wolf-rayet.css, and the product describes itself by its own argument. Where fidelity to the reference and this system's own standards disagree, this system's standards win, and the disagreement is recorded rather than accommodated.
#Rejected options
Keep copying, and add the budget on top. The honest reading of ADR-0112, and it stays coherent for a while: adopt the vocabulary, then govern it. Rejected because the copy claim was doing active damage in the product's own words, and because a system introduced as a copy of another gets read as a worse version of it. The governing layer is still the plan; being a copy is not.
Scrub the reference from the decision records as well. Superficially what "remove every mention" asks for. Rejected because ADR-0112 is why the radius is 6px and why nine components gained pointer states, and a record that has been edited to remove its own cause is no longer a record. The proper noun was replaced with the term the record already used for it, "the reference", which changes a name and no decision.
Leave ADR-0112 standing and diverge quietly. Cheapest. Rejected because an accepted decision that the product contradicts is the exact drift the log exists to catch, and the log is now published, so the contradiction would be public.
#Consequences
Divergence is now permitted and expected, which removes the only argument for keeping a known defect. One was fixed immediately: a selected label on its hovered ground measured 3.92:1 and had been kept because the reference paired those two colours itself. The selected text is darker, that pair now clears 5.02:1, the resting state rose from 4.60 to 5.90, and the acknowledged exceptions list in check:contrast is empty.
It makes the measured values harder to defend from first principles, since the thing they were measured against is no longer cited as an authority in the product. The decision log carries that provenance instead, which is where it belongs.
check:contrast and check:tokens both read wolf-rayet.css rather than ads.css. No check gained or lost a rule.