ADR-READ README
Every decision that changes the playbook lives here, numbered, with rejected options left visible. The rejected options are the evidence of judgment. A decision without a recorded alternative was not a decision.
Statuses: Drafted → Accepted → (Superseded by ADR-NNN if revisited). Closed decisions are never edited; they are superseded.
| ADR | Subject | Status |
|---|---|---|
| 0001 | Attention as a budget in three channels | Accepted |
| 0002 | Layer names | Accepted |
| 0003 | Four named themes on one axis | Accepted |
| 0004 | Emission load formula | Accepted |
| 0005 | Salience share threshold at level 3 | Accepted |
| 0006 | field-night palette strategy | Accepted |
| 0007 | Density: independent collection, not a theme axis | Accepted |
| 0008 | Docs site stack: Next.js | Accepted |
| 0009 | The content-pixels rule | Accepted |
| 0010 | View demand cap and cross-scope arbitration | Accepted |
| 0011 | Emission ceiling: value and shape | Superseded by ADR-0030 |
| 0012 | Spatial primitives live in the Primitives collection | Accepted |
| 0013 | Stacking contexts replace elevation | Accepted |
| 0014 | The scrim occludes by alpha | Accepted |
| 0015 | Scope ground derives from stacking context | Superseded by ADR-0016 |
| 0016 | Floor ground and emission origin are two different grounds | Accepted |
| 0017 | One flat custom-property namespace, one owner per name | Accepted |
| 0018 | Length ceilings bootstrapped from real shipped copy, not chosen freehand | Superseded by ADR-0123 |
| 0019 | Length ceilings refreshed with real level-1 through level-3 copy | Superseded by ADR-0123 |
| 0020 | The live demo reaches the real engine server-side only | Accepted |
| 0021 | The component set reopens to Carbon's published roster | Accepted |
| 0022 | Three type families, self-hosted, legibility governs the hostile themes | Superseded by ADR-0023 |
| 0023 | Type families, three families resolved on the theme axis | Superseded by ADR-0035 |
| 0024 | A pending state carries no motion; the block form is a Pending message | Accepted |
| 0025 | A tag's encoding is its label; there is no category ramp | Accepted |
| 0026 | A tooltip is an Emitter; transience is a presence property, not a layer | Accepted |
| 0027 | Emphasis is the level; a button has no emphasis variant | Accepted |
| 0028 | Shape carries the rule of a set, and the shape vocabulary splits in two | Accepted |
| 0029 | Themed coverage is the roster, and a scene with no baseline entry fails | Accepted |
| 0030 | The ceiling derives from the theme, not from the scenes it judges | Superseded by ADR-0031 |
| 0031 | The ceiling’s independence is of its inputs, not of its selection | Accepted |
| 0032 | A baseline is recorded per platform and gated exactly; the cross-platform bound is retired, not widened | Accepted |
| 0033 | The unthemed path comes under ADR-0032 before it comes due; PLATFORM_TOLERANCE survives as a noise floor that gates nothing | Accepted |
| 0034 | A step reports only what its own job measured; committed evidence must say so | Accepted |
| 0035 | The shipped subset is a decision, and the fall-through is its boundary | Accepted |
| 0036 | The dominance margin comes from the ladder, and PLATFORM_TOLERANCE keeps only the use that is about rasterisers | Accepted |
| 0037 | Occlusion reorders the demand queue, and the scrim suspends a demand rather than hiding one | Accepted |
| 0038 | An overlay is charged for what it covers, and its sheet fills the view | Accepted |
| 0039 | Two roles on one lightness is the ladder; a state told apart by hue alone is the defect | Accepted |
| 0040 | A collapsed panel is absent rather than exempt, and a demand may not be the thing that is hidden | Accepted |
| 0041 | A declaration must reach the frame, and the check that says so may not be an absence | Accepted |
| 0042 | A toast reports an event; a demand is a live condition, and arrival is not escalation | Accepted |
| 0043 | The ladder's first rung, and the check that could not see it missing | Accepted |
| 0044 | Quiet is what "fine" looks like, and a condition may not be whispered | Accepted |
| 0045 | A turned corner says you may act, and costs the budget nothing | Accepted |
| 0046 | Chrome that outlives a route may not demand | Accepted |
| 0047 | A file must name the component it is for | Accepted |
| 0048 | A claim has an age, and a screen that cannot vouch may not look calm | Accepted |
| 0049 | A narrative may not be checked wholesale, and one section of it must be | Accepted |
| 0050 | Acknowledgement descends a demand, and is a rule rather than a component | Accepted |
| 0051 | Acknowledgement is serialized, and the tick joins the vocabulary | Accepted |
| 0052 | The Lightning reconciliation, and three counted claims the roster got wrong about itself | Accepted |
| 0053 | A route's header may hold what the shell's may not | Accepted |
| 0054 | An Arbiter grants, and this is the first one that does | Accepted |
| 0055 | Good news may not be distinguished, and a blank is three sentences | Accepted |
| 0056 | The battery is a list, or it is a habit | Accepted |
| 0057 | Carbon separates these on quantity, and this system has no quantity | Accepted |
| 0058 | tile is a Scope, and it is the one every scene has been typing by hand | Accepted |
| 0059 | Disclosure is a property, not a component, and for one of them it is the resting state | Accepted |
| 0060 | A lower hierarchy is a lower rung, and content-switcher is tabs at one | Accepted |
| 0061 | breadcrumb is the pattern navigation-item was built for, and this is where the collapses stop | Accepted |
| 0062 | An obstruction is not an alarm, and the states are the fields | Accepted |
| 0063 | The themed set catches up, and a list that stopped is worse than one that never started | Accepted |
| 0064 | One derivation per list, and the check that joins two of them | Accepted |
| 0065 | The two expectations meet, and the last list leaves the CLI | Accepted |
| 0066 | A bar that counts what is not there, and the second layer the roster got wrong | Accepted |
| 0067 | A failed upload ranks nothing, and section B's own example was wrong twice | Accepted |
| 0068 | A tree is a machine for hiding demands, and §5 is right for a different reason than it gives | Accepted |
| 0069 | A countdown reports a prediction, and its level is the only one this system computes | Accepted |
| 0070 | The oldest decision gets its first component | Accepted |
| 0071 | The test was one axis short, and presence is the row it would have cost | Accepted |
| 0072 | The retraction is the component, and both defects were found by the machinery rather than by the argument | Accepted |
| 0073 | A Scope is a place, timeline is not one, and the test has a layer it was never run against | Accepted |
| 0074 | Three checks were owed, one of them was already done, and the claim had been carried forward twice | Accepted |
| 0075 | A container retracts its own claim, and a Scope's retraction has one half | Accepted |
| 0076 | A toggletip is a popover and a button, and the hosting question answers them the same way | Accepted |
| 0077 | The roster's last Scope comes due on §5's second depth, and the engine has no word for it | Accepted |
| 0078 | The same rule for containing, and the second thing nesting breaks | Accepted |
| 0079 | A frame carries properties, never identities, and two of the three symptoms were not a gap | Accepted |
| 0080 | The roster's last Scope, and the two things its depth changed that nothing predicted | Accepted |
| 0081 | Section C is where the tier axes decide nothing, six rows refused, and the collapse is already inside the built half | Accepted, with one finding retracted by 0083 |
| 0082 | Sections D and G audited: four refused, one kept, and the roster is one row from complete | Accepted |
| 0083 | A closed select's options were never in the frame, and ADR-0081 was wrong about it | Accepted |
| 0084 | The affordance is the perimeter, and a corner is what a perimeter has when there is a box | Accepted |
| 0085 | The roster's last row, and a ladder the scene took away | Accepted |
| 0086 | The only check that looks at the page, and what it found when it was finally read | Accepted |
| 0087 | Emphasis nests, and so does everything else the inline renderer was flattening | Accepted |
| 0088 | A backtick on the page is a render site, and the check found four in the record that fixed the last one | Accepted |
| 0089 | A numeric field owes its unit and its bounds, and the scene caught the scene | Accepted |
| 0090 | The check that looks at the page can look at the served one, and the route figure was carried wrong again | Accepted |
| 0091 | Three fields are one field, and the first built component leaves the set | Accepted |
| 0092 | A removal does not renumber the past, and a set is counted once | Accepted |
| 0093 | A meter's state is a shape, and there is no exemption | Accepted |
| 0094 | Focus is drawn by the system, and the fixtures are build output | Accepted |
| 0095 | The site is a product, and its centrepiece is built from the system | Accepted |
| 0096 | An icon set, a grid, and no em dash in a headline | Accepted |
| 0097 | The proof product is five screens, and each is a captured scene | Accepted |
| 0098 | Instrument indoors, signal outside, and the palette it sets | Accepted |
| 0099 | Three type roles and five faces | Accepted |
| 0100 | The instrument treatment on components | Accepted |
| 0101 | A voice per theme family | Accepted |
| 0102 | Archivo for display | Accepted |
| 0103 | Caps for eyebrows only | Accepted |
| 0104 | A trend is a meter over time | Accepted |
| 0105 | A status colour is two roles, and the palette is authored in P3 | Accepted |
| 0106 | The affordance is a gap, not a corner | Accepted |
| 0107 | Nothing sustains motion | Accepted |
| 0108 | A stacking context casts | Accepted |
| 0109 | The ladder is narrower than it was | Accepted |
| 0110 | A shadow resolves where it is declared | Accepted |
| 0111 | The site checks its own copy | Accepted |
| 0112 | The reference is the reference | Accepted |
| 0113 | The reference was scaffolding, not the destination | Accepted |
| 0114 | A Scope is data-wr-layer="scope", a demand is level 4, and the first real page measures 0.023 | Accepted |
| 0115 | The ration engine was carrying ADR-0005's retired clause, and the rung it needs is derivable from this system's own ladder | Accepted |
| 0116 | The intensity ladder's band boundaries come from the theme, and the dark theme had been scored against the light one's | Accepted |
| 0117 | A block is pixels, the Scope's ground is out of the contest, and both were already accepted | Accepted |
| 0118 | The docs shell declares what it carries and what it draws, and the ground is synthesized rather than found | Accepted |
| 0119 | A list answers for what its surface renders, not for the whole roster | Accepted |
| 0120 | A grouped story names a group, and a scan that checked nothing has not passed | Accepted |
| 0121 | The component tier describes components the rewrite replaced | Accepted |
| 0122 | The site's own harness answers for the site's surface | Accepted |
| 0123 | The length ceiling retires with the corpus it was bootstrapped from | Accepted |
| 0124 | The shell paints in roles, and the ramps floor the pairs it uses | Accepted |
| 0125 | The cascade is read, and the grouped set consumes the tier generated for it | Accepted |
| 0126 | The discipline test governs the twenty, and is run | Accepted |
| 0127 | A loop is granted off the ladder, and floored rather than capped | Accepted |
| 0128 | A record's levels mean what its layer lets them mean | Accepted |
| 0129 | The sequenced three, and the ordinal that was never broken | Accepted |
| 0130 | A hue is not a classification | Accepted |
| 0131 | Wiring a component to its tier is a record question | Accepted |
| 0132 | A page header's title is the size the system grants it | Accepted |
| 0133 | The grouped nine read their tiers | Accepted |
| 0134 | Overlays enter and leave on their grant | Accepted |
| 0135 | The helm display adds one Scope and three meter drawings | Accepted |
| 0136 | The field reads at arm's length, and its raises reach the components | Accepted |
| 0137 | The faces load from beside the package | Accepted |
| 0138 | The flat surface yields to the tier where they share a name | Accepted |
| 0139 | An instrument states its datum, and its scale states its bounds | Accepted |
| 0140 | The helm's second pass puts each reading on one line | Accepted |
| 0141 | Selection is a shape, not a hue | Accepted |
| 0142 | The Figma library is generated from the repo | Accepted |
| 0143 | The Figma library is three files | Accepted |