docs(adr): answer the Codex review — Indexed is a fourth arm, selection is per-surface

Three findings, all correct, all applied.

1. A contextual selection face cannot be resolved by `resolve(Face)`. Clause 3
   fixed that signature while the vocabulary described one `selection` face
   "parameterised by the surface's accent" — the same Face cannot yield the
   grid's Cyan and the formula panel's Yellow. Resolved the way clause 2
   already works: `selection` is a BASE face and each surface has a derived
   one. A context argument was rejected explicitly, because it is a second
   input three front ends would each have to supply correctly, which is the
   three-derivations hazard one level down.

2. `Indexed` could not be "a detail". The ADR defined Colour as exactly
   Default | Named | Rgb, promised the two existing Indexed greys would still
   render exactly, and said the shipped theme used only the first two. Folding
   an index into Rgb changes its meaning AND breaks that rule. `Indexed(u8)` is
   now a fourth arm, the browser resolves 16-255 through the xterm cube and
   ramp, and the shipped-theme rule is restated over the line that actually
   matters: palette-relative versus absolute. The shipped theme contains no
   `Rgb`. The rejected-alternatives entry now also says that dropping `Rgb`
   entirely is a coherent version of this ADR, since that would make the
   regression unrepresentable rather than defaulted-against.

3. "Build all bundles" was failing: the ADR was neither published nor a named
   omission. Added to SECTIONS in scripts/build-doc-site.mjs. The checked-in
   site/docs output is deliberately NOT regenerated here — assemble.sh builds
   into its own output directory, and site/ is a periodic snapshot rather than
   a per-commit artifact.

Also corrects the hex count: nine stray values in style.css, six light and
three dark, not six.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FC2jVn8Au7E9JPkw6bwXXH
This commit is contained in:
Edward Langley
2026-09-21 23:06:21 -07:00
parent 718f1ab2a9
commit 9191718612
2 changed files with 68 additions and 25 deletions
+1
View File
@@ -44,6 +44,7 @@ const SECTIONS = [
["context/adr/001-concurrent-edits.md", "adr/001-concurrent-edits", "ADR 001 — Concurrent edits"],
["context/adr/002-naming-a-cell.md", "adr/002-naming-a-cell", "ADR 002 — Naming a cell"],
["context/adr/003-live-backed-models.md", "adr/003-live-backed-models", "ADR 003 — Live-backed models"],
["context/adr/004-faces-and-themes.md", "adr/004-faces-and-themes", "ADR 004 — Faces"],
],
},
{