Files
adr-sml/src/pages/arbitration.astro
T
Pouya LajevardiandClaude Opus 5 79b19a7bd0
Build and deploy / build-and-deploy (push) Failing after 5s
feat: build step 5 — /practice/ and six area pages; check:claims gates §4 in dist
Step 5 ships /practice/ and the six practice-area pages (construction,
technology, energy, insurance, shareholder, cross-border) from one route, and
adds the mechanical §4 gate Pouya ruled for.

check:claims — §4 Forbidden becomes a build error
  scripts/check-claims.mjs greps dist/**/*.html for 10 patterns, each carrying
  the incident that put it there. It strips <style> and non-JSON-LD <script>
  first (a bare sweep for "leading" returned 26 hits, 25 of them
  var(--leading-body)), self-tests every pattern against fixtures before
  sweeping, and refuses a missing, empty or stale dist/. Wired into /build
  Phase 5 and both deploy paths.

Q54 — six conduct undertakings publish, and §4 gains a third class
  Conduct undertakings sit apart from credentials and offerings: the gate is
  that Pouya said it in terms. The strings live in CONDUCT_UNDERTAKINGS so a
  softening is one visible diff. (e) and (f) replace the third-person sentences
  already on /arbitration/ rather than joining them.

Q49, Q50 recorded as rulings. §7 records the SES us-east-1 stray identity's
deletion. R11 holds typescript at its current major, with the peer-range
reason recorded.

Three facts corrected, two of them already shipped
  - The LAT gloss said mediation "before filing and continuing after filing";
    the Tribunal names mediation for "Before you apply" only and its second
    sentence is about negotiation. An ellipsis in docs/01 had deleted it.
  - "Connection allocation" is not an Ontario term.
  - "The 2026 privacy statute" does not exist — Bill C-27 died without royal
    assent. Struck from docs/03 rather than corrected in place.

ADR Chambers struck from /arbitration/ and from docs/01 item 3 (Pouya,
2026-08-30): the source establishes what the firm publishes, not that an
outside neutral can be appointed under its rules.

claims-auditor gains a second lens — for every quoted source, whether the
sentence beneath stays inside what the quotation establishes. Four shipped
defects had that shape and none of them is greppable.

CLAUDE.md gains a convention: never truncate the output of a check you intend
to believe. `npm run check | tail -3` returns warnings, hints and a blank line
and drops the errors line; it was reported as passing four times while
astro check was exiting 1 with 10 type errors.

Gates, exit status read directly, not through a pipe:
  npm run check        exit=0
  npm run lint         exit=0
  npm run build        exit=0
  npm run check:claims exit=0

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Md3GndFqWPzK78xAoebsg5
2026-08-30 09:35:26 -04:00

351 lines
13 KiB
Plaintext

