feat: D20 moves the claims pass to cutover; rule Q56 unscoped; close Q55; freeze check:claims

Four rulings from Pouya, 2026-08-30, and their sweep.

D20 — the review protocol. Per build step the review is `adversarial-reviewer`
alone. `claims-auditor` no longer runs per step; it runs ONCE, at cutover, over
the whole finished site, as a blocking item near the top of docs/06's checklist.
`check:claims` is unchanged and still runs on every build and both deploy paths.
The reasoning is recorded in full in AGENTS.md D20, as a calibration and not an
erosion: nothing has shipped, so every claims finding so far has been about a
page no visitor can reach, and one pass over twenty finished pages catches more
than nine passes over drafts because it sees the site as a reader does. The
/med-arb/ ADRIC gloss is the proof — no individual claim was false, the defect
was adjacency, and adjacency does not exist until the pages sit next to each
other. The code reviewer stays per step because what it catches compounds.
What this costs is recorded honestly beside it, not summarised away.

D17 and D19 amended to match. D19's two-round cap governs the per-step code
review only; the single cutover claims pass runs until its findings are
resolved, because there is no second pass behind it.

Q56 — mediation is NOT scoped commercial. Thirteen shipped strings corrected
across five files: page titles, meta descriptions, hero ledes, section ledes,
the `Service` node's name and description, and `ProfessionalService`'s. §4's
mediation row stays unscoped, and the reason now sits beside both rows so the
asymmetry reads as designed: arbitration is scoped commercial because of a
LEGAL GATE (Q39 — family arbitration in Ontario requires prescribed training);
mediation has no such gate. `adversarial-reviewer` then found three surfaces
the sweep had missed, the worst on /practice/ — "These describe the process the
parties are choosing between, in commercial matters" scoped mediation with the
two words never appearing in the same element, so no proximity grep reached it.

Q55 — CLOSED WITHOUT BEING RESOLVED, and the difference is the ruling. The
Q.Arb stamp is split: `[verified]` on the status, `[Pouya's stated basis]` on
the date. The 2026-08-26 record is marked UNRECONCILED, permanently and on
purpose. The date is not published and nothing depends on it.

check:claims — FROZEN. Round 2 found five defects in round 1's own fixes to
that script, two of which made it worse than before the pattern existed. A
pattern is added only after a real breach reaches dist/, never speculatively,
and each addition ships with a probe plus a negative fixture. No refactors, no
coverage improvements. It is a tripwire, not a program.

Two conventions into CLAUDE.md: sweep the VOCABULARY, not only the subject
(`git grep 'Q.Arb'` is line-anchored and could not find ten lines entirely
about Q.Arb that never name it); and agent definitions load at session start,
so an edit to .claude/agents/*.md does not reach the session that made it.

Verified: check 0 errors, lint 0, build 0 (12 pages), check:claims 0.
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:06 -04:00
co-authored by Claude Opus 5
parent 610edc24fd
commit 2ea4c0f8ac
14 changed files with 520 additions and 125 deletions
+1 -1
View File
@@ -203,7 +203,7 @@ export function professionalServiceNode(imageUrl?: string) {
slogan: SITE.tagline,
url: `${SITE.url}/`,
description:
'Commercial mediation and arbitration for construction, technology, ' +
'Mediation and commercial arbitration for construction, technology, ' +
'energy, insurance, shareholder and cross-border disputes. Toronto, ' +
'by appointment. Q.Med and Q.Arb designations held.',
provider: { '@id': PERSON_ID },
+9 -12
View File
@@ -304,22 +304,19 @@ const CREDENTIAL_GROUPS = [
precisely because this page is where the framing now does its
heaviest work.
"I MEDIATE COMMERCIAL DISPUTES" STAYS, and a round-2 finding against
it was declined rather than missed. The objection: the same ground
that struck "The matters I take are commercial" from the biography
should reach this sentence too. It does not. **That one was a
universal** — it said nothing he takes is non-commercial, which is an
exclusion §4 has no row for. **This one is existential**: he mediates
commercial disputes, which §4 Offerings' mediation row supports and
which excludes nothing. A narrower claim than the row grants is
safe; a claim the row does not reach is not. */
THE MEDIATION HALF CARRIES NO SCOPE, AND THE ASYMMETRY IS
DELIBERATE — Q56, ruled 2026-08-30. Arbitration is scoped commercial
because of a legal gate (Q39: family arbitration in Ontario requires
prescribed training). Mediation has no such gate and §4's row is
unscoped. Do not restore "commercial" to the mediation half to make
the two read as a pair. */
}
<p class="hero-lede">
I am {ROLE.title} at {ROLE.at}, with {ROLE.litigationLine} across{' '}
{ROLE.litigationAreas.slice(0, -1).join(', ')} and{' '}
{ROLE.litigationAreas.at(-1)}. I mediate commercial disputes and I
accept arbitration appointments in commercial matters. I also work as
a machine-learning and infrastructure engineer.
{ROLE.litigationAreas.at(-1)}. I mediate. I accept arbitration
appointments in commercial matters. I also work as a machine-learning
and infrastructure engineer.
</p>
</div>
+19 -41
View File
@@ -86,7 +86,7 @@ const graph = homeGraph(new URL(ldImage.src, Astro.site).href);
<BaseLayout
title={`${SITE.name} · ${SITE.tagline}`}
description="Commercial mediation and arbitration in Toronto. Construction, technology, energy, insurance and shareholder disputes, read as contracts and as engineering."
description="Mediation and commercial arbitration in Toronto. Construction, technology, energy, insurance and shareholder disputes, read as contracts and as engineering."
imageAlt={PORTRAIT.alt}
jsonLd={graph}
preloadSerifItalic
@@ -114,49 +114,27 @@ const graph = homeGraph(new URL(ldImage.src, Astro.site).href);
</h1>
{
/* TWO CORRECTIONS FROM `claims-auditor`, 2026-08-27, both about
implication rather than assertion — which is where D13 says the risk
actually lives.
/* THREE CONSTRAINTS ON THIS PARAGRAPH. Trimmed to them under D19; the
history is in the `AGENTS.md` Change Log.
(a) This read "I mediate and arbitrate commercial disputes". §4
verifies that he ACCEPTS arbitral appointments, and separately
verifies "multiple completed sole mediations" — there is no
counterpart row for a completed arbitration. Present-indicative
"arbitrate" beside "mediate" invites the reader to supply a track
record for both. The offering-shaped form is what the register
actually holds, and it is already the form the arbitration card
below uses.
(b) "facts most neutrals take on faith" is a COMPARATIVE assertion
about a population of third parties, and **Q41(b) CLOSED 2026-08-27:
it is not restored, and the reason is not only compliance.** Pouya:
*"That is an unverifiable empirical claim about other practitioners,
and comparative claims must be factual and verifiable. It is also
weaker copy: assert his capability, not the field's incapability."*
It is struck from `docs/03`'s core positioning statement too — the
approved-copy defence is gone, because the approved copy changed.
His replacement wording is used verbatim: *"built for disputes that
turn on the contract, the code, and the engineering documents"*. The
interim ("the documents rather than the pleadings") is also gone; it
said nothing about other neutrals but it still worked by contrast.
ON THE ECHO OF THE HEADLINE, because it is deliberate and one edit
from being reversed if he reads it as a stumble. The `<h1>` ends
"the contract, the code, and the room"; this sentence re-runs the
triad and swaps the third term for "the engineering documents". Two
of three words repeat forty words apart. Read as a rhyme it does the
work of the whole positioning statement in one move; read as an
oversight it looks careless. Judged the first, flagged as the
second. */
1. ARBITRATION STAYS OFFERING-SHAPED. §4 verifies that he ACCEPTS
arbitral appointments and separately verifies completed sole
mediations; there is no completed-arbitration row. A present
indicative beside "mediate" invites a track record §4 does not
hold.
2. NO COMPARATIVE CLAIM ABOUT OTHER NEUTRALS — Q41(b), closed
2026-08-27, and struck from `docs/03`'s positioning statement too.
3. THE TAIL IS POUYA'S WORDING, VERBATIM: *"built for disputes that
turn on the contract, the code, and the engineering documents"*.
Its echo of the `<h1>`'s triad is deliberate. */
}
<p class="hero-lede">
I mediate commercial disputes from Toronto, and I accept commercial
arbitration appointments. I also practise as a machine-learning and
infrastructure engineer, so the matters I take are the ones that turn
on the contract, the code, and the engineering documents: the change
order, the model card, the System Impact Assessment, and the
regulatory overlay around them.
I mediate from Toronto, and I accept commercial arbitration
appointments. I also practise as a machine-learning and infrastructure
engineer, so the matters I take are the ones that turn on the
contract, the code, and the engineering documents: the change order,
the model card, the System Impact Assessment, and the regulatory
overlay around them.
</p>
<div class="hero-cta">
+10 -10
View File
@@ -33,11 +33,11 @@ const ldImage = await getImage({
});
const graph = serviceGraph({
path: '/mediation/',
name: 'Commercial mediation',
name: 'Mediation',
serviceType: 'Mediation',
description:
'Sole-mediator appointments in commercial disputes. Half day or full ' +
'day, in person, by video, or shuttle.',
'Sole-mediator appointments. Half day or full day, in person, by ' +
'video, or shuttle.',
imageUrl: new URL(ldImage.src, Astro.site).href,
});
@@ -70,8 +70,8 @@ const FORMATS = [
---
<BaseLayout
title="Commercial Mediation · Pouya Lajevardi · Q.Med · Toronto"
description="Sole mediator for commercial disputes in Toronto. Q.Med through ADRIC and ADRIO. Session formats, the ADRIC National Mediation Rules, and what to bring."
title="Mediation · Pouya Lajevardi · Q.Med · Toronto, Ontario"
description="Sole mediator in Toronto, half day or full day. Q.Med through ADRIC and ADRIO. Session formats, the ADRIC National Mediation Rules, and what to bring."
jsonLd={graph}
>
{/* ---- 1. Hero -------------------------------------------------------- */}
@@ -107,10 +107,10 @@ const FORMATS = [
}
<p>{NEUTRAL_ROLE_LINE}</p>
<p>
What I bring to a commercial file is that I read the contract and the
technical record underneath it — the change orders, the schedule, the
model card, the system impact assessment — rather than either side's
summary of them.
What I bring to a file is that I read the contract and the technical
record underneath it — the change orders, the schedule, the model
card, the system impact assessment — rather than either side's summary
of them.
</p>
</div>
</div>
@@ -240,7 +240,7 @@ const FORMATS = [
<SectionHeading
eyebrow="Subject matter"
level={2}
lede="Where a commercial mediation usually turns on something technical."
lede="Where a mediation usually turns on something technical."
>
<span slot="heading">Six areas.</span>
</SectionHeading>
+6 -6
View File
@@ -69,7 +69,7 @@ const ALSO_OFFERED = [
<BaseLayout
title="Practice Areas · Pouya Lajevardi · Mediation and Arbitration"
description="Six areas where a commercial dispute usually turns on something technical: construction, technology, energy, insurance, shareholder, and cross-border matters."
description="Six areas where a dispute usually turns on something technical: construction, technology, energy, insurance, shareholder, and cross-border matters."
jsonLd={graph}
>
{/* ---- 1. Hero -------------------------------------------------------- */}
@@ -78,10 +78,10 @@ const ALSO_OFFERED = [
<Eyebrow dot>Practice</Eyebrow>
<h1 class="display hero-h">Six areas, one reason.</h1>
<p class="hero-lede">
Each of these is a place where a commercial dispute turns on a document
somebody has to actually read — a subcontract, a system impact
assessment, a processing agreement, a benefits file. The process is
mediation or arbitration. The area is the context it runs in.
Each of these is a place where a dispute turns on a document somebody
has to actually read — a subcontract, a system impact assessment, a
processing agreement, a benefits file. The process is mediation or
arbitration. The area is the context it runs in.
</p>
</div>
</section>
@@ -181,7 +181,7 @@ const ALSO_OFFERED = [
<div class="prose">
<p>
The area pages describe the disputes. These describe the process the
parties are choosing between, in commercial matters.
parties are choosing between.
</p>
<p class="onward">
<a href="/mediation/">Mediation &rarr;</a>