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 -1
View File
@@ -462,7 +462,23 @@ Drafted by Claude, **every word reviewed by Pouya before publication**:
## Compliance checklist — before any page ships
- [ ] Every factual claim appears in `AGENTS.md` §4 Verified
- [ ] No matter counts, settlement rates, dollar figures, or time-to-award stats
- [ ] No matter counts, settlement rates, claimed matter values, or
time-to-award stats. ⚠️ **SCOPED 2026-08-30, and it read "dollar figures"
until then.** What this bars is the **fabricated-statistic family** the old
site carried — *"420+ matters"*, *"$3.8B resolved"*, *"93% settled"*. It
does **not** bar the **rate card**: D8 commits to publishing it in full and
D14 confirms the numbers `[verified 2026-08-26 — Pouya]`, so `/fees/`
publishes all of them and `/for-parties/` publishes the two mediation rates
because `docs/01` requires that page to answer *"what it costs"*. Read
literally, the old wording forbade the page the architecture spec commits
to. **§4's own row was never wrong** — it reads *"Aggregate value resolved;
any dollar figure attached to **past matters**"*, and this checklist
dropped the qualifier when it mirrored it. A duplicated fact is a fact that
will eventually be wrong in one place, and the copy that goes stale is the
one nobody re-reads. **Third instance of an unscoped checklist line flagging the copy the
spec requires** — the other two are the testimonials item
immediately below and the capacity-phrasing item further down, and in both
cases the checklist is what gets grepped
- [ ] No testimonials, endorsements, or third-party quotes **about the practice
or about Pouya**. Scope matters: `docs/01` §`/med-arb/` **directs** the page
to quote ADRIC's own framing of med-arb, and `/mediation/` and