feat: build step 6 — /process/ and /for-parties/, the first step under D20
Build and deploy / build-and-deploy (push) Failing after 4s

Two pages, 14 in dist/ (was 12), zero JavaScript, one <h1> each, no skipped
heading levels. Both were dangling links in SECONDARY_NAV since step 1; the
footer is now whole on every page.

/process/ — the five steps from intake to minutes of settlement or an award,
with PROCESS_FRAMING rendered adjacent to the timings rather than in a section
lede above them, which is the condition Q43 attached to publishing them at all.
Conflicts says WHEN the check runs and WHAT it needs, and then stops: any
sentence naming the outcome would be a seventh conduct undertaking, and §4's
gate requires that Pouya has made it in terms. Logged as Q57.

/for-parties/ — second person, grade 9, for a party arriving without counsel.
NEUTRAL_ROLE_LINE gets its own section above the FAQ rather than a slot in it.
Eight questions in one array feeding both the visible page and the FAQPage node,
so a question cannot reach the structured data without appearing on the page.
The word "lawyer" appears nowhere, deliberately, and the reason is in the file
header.

Three defects worth recording.

The link colour on a dark band measured 1.88:1, and 1.10:1 on hover. `--link`
is documented at 8.95:1 ON CREAM and was never overridden for an inverse
ground; SiteFooter sets its own colour, which is the only reason this had not
fired before — /process/ shipped the site's first body link on a dark band.
That is worse than the gold-on-cream 2.10:1 this project treats as canonical.
Fixed in global.css, where the next inverse-ground link will hit the same hole.
The `:not(.btn)` guard is load-bearing, not tidiness: the new rule's
specificity (0,2,1) beats `.btn-gold`'s (0,2,0), so without it the repair would
have recoloured every gold button on a dark band.

The fee shipped as "with preparation included", which docs/07 forbids in terms:
the allowance is CAPPED, so the unqualified form sells an uncapped one, and
/mediation/ already promises the site does the opposite. `prepIncluded` had
been declared in site.ts with no consumer anywhere.

/process/ §Confidentiality asserted that confidentiality is settled in the
terms of appointment — a claim about Pouya's engagement documents that §4 does
not row and no reader can check. Replaced with ADRIC's Code of Ethics quoted
from the committed extract, plus the §4-verified membership rendered from
MEMBERSHIP_ORGS. The replacement then said "on this it is one sentence", a
completeness claim about a third party's Code that the extract cannot support —
the same file records a separate instrument eighteen lines above. The cited
source supplied its own counter-example.

check:claims failed the build on compliant copy: five uses of "lawyer" about
the READER, which §4 permits since it bars the word used OF Pouya. There is no
allowlist, and the freeze bars narrowing the pattern, so the copy moved — the
same call and the same direction as "my client" to "our client" on /med-arb/.
Both replacements are better than what they replaced.

Q58 opened rather than guessed: docs/07 reads "up to 3.5 h, INCLUDING 2 h
preparation", which makes 3.5 the billed envelope and the room time 1.5 h,
against which 3.5 and 7 being exactly 2x makes no sense. A draft had answered
"What happens on the day?" with "about 3.5 hours" — the envelope presented as
the day, to the reader least able to check it. The sentence was removed.

Two review rounds, 16 findings, all applied. Verified: check 0 errors, lint 0,
build 0 (14 pages), check:claims 0, npm audit 0, minifier tripwire clean.
Lighthouse not run — tool unavailable until build step 7.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Md3GndFqWPzK78xAoebsg5
This commit is contained in:
Pouya Lajevardi
2026-08-31 07:33:58 -04:00
co-authored by Claude Opus 5
parent 2ea4c0f8ac
commit 13b97841b9
9 changed files with 917 additions and 36 deletions
+17
View File
@@ -391,6 +391,23 @@ a:hover {
.section-accent :focus-visible {
outline-color: var(--gold-l);
}
/* AND THE LINK COLOUR, for the same reason and measured the same way. `--link`
is --maroon-l, documented at 8.95:1 ON CREAM and never overridden for an
inverse ground: on --ink it measures 1.88:1, and :hover (--maroon-d) 1.10:1.
That is WORSE than the gold-on-cream 2.10:1 this project treats as the defect
that must never ship. `SiteFooter` sets its own `.footer-col a` colour, which
is the only reason this had not fired before — `/process/` shipped the site's
first body link on a dark band. Values: gold-l 11.09:1 on ink, cream 16.81:1.
Here rather than in the page, because the next inverse-ground link hits the
same hole. Found by `adversarial-reviewer`, 2026-08-30. */
.section-inverse a:not(.btn),
.section-accent a:not(.btn) {
color: var(--text-inverse-2);
}
.section-inverse a:not(.btn):hover,
.section-accent a:not(.btn):hover {
color: var(--text-inverse);
}
/* The eyebrow's dot is a --accent (maroon) box, so recolouring only the TEXT
for an inverse ground leaves the dot at 1.21:1 on ink and 1.00:1 on the
accent band — present in the markup, invisible on the page. Colour never