Skip to content

docs(adr): the toggle is declined and localisation is deferred — all four accepted - #79

Merged
khafifithebork merged 1 commit into
masterfrom
docs/accept-adr-032-033
Sep 27, 2026
Merged

khafifithebork merged 1 commit into
masterfrom
docs/accept-adr-032-033

Conversation

@khafifithebork

Copy link
Copy Markdown
Owner

The owner declined the manual theme toggle (ADR-032 §3) and deferred localisation (ADR-033 §4). With ADR-030 and ADR-031 already accepted, all four ADRs from the frontend audit are decided and nothing in the roadmap waits on a decision.

Docs only, four files.

ADR Decision Left to do
ADR-030 WCAG 2.2 AA. Supersedes architecture.md's 2.1 AA baseline, on the level only C3, C4, and D2 once A2 reproduces the fault
ADR-031 Three boundary files, each reporting to Sentry D1 — nothing built yet
ADR-032 Theme follows the system; toggle declined nothing. §2's defect fixed; A4 confirms it
ADR-033 Localisation deferred with a named trigger §3's <track> gap, blocked on backend

Both ADRs say what acceptance does not mean

That's where a document starts overstating itself.

ADR-032 settles the mechanism — one media query, semantic tokens, no stored preference, a test that fails if a data-theme selector appears. It does not close roadmap A4: nobody has looked at a dark-mode scrollbar or an autofilled field. And declining the toggle isn't forbidding one — a real user request supersedes the ADR, and §3 records the cost so that conversation starts from a number rather than an impression.

ADR-033 defers the interface language. It does not license writing English-only assumptions into the code — that's the whole point of §2's habit — and it does not close §3. <track> still lacks srclang and label; that's a defect rather than a decision, blocked on backend modelling because the correct value isn't knowable from the frontend. Deferring the interface language and failing to say what language the captions are in are different problems, and only one is settled here.

The practice worth keeping

Both of these ADRs were split before being decided. Each mixed "this is broken" with "what should we do", and the broken half never needed the decision — color-scheme and the logical-property swaps shipped hours ahead of the questions they'd been sitting behind.

When an ADR contains both, split it. That's recorded in STATUS rather than left as a thing that happened once.

The defect table is rewritten by state, not count

Two fixed, one open, one blocked — plus a fifth found while fixing the fourth. It keeps the corrections rather than quietly dropping them: measurement disproved part of ADR-032 §2 (Tailwind's Preflight already resets form controls, so those were never affected), and ADR-033's "about four" utilities were actually nine.

Still true, and still needs a person

Section A of the roadmap — five verification items — needs a browser, not an agent. Top of that list, outstanding since 2026-09-25: open / with reduced motion enabled and confirm the headline appears. Ten minutes, and the only unverified claim from four stages of redesign.

425 frontend tests unchanged. Every ADR id and doc path resolves, and no document still describes any of the four as proposed.

🤖 Generated with Claude Code

…four accepted

The owner declined the manual theme toggle (ADR-032 §3) and deferred localisation
(ADR-033 §4) on 2026-09-27. With ADR-030 and ADR-031 already accepted, all four
ADRs from the frontend audit are now decided and **nothing in the roadmap waits on
a decision.**

Both ADRs record what acceptance does *not* mean, because that is where a document
starts overstating itself:

- **ADR-032** settles the theme mechanism — one media query, semantic tokens, no
  stored preference, and a test that fails if a `data-theme` selector appears. It
  does not close roadmap A4: nobody has looked at a dark-mode scrollbar or an
  autofilled field. And declining the toggle is not forbidding one — a real user
  request supersedes the ADR, and §3 records the cost so that conversation starts
  from a number.
- **ADR-033** defers the interface language. It does **not** license writing
  English-only assumptions into the code, which is the whole point of §2's habit,
  and it does not close §3: `<track>` still lacks `srclang` and `label`. That is a
  defect rather than a decision and it is blocked on backend modelling, because the
  correct value is not knowable from the frontend. Deferring the interface language
  and failing to say what language the captions are in are different problems and
  only one of them is settled.

**The practice worth keeping is recorded in STATUS.** Both of these ADRs were split
before being decided, each having mixed "this is broken" with "what should we do" —
and the broken half never needed the decision. `color-scheme` and the logical
properties shipped hours ahead of the questions they had been sitting behind. When
an ADR contains both, split it.

The defect table is rewritten by state rather than by count: two fixed, one open,
one blocked, plus a fifth found while fixing the fourth. It also keeps the
corrections — measurement disproved part of ADR-032 §2, because Tailwind's Preflight
already resets form controls; and ADR-033's "about four" utilities were nine.

Docs only. 425 frontend tests still pass, unchanged. Every ADR id and doc path
resolves, and no document still describes any of the four as proposed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@khafifithebork
khafifithebork merged commit c3b932b into master Sep 27, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant