feat: build step 4 — /mediation/, /arbitration/, /med-arb/; source ADRIC's rules
Build and deploy / build-and-deploy (push) Failing after 4s
Build and deploy / build-and-deploy (push) Failing after 4s
Three pages, five in the build, zero JavaScript. /arbitration/ carries §4's paired-disclosure condition on four surfaces and Q39's struck universal appears in no form. /med-arb/ meets the procedural-fairness objection at the level of process design and ships deliberately without Pouya's own protocol commitments, which are Q54. docs/01 directed the mediation page to name the "ADRIC Model Mediation Rules". No such document exists — 0 occurrences across all four of ADRIC's rules pages against 10 for "National Mediation Rules"; "Model" belongs to the Model Dispute Resolution Clause inside the rules. Caught only because R14 requires the source before the claim. docs/reference/adric-rules.md + adric-extract/ carry it, with the digest drift measured rather than assumed: the HTML changes per request, the text extracts are byte-stable, so the extracts are the artefact. Four review passes, 21 defects, and the pattern was mine: I wrote the Q54 gate into the page and then breached it four times, then round 2 found two survivors of round 1's own fixes and one defect round 1's fix created. Also removed a <title> naming a practised role §4 does not grant, a habitual presupposing awards issued, and a claim about what ADRIC's rules permit that my own reference doc says is unsupported. Two instrument failures caught before they became conclusions: touch targets measured over file:// with no CSS loaded (uniform 18px, including on a .btn with a 44px floor), and a schema.org validator call that parsed nothing and returned 0 warnings for everything. Both re-run with the instrument validated first. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0148NztQskLKKApP5SzAA78e
This commit is contained in:
co-authored by
Claude Opus 5
parent
2282183b4b
commit
f3138a0a79
@@ -245,6 +245,28 @@ Not a polish pass. A build requirement.
|
||||
| `/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** |
|
||||
|
||||
**Step 4's three pages added 2026-08-28**, and they needed no fix of their own
|
||||
— the guards this table produced were applied while writing them rather than
|
||||
after measuring:
|
||||
|
||||
| Page | 390 px | 360 px | 320 px |
|
||||
|---|---|---|---|
|
||||
| `/mediation/` | 3 px | 23 px | 63 px |
|
||||
| `/arbitration/` | 3 px | 23 px | 63 px |
|
||||
| `/med-arb/` | **0 px** | 23 px | 63 px |
|
||||
|
||||
At the **default** root size all three are **0 px at every width measured**.
|
||||
The element-level sweep at 320/root-32, predicate `right > clientWidth`,
|
||||
names **three** `PracticeCard` chips on `/mediation/` — Construction,
|
||||
Technology, Shareholder — plus the header and footer brand elements, which
|
||||
appear on all five pages. *(This read "six" for one pass. Six is the count of
|
||||
`article.card` with `scrollWidth > clientWidth`, a different predicate on a
|
||||
different element; `adversarial-reviewer` re-ran it and no predicate yields
|
||||
six chips. A number in this table has to be re-runnable, which is the whole
|
||||
reason the table exists.)* All three are byte-identical to `/`'s — same
|
||||
widths, same offsets, same text — so step 4 introduced no new element-level
|
||||
overflow.
|
||||
|
||||
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
|
||||
@@ -262,9 +284,14 @@ Not a polish pass. A build requirement.
|
||||
|
||||
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
|
||||
distinction was the whole of one of those fixes. And 1280 px stays **602 px**
|
||||
over, from the header's deliberate `flex-wrap: nowrap` above 66 rem plus
|
||||
`white-space: nowrap` on the brand name; the 320 px residual is the same header
|
||||
distinction was the whole of one of those fixes. And 1280 px stays over, from the header's
|
||||
deliberate `flex-wrap: nowrap` above 66 rem plus `white-space: nowrap` on the
|
||||
brand name — **602 px on `/` and 944 px on every other page**, because
|
||||
`SiteHeader` gates the tagline on `!isHome`, so the masthead is wider
|
||||
everywhere except home. *(This read a flat "602 px" until 2026-08-28. That
|
||||
figure was measured on `/` and generalised; `/about/` was already 944 when it
|
||||
was added to this table, and step 4's three pages are 944 too. Found by
|
||||
`adversarial-reviewer`.)* The 320 px residual is the same header
|
||||
plus the display headline's 104 px floor. Undoing either re-opens the measured
|
||||
step-1 header decision, so they stand. All of this is beyond what this floor
|
||||
requires — page zoom is clean — so it is a robustness margin rather than a
|
||||
|
||||
Reference in New Issue
Block a user