Skip to contentWolf-Rayet

Decision records

ADR-0070 The oldest decision gets its first component

Accepted2026-09-05Phase 4, reopened

#Context

ADR-0009 is the oldest decision in this repository: the budget governs chrome, and content regions are masked via the slot contracts. The machinery has been in place since Phase 0 — SLOT_CONTRACTS marks one slot exempt, measure.js computes inExemptSlot from el.closest(EXEMPT_SEL), the mask probe exists, and every receipt reports how many content regions its scene declared.

In thirty-three components, not one had ever used it. Every contract before this one picks the governed slot with SLOTS.filter((s) => !SLOT_CONTRACTS[s].exempt)[0], and EXEMPT_SLOTS is exported by core and named by no component at all. Three hand-written Phase 0 fixtures declare a content region; every receipt written by a component generator reports 0.

The roster's own row for code-snippet says why this is the component that would: *"the body is payload the budget does not govern, and the frame and its copy control are chrome that it does."*

#Decision

code-snippet declares two slots, and the split is ADR-0009's.

The label is chrome. The system authors it, the content linter reads it, and the budget governs every pixel of it — exactly as it governs every other string in the set.

The body is content. The product supplies it, the system did not write it, and the budget does not count its pixels. A snippet of somebody's YAML is not a design decision and cannot be held to one.

Both slots are derived from SLOT_CONTRACTS and EXEMPT_SLOTS rather than named, so a repository that renamed its slots moves this component with it.

#What the component tier may not do to a region it has exempted

The exemption is only true if the component keeps its hands off. code-snippet.css gives the body no text colour, no ground, no size and no font family — and that absence is now checked rather than trusted: react:test gains an assertion that a component declaring a content region does not style it, observed red on a color added to the payload's rule before being trusted green.

The family was in the first draft and this pass's own new check did not catch it. tokens:verify did, refusing a raw family in a component stylesheet as a value from outside the tier (ADR-0022) — and the refusal was right for a better reason than the one it gives: a monospace stack is typography, and typography is how the payload *looks*, which is the product's business. The new assertion has been widened to include font-family, so a tokenised family would be caught too, which the older check would not have seen. A check written in the same pass as the mistake it failed to catch is worth recording rather than quietly fixing.

What the tier *does* govern is everything around it: the frame's ground, its edge, the caption, and the inset between the edge and the payload. That inset is the boundary ADR-0009 draws — chrome up to the edge of the hosted region and nothing inside it — and it is the reason the exemption is for a region rather than for an attribute.

#Standing item 3, answered for one component

Item 3 names three residuals, the first being *"content laundering at the margin (no probe exists)"*: a product could wrap bright chrome in a content slot and have the mask delete the count.

Nothing can be wrapped here. body is a string. Not ReactNode, not children — a string, so the exempt region cannot contain an element, let alone one carrying a level, a variant or a mark. The vector this component might have opened is closed by the shape of its props rather than by a rule somebody has to remember, and the violation fixture asserts both halves: a body that is an element does not compile, and neither does a child.

That is one component's answer and not the general one. A future component whose content region takes elements reopens the whole question, and the item stays open with that sentence attached to it.

#Rejected options

Type the body as ReactNode, like every other component's children. What a snippet with syntax highlighting would need, and what Carbon's own component accepts. Rejected because it hands the laundering vector straight back: a ReactNode inside an exempt region can carry any declaration at all, and the mask would delete it from the count. Highlighting is a real need and the honest place for it is a future record that says how an exempt region may hold elements safely — which is standing item 3's general answer, and this pass does not have it.

Give the payload a text colour from the component tier. It would look better and it is what every other component does for its own strings. Rejected because it is the exemption contradicting itself: a tier that colours the pixels it told the engine not to count is governing them anyway, and the check added this pass exists because that mistake is invisible in a receipt — the numbers do not move, so nothing would have caught it.

Put the copy control inside the frame, as Carbon does. Refused by core rather than by taste: emitter: never, so this component accepts nothing. pagination recorded the same finding one pass earlier, and this is its second instance in two components — which is what makes it a property of the layer model rather than a coincidence.

#Consequences

Roster 50, built 33 → 34. Section E has two rows left, both Scopes.

Scene 60's receipt reports contentRegions: 1 and exemptPixels: 14640 — the first time a component's own declaration has taken pixels out of a Scope's load. Every prior scene reporting a content region hand-wrote the attribute in a fixture.

react:test gains a section and one assertion, and it is the kind that only exists once something uses a mechanism: the exemption had no component to check for thirty-three of them.

A residual is narrowed rather than closed. Standing item 3's first clause now has one component that cannot exhibit it, and a stated reason why the next one might.

linux-x64 is short by one unthemed scene and three themed ones, twelve Scope values.

#Measured

  • Components using the exempt slot before this pass: 0 of 33. Contracts picking the governed slot: 33 of 33 — *disk, this pass*.
  • code-snippet: 15 component tier tokens, 16 APCA floor checks all met, worst |Lc| 16.23 against an interior-light Ambient floor of 15.
  • Scene 60: contentRegions 1, exemptPixels 14,640, three Scopes, worst emission 0.058908 against a field-night ceiling of 0.128641.
  • The new assertion observed red on a color added to the payload's rule, and green with it removed; widened to font-family after tokens:verify caught one this check had missed.
  • Themed set 176 → 179 fixtures, 58 scenes, joined both ways by themed:check.
  • Roster 50, built 33 → 34. pnpm battery — the verdict this pass is measured by.