feat: build step 3 — /about/, minus its memberships; close Q40–Q43
Build and deploy / build-and-deploy (push) Failing after 6s
Build and deploy / build-and-deploy (push) Failing after 6s
Applies Pouya's rulings on Q42, Q41(a)(b)(c), Q43 and Q40, then builds `/about/` — six of docs/01's seven items. `/about/` ships WITHOUT a memberships group. R10 is a prohibition on shipping a page that lists memberships before they are re-confirmed; the re-confirmation is a fact only Pouya holds and was not obtained. The first version published all four and disclosed the gap in five places instead; both review agents rejected that. Q44 carries the question. Rulings: - Q42 — ENE, dispute-system design and pre-dispute technical advisory rowed; settlement counsel struck as a partisan role. The strike exposed a hole in the offering test, which now states the prior question it was missing. - Q41(a) — Q37 reaches prose, and prose is held to a higher bar. The sentence is now one constant, ASYMMETRY_LINE, because two hand-typed copies had already diverged inside one session. - Q41(b) — not restored; the implication turned out to be in three places, two of which survived the sweep that closed it. - Q41(c) — verified against the LAT's own Rules and extracted into docs/reference/lat-case-conference.md. Rule 2.4 makes "Pre-Hearing Conference" the Tribunal's own term for a case conference; the Rules contain zero occurrences of `mediat` in 66,593 characters. - Q43 — the timings are service commitments; PROCESS_FRAMING renders adjacent to them, not in a lede above. - Q40 — bundled to step 7 as R15, blocking cutover. Four review passes, 43 findings, nine of them defects in their own predecessors' fixes. The worst was mine: the false universal Q39 struck reached a public page. Also fixed a portrait ladder that upscaled 1.93x at 1024/DPR2 on BOTH pages — the shipped home page included — because its 960 ceiling was derived from the layout range where the image is narrowest. Verified: check/lint/build/audit clean; 0 upscaling across 11 device profiles; 0 overflow and 0 over-wide elements at 13 widths; 0 contrast failures across 127 and 88 painted pairs; 0 print failures against white paper; reveal 0 hidden under reduced-motion and print; zero JavaScript. Lighthouse NOT RUN — tool unavailable until step 7 (R11). HTML validator NOT RUN. Opens Q44 (memberships), Q45 (PDF bio), Q46 (offering-test gating; the glossary standard), Q47 (jobTitle without worksFor). Adds R15. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0148NztQskLKKApP5SzAA78e
This commit is contained in:
co-authored by
Claude Opus 5
parent
165d259f5c
commit
c576b9a85f
@@ -231,7 +231,34 @@ Not a polish pass. A build requirement.
|
||||
|---|---|---|
|
||||
| as first built | 234 px | 304 px |
|
||||
| `minmax(min(Nrem, 100%), 1fr)` on three grids | 83 px | 153 px |
|
||||
| `.credentials` made explicit `repeat(2, minmax(0, 1fr))`; `.feature` padding clamped and `overflow-wrap: anywhere` on its title; `.contact-action` `flex: 0 1 auto` + `min-inline-size: 0` | **3 px** | **65 px** |
|
||||
| `.credentials` made explicit `repeat(2, minmax(0, 1fr))`; `.feature` padding clamped and `overflow-wrap: anywhere` on its title; `.contact-action` `flex: 0 1 auto` + `min-inline-size: 0` | **3 px** | **63 px** |
|
||||
|
||||
**`65 px` corrected to `63 px` on 2026-08-28**, re-measured independently on
|
||||
the same page and setting. Two pixels, and it is recorded because a table that
|
||||
reads as the site-wide record has to be re-measurable rather than remembered.
|
||||
|
||||
**`/about/` added 2026-08-28** — step 3, and the first page to be measured
|
||||
against this table rather than establishing it:
|
||||
|
||||
| Page and fix | 390 px | 360 px | 320 px |
|
||||
|---|---|---|---|
|
||||
| `/about/` as first built | 38 px | 68 px | 108 px |
|
||||
| `.designation-part` `white-space: nowrap` removed (the separator is held by an NBSP instead) and `overflow-wrap: anywhere` on `.hero-h` | **0 px** | **23 px** | **63 px** |
|
||||
|
||||
Two findings from that page specifically. The `nowrap` was **introduced as a
|
||||
fix** for an orphaned `·` at the end of a wrapped line, and it made the whole
|
||||
designation item unbreakable — a fix that created a reflow regression, caught
|
||||
only because this table existed to regress against. And **the type scale is
|
||||
rem-based**, so an `<h1>` at `--text-5xl` computes to 88 px at root 32 and a
|
||||
single unbreakable 9-character name ("Lajevardi") exceeds the 224 px content
|
||||
box at 320 px; `overflow-wrap: anywhere` is the only remedy that reduces
|
||||
min-content size. `/about/` now measures equal to or better than `/` at all
|
||||
three widths, and its 320/360 residual is the same header decision.
|
||||
|
||||
Command, so the numbers are re-runnable rather than quoted: headless Chrome
|
||||
over the built `dist`, `document.documentElement.style.fontSize = '32px'`, then
|
||||
`documentElement.scrollWidth - documentElement.clientWidth`, plus an
|
||||
enumeration of every element wider than `clientWidth` to name the offender.
|
||||
|
||||
Two things worth keeping. **`overflow-wrap: break-word` permits a break at
|
||||
layout time but does not reduce min-content size** — `anywhere` does, and that
|
||||
|
||||
Reference in New Issue
Block a user