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
@@ -0,0 +1,327 @@
|
||||
---
|
||||
/**
|
||||
* `/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 { getImage } from 'astro:assets';
|
||||
import ogDefault from '../assets/og-portrait.jpg';
|
||||
import { serviceGraph } from '../data/schema';
|
||||
import { 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 DELIBERATELY
|
||||
NOT NAMED — docs/01 item 3 lists it, and nothing in this repository
|
||||
sources what rules it publishes. docs/07 cites it for published FEE
|
||||
ranges, which is a different claim. Name it here once it is sourced;
|
||||
do not name it from recall (R14). */
|
||||
}
|
||||
<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. What does not is a process whose shape nobody agreed to in advance.
|
||||
</p>
|
||||
</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. */
|
||||
}
|
||||
<p>
|
||||
The date an award is due belongs in the first procedural order, along
|
||||
with everything else, rather than being left open. 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 →</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>
|
||||
Reference in New Issue
Block a user