---
/**
* `/arbitration/` — build step 4. Spec: docs/01 §`/arbitration/`, docs/03.
*
* ⚠️ THIS PAGE CARRIES §4's PAIRED-DISCLOSURE CONDITION, AND IT IS A CONDITION
* ON THE OFFERING ITSELF, NOT A DISCLAIMER BOLTED TO IT. Both halves ship or
* neither does:
*
* 1. All three forms are offered NOW — sole, party-appointed, co-arbitration
* — in commercial matters. §4 Offerings rows all three.
* 2. The Q.Arb PATHWAY commenced August 2026, with C.Med-Arb as the endpoint.
*
* "Pathway", never "designation": a designation that "commenced in August 2026"
* reads as held since then, which §4 Forbidden bars. Pouya's instruction is that
* being open about the stage is the differentiator — so it is stated plainly and
* high on the page, not hedged and not buried.
*
* ⚠️ AND NOTHING HERE MAY SAY OR IMPLY THAT ARBITRATION IS UNGATED IN ONTARIO.
* Q39's struck universal — "anyone may be appointed an arbitrator in Ontario;
* nothing in law gates the role behind a designation" — was FALSE as a
* universal, has been swept four times, and reached a public page once. The
* page states what is offered and where the credentialing stands. It makes no
* claim about what the law requires of anyone.
*/
import BaseLayout from '../layouts/BaseLayout.astro';
import Button from '../components/Button.astro';
import ContactBand from '../components/ContactBand.astro';
import DefinitionGrid from '../components/DefinitionGrid.astro';
import CredentialRow from '../components/CredentialRow.astro';
import Eyebrow from '../components/Eyebrow.astro';
import Pill from '../components/Pill.astro';
import SectionHeading from '../components/SectionHeading.astro';
import Undertaking from '../components/Undertaking.astro';
import { getImage } from 'astro:assets';
import ogDefault from '../assets/og-portrait.jpg';
import { serviceGraph } from '../data/schema';
import {
CONDUCT_UNDERTAKINGS,
CREDENTIALS,
CREDENTIAL_ROW,
CREDENTIAL_ROW_ARB,
} from '../data/site';
const ldImage = await getImage({
src: ogDefault,
format: 'jpeg',
width: 1200,
height: 630,
});
const graph = serviceGraph({
path: '/arbitration/',
name: 'Commercial arbitration',
serviceType: 'Commercial arbitration',
description:
'Sole-arbitrator, party-appointed and co-arbitration appointments in ' +
'commercial matters. Documents-only, expedited and full hearing tracks.',
imageUrl: new URL(ldImage.src, Astro.site).href,
});
/* §4 Offerings rows all three, each `[verified 2026-08-26 — Pouya, Q33/Q36]`,
each scoped commercial. Do not add a fourth without a row. */
const APPOINTMENTS = [
{
name: 'Sole arbitrator',
body: 'One arbitrator, appointed by agreement or by the mechanism the contract names.',
},
{
name: 'Party-appointed',
body: 'Appointed by one side to a three-member tribunal, deciding with the other two.',
},
{
name: 'Co-arbitration',
body: 'Sitting with co-arbitrators, usually where the matter spans more than one discipline.',
},
];
/* Tracks are docs/01 §`/arbitration/` item 2. The flat fees behind the first
two are D14's card and live on `/fees/`; no figure appears here. */
const TRACKS = [
{
name: 'Documents only',
body: 'No hearing. Written submissions, the documentary record, and an award. The right track where the dispute is about what the contract says rather than about what happened.',
},
{
name: 'Expedited',
body: 'A compressed timetable fixed at the outset, with page limits and a short hearing. Chosen when the commercial cost of the dispute staying open exceeds the value of a full process.',
},
{
name: 'Full hearing',
body: 'Pleadings, disclosure, witnesses, experts, oral argument. Where the facts are genuinely contested and someone has to hear them tested.',
},
];
---
<BaseLayout
title="Commercial Arbitration · Pouya Lajevardi · Toronto"
description="Sole, party-appointed and co-arbitration appointments in commercial matters, Toronto. Tracks, rules and awards — and where the Q.Arb pathway stands."
jsonLd={graph}
>
{/* ---- 1. Hero — and the paired disclosure starts here ---------------- */}
<section class="section hero">
<div class="wrap">
<Eyebrow dot>Arbitration</Eyebrow>
<h1 class="display hero-h">Available now, and open about the stage.</h1>
<p class="hero-lede">
I accept sole, party-appointed and co-arbitration appointments in
commercial matters. The Q.Arb pathway commenced in August 2026;
C.Med-Arb is the endpoint. Both are true at once, and they belong
together rather than one of them surfacing later.
</p>
<div class="hero-creds">
<CredentialRow slots={[...CREDENTIAL_ROW, CREDENTIAL_ROW_ARB]} />
</div>
</div>
</section>
{/* ---- 2. The credentialing stage, on its own ------------------------- */}
{
/* §4 Offerings: "neither half may be dropped". The offering is in the hero;
this is the other half, given its own section rather than a footnote,
because Pouya's instruction is that the openness IS the differentiator. */
}
<section class="section section-inverse reveal">
<div class="wrap">
<div class="section-head">
<SectionHeading eyebrow="Where I am in the arc" level={2}>
<span slot="heading"
>Stated plainly rather than discovered later.</span
>
</SectionHeading>
</div>
<ol class="grid-autofit stage" role="list">
<li>
<Pill>Held</Pill>
<h3 class="stage-name">Q.Med</h3>
<p class="stage-body">
Qualified Mediator, through the ADR Institute of Canada and the ADR
Institute of Ontario.
</p>
</li>
<li>
<Pill>Commenced August 2026</Pill>
<h3 class="stage-name">Q.Arb</h3>
<p class="stage-body">
Qualified Arbitrator. Newly commenced — not held, and not nearing
completion.
</p>
</li>
<li>
<Pill>The endpoint</Pill>
<h3 class="stage-name">C.Med-Arb</h3>
<p class="stage-body">
{CREDENTIALS.goalName}. The designation this practice is built
toward.
</p>
</li>
</ol>
<p class="stage-note">
If the stage of the arc bears on an appointment decision, it should bear
on it before the appointment and not after.
</p>
</div>
</section>
{/* ---- 3. Appointments ------------------------------------------------ */}
<section class="section reveal">
<div class="wrap">
<div class="section-head">
<SectionHeading
eyebrow="Appointments"
level={2}
lede="Commercial matters. I do not accept family arbitration."
>
<span slot="heading">Three forms.</span>
</SectionHeading>
</div>
<DefinitionGrid items={APPOINTMENTS} />
</div>
</section>
{/* ---- 4. Tracks ------------------------------------------------------ */}
<section class="section section-alt reveal">
<div class="wrap">
<div class="section-head">
<SectionHeading
eyebrow="Tracks"
level={2}
lede="Settled with the parties before the first procedural order, not defaulted to."
>
<span slot="heading">How much process the dispute needs.</span>
</SectionHeading>
</div>
<DefinitionGrid items={TRACKS} />
</div>
</section>
{/* ---- 5. Rules ------------------------------------------------------- */}
<section class="section reveal">
<div class="wrap">
<div class="section-head">
<SectionHeading eyebrow="Rules" level={2}>
<span slot="heading">Under whose rules.</span>
</SectionHeading>
</div>
<div class="prose">
{
/* Sourced: docs/reference/adric-rules.md.
⚠️ ADR CHAMBERS IS NOT NAMED HERE, AND MUST NOT BE ADDED BACK.
Struck by Pouya 2026-08-30 from this page and from `docs/01` item 3
in the same ruling. `docs/reference/adr-institution-names.md`
establishes what the firm publishes — it does not establish that an
outside neutral can be appointed under its rules, and its own model
clause reads "at ADR Chambers". Naming it implies a relationship
this repository does not source. ADRIC and ad hoc are enough. */
}
<p>
<strong>The ADRIC Arbitration Rules.</strong> The ADR Institute of Canada
adopted a new edition effective 1 March 2025, alongside an arbitrator appointment
protocol and a set of forms — notice to arbitrate, request to administer,
request for the appointment of an arbitrator, urgent interim measures, challenge
to an arbitrator, notice of appeal.
</p>
<p>
<strong>Or ad hoc, or whatever the contract names.</strong> Where a contract
names a rule set, a seat and a language and leaves the rest to the tribunal,
that works.
</p>
{
/* Q54(e), rowed in §4 as a conduct undertaking. It REPLACED the
third-person sentence that made the same point as an observation;
do not restore that sentence beside it. */
}
<Undertaking>{CONDUCT_UNDERTAKINGS.arbitrationProcedure}</Undertaking>
</div>
</div>
</section>
{/* ---- 6. Awards ------------------------------------------------------ */}
<section class="section section-alt reveal">
<div class="wrap">
<div class="section-head">
<SectionHeading eyebrow="Awards" level={2}>
<span slot="heading">In writing, with reasons.</span>
</SectionHeading>
</div>
<div class="prose">
<p>
An award should be in writing and give reasons — what was in dispute,
what the record showed, and why the conclusion follows. An award that
announces a result without the reasoning is not much use to the party
that lost, and it is no use at all to the relationship that has to
survive it.
</p>
{
/* THE DATE IS A COMMITMENT ABOUT PROCESS, NOT A PUBLISHED TURNAROUND.
§4 Forbidden bars a time-to-award statistic outright; no figure
appears here and none may be added. */
}
{
/* Q54(f), answered by Pouya 2026-08-29 and rowed in §4 as a conduct
undertaking. Same replacement as in the Rules section above: this
paragraph opened "The date an award is due belongs in the first
procedural order", the observation form of the same commitment. The
sentence that follows it is unchanged and is the one doing the §4
Forbidden work. */
}
<Undertaking>{CONDUCT_UNDERTAKINGS.arbitrationAwardDate}</Undertaking>
<p>
No number is published here: a turnaround time advertised in advance
of a record is a guess dressed as a commitment.
</p>
</div>
</div>
</section>
{/* ---- 7. Fees --------------------------------------------------------- */}
<section class="section reveal">
<div class="wrap">
<div class="section-head">
<SectionHeading eyebrow="Fees" level={2}>
<span slot="heading">Published in full.</span>
</SectionHeading>
</div>
<div class="prose">
<p>
Hourly, hearing day, and flat fees for documents-only and expedited
matters at two levels of complexity. The cancellation schedule is on
the same page.
</p>
</div>
<div class="cta">
<Button href="/fees/" variant="ghost">The rate card &rarr;</Button>
</div>
</div>
</section>
<ContactBand />
</BaseLayout>
<style>
.hero {
padding-block-start: var(--space-9);
}
.hero-h {
margin-block: var(--space-4) var(--space-5);
font-size: var(--text-5xl);
max-inline-size: 20ch;
}
.hero-lede {
max-inline-size: 58ch;
font-size: var(--text-lg);
line-height: var(--leading-body);
color: var(--text-secondary);
}
.hero-creds {
margin-block-start: var(--space-8);
}
/* `.stage`, NOT `.arc`. `/about/` has an `.arc` block of its own with the
same class names and different rendering — serif at --text-2xl there, mono
at --text-lg here — and Astro's scoping means neither reaches the other. Two
meanings for one name across two pages is a rename waiting to go wrong.
`role="list"` on the <ol> and no local `list-style: none`: global.css does
both for `ol[role='list']`, and WebKit drops list semantics when the marker
goes, which is why the role is there. Columns come from `.grid-autofit`. */
.stage {
--grid-min: 17rem;
gap: var(--space-7);
}
.stage-name {
margin-block: var(--space-4) var(--space-2);
font-family: var(--font-mono);
font-size: var(--text-lg);
font-weight: var(--weight-medium);
}
.stage-body {
max-inline-size: 40ch;
line-height: var(--leading-body);
}
.stage-note {
margin-block-start: var(--space-8);
max-inline-size: 54ch;
line-height: var(--leading-body);
color: var(--text-inverse-2);
}
.cta {
margin-block-start: var(--space-6);
}
</style>