Files
adr-sml/docs/reference/adric-rules.md
T
Pouya LajevardiandClaude Opus 5 bd282aa47d
Build and deploy / build-and-deploy (push) Failing after 4s
feat: production run — Q61 ramp, /404/, CloudFront router, cutover runbook
Five items of Pouya's production run, 2026-09-01.

Q61 — scroll-padding-top becomes a max() ramp on `10lh - 83px`, with the
plain calc() first as the fallback for engines without `lh`. Hidden focus
stops under minimumFontSize=32: 290 of 1,455 -> 0, control build still
290. Default settings byte-identical (0 differences over 352 page-widths x
17 fields). The 12 residual cells at minimumFontSize=16/20 are pre-existing
and unchanged-or-better; reported, not widened, per instruction.

Intake backend + CloudFront — docs/09-cutover-runbook.md is the
copy-paste sequence for admin execution: every command followed by its
verification and expected output, rollback per part, and Part 10 is Q60's
TTL test. infra/cloudfront/router.js is the trailing-slash function
(30-case suite; 8 fail against the pre-review version, incl. a
protocol-relative open redirect). infra/cloudfront/configure.mjs is
dry-run-by-default and idempotent. scripts/intake-env.mjs emits the six
Lambda env vars from src/data/site.ts.

Four launch blockers found by reading the running system:
  - handler.mjs wrote pk/sk; the live table's key is submissionId with no
    sort key, so every submission would have failed validation silently
  - the Lambda invoke permission is scoped to the old route path
  - 22 of 23 pages 403 without the router function
  - there was no 404 page; src/pages/404.astro adds it

Claims audit (D20 cutover pass) — five gloss over-reaches corrected on
/practice/energy/, /practice/insurance/ (x2), /practice/technology/ and
/med-arb/. Three findings left open for Pouya: Q62, the /med-arb/ gloss,
and Q60.

Q62 — one frozen-tripwire pattern added under the freeze's own breach
exception, with a probe and four negative fixtures. check:claims exits 1
until the false /legal/privacy/ sentence is corrected, so both deploy
paths are blocked by a mechanism rather than by memory.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Md3GndFqWPzK78xAoebsg5
2026-09-02 06:52:20 -04:00

187 lines
9.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ADRIC rules and codes — the published rule sets, in ADRIC's own words
**Why this file exists.** `docs/01-architecture.md` directs `/mediation/` to
name *"ADRIC Model Mediation Rules"* and `/arbitration/` to name *"ADRIC, ADR
Chambers, ad hoc"*. A rule set's **name** is a fact about a published document,
so under Q46(b)'s standard it may be published — but only from a source, not
from recall. R14: a claim whose artefact is unreachable is unverifiable by
construction. This is the same fetch-before-writing that caught
`Chartered Mediator-Arbitrator` (`docs/reference/adrio-designations.md`).
**It caught one immediately. See Finding 1.**
## Provenance
| | |
|---|---|
| Retrieved | **2026-08-28** |
| Method | `curl -sSL` — redirects followed, exit status read, stderr not suppressed |
| Text extracts | `docs/reference/adric-extract/`, produced by the committed `adrio-extract/extract.mjs` (same script, unmodified) |
| URL | HTTP | bytes | text | sha256 |
|---|---|---|---|---|
| `https://adric.ca/rules-codes/` | 200 | 120908 | 4579 | `e7281b28e3d739f8d91985d5094fbdff7dea24e3a360d00ec32e387e32e9a1c9` |
| `https://adric.ca/rules-codes/national-mediation-rules/` | 200 | 110894 | 6130 | `c55fe482da8aa7a69377703b9192bda0d926f012e45a90ca5ce5d27a7b0344ac` |
| `https://adric.ca/rules-codes/arbrules/` | 200 | 122211 | 11004 | `07b9850f41bbf40f6ce3a3778876853091ac25a6bb255ef0c4b2827af69a937e` |
| `https://adric.ca/rules-codes/adric-med-arb-rules/` | 200 | 114700 | 8445 | `153479af8235022170b31c9673262f4e10a51e9f99fcffcb3e0c7dd23d037393` |
⚠️ **THE HTML DIGESTS DRIFT ON EVERY REQUEST. THE TEXT EXTRACTS DO NOT.**
Unlike the ADRIO fetch, where the digests were stable and are therefore stamped
as the artefact, these pages change per response. **Measured, not assumed** — the
mediation-rules page was fetched twice, three minutes apart:
```
first : c55fe482da8aa7a69377703b9192bda0d926f012e45a90ca5ce5d27a7b0344ac
second: e9f74014ec04e8fcab0f1cbbd75ef4cb104c8d94992b93c832d41c8259ce78b2
text identical? YES
```
Four causes, read out of the diff rather than guessed at:
1. a per-render page-builder class suffix (`highend_6a91df2f53035`
`highend_6a91dfca9a8be`);
2. a **rotating corporate-member logo carousel** in the footer — nine sponsor
logos, reordered per request;
3. **Cloudflare email obfuscation**, which re-keys the `email-protection#…`
hash per response;
4. a **Cloudflare challenge-platform token** (`__CF$cv$params` `r` and `t`).
*(This paragraph first asserted "a WordPress nonce and rotating asset query
strings" — a guess, written before the second fetch. None of the four causes is
that. Corrected before commit, and recorded because a guessed cause for an
observed difference is exactly what `CLAUDE.md` bars.)*
**So the stable artefact is `docs/reference/adric-extract/`**, and the term
counts below were run against those extracts. A digest mismatch on re-fetch is
**not** evidence the content changed — re-extract and compare the text.
Also on the record: `https://adric.ca/rules/` returns **403**, and
`/mediation-rules/` and `/arbitration-rules/` return **404**. The working paths
are all under `/rules-codes/`. Recorded because a 403 body is 52 bytes and reads
like an empty page.
---
## Finding 1 — "ADRIC Model Mediation Rules" is NOT the name of anything
`docs/01-architecture.md` §`/mediation/` item 3 directed the page to name the
**"ADRIC Model Mediation Rules"**. The string does not exist in ADRIC's
materials.
| Term | rules-codes | national-mediation-rules | arbrules | adric-med-arb-rules |
|---|---|---|---|---|
| `Model Mediation Rules` | 0 | 0 | 0 | 0 |
| `National Mediation Rules` | 2 | 10 | 2 | 2 |
| `ADRIC Mediation Rules` | 1 | 0 | 0 | 0 |
| `ADRIC Arbitration Rules` | 3 | 3 | 7 | 3 |
| `ADRIC Med-Arb Rules` | 5 | 4 | 4 | 9 |
**Where "Model" actually belongs.** ADRIC publishes a **Model Dispute Resolution
Clause** — a contract clause, inside the rules document. The spec's phrase
conflates the clause's name with the rules' name.
**The canonical title, from the page's own heading:** *"The ADRIC National
Mediation Rules"*. The Model Clause it publishes uses the same form —
*"shall be mediated pursuant to the **National Mediation Rules** of the ADR
Institute of Canada, Inc."*
**One inconsistency in ADRIC's own materials, recorded so it is not read later
as our error.** The `/rules-codes/` index has a card labelled *"ADRIC Mediation
Rules"* (1 occurrence, card link text) while its nav and the document itself say
*"National Mediation Rules"*. **Use `ADRIC National Mediation Rules`** — the
document's own title, and the form inside the model clause.
## Finding 2 — the three rule sets, with the facts a page may state
**ADRIC National Mediation Rules.** *"The National Mediation Rules provide rules
for initiating mediations, including the appointment of a mediator should the
parties be unable to come to an agreement."* The document contains: Mediation
Rules including a Code of Conduct; a Standard Form Agreement to Mediate
(Schedule B); ADRIC administration fees (Schedule A); and the Model Dispute
Resolution Clause.
⚠️ **Currency caveat, verbatim:** *"As of 2025, the ADRIC Mediation Committee is
currently reviewing the Mediation Rules… In the meantime, the existing rules
remain in effect and should continue to be used until any updates are formally
adopted."* So do not date them, and do not describe them as recently revised.
**ADRIC Arbitration Rules.** *"ADRIC has adopted new Arbitration Rules and a new
Arbitrator Appointment Protocol, effective March 1, 2025."* Published as
**"ADRIC Arbitration Rules Effective 2025"**, alongside an **ADRIC Arbitrator
Appointment Protocol** and named forms: Notice to Arbitrate, Request to
Administer the Arbitration, Request for the appointment of an arbitrator,
Application for Urgent Interim Measures, Application to Challenge an Arbitrator,
Notice of Appeal.
**ADRIC Med-Arb Rules.** Developed by a **Task Force** — *"a Task Force was
formed with a dedicated working group of med-arb professionals. The Task Force
completed an initial draft of the Rules, which were then referred to the Rules
Committee"* — and a discussion draft was presented to the membership at
ADRIC's Annual Conference in **November 2019**. Two sentences are directly
useful to `/med-arb/`, both verbatim:
> "Med-Arb is not merely the merging of separate mediation and arbitration
> processes, but a unique process designed to meet the needs of particular
> disputants. It involves nuances and complexities that can be fine-tuned to the
> needs of the parties as a customized dispute resolution process, **which
> requires a high level of practitioner competence to do successfully**."
> "The Rules are designed to work in tandem with ADRIC's existing Mediation
> Rules and Arbitration Rules, integrating seamlessly."
**Scope, verbatim:** *"Although the Med-Arb Rules were drafted to assist in
resolving domestic **commercial** disputes, parties may want to apply them to
international or non-commercial disputes."* That matches §4's commercial scoping
without being cited for it — it is ADRIC's statement about its own rules, not
authority for what this practice offers.
ADRIC also publishes a **Med-Arb Foundational Course** (in English) and, per this
page, *"criteria for a specialized designation: the Chartered Med-Arb"*.
## Finding 3 — "Chartered Med-Arbitrator" is corroborated by a second body
`Chartered Med-Arbitrator` appears **2 times on every one of the four pages**
it is ADRIC's own navigation label, under *Designations & CEE → Professional
Designations*. So the long form §11 now carries, sourced from **ADRIO**, is
independently the form **ADRIC** uses in its nav. The body prose on the Med-Arb
Rules page uses the short *"Chartered Med-Arb"*
**once***"criteria for a specialized designation: the Chartered Med-Arb"*.
⚠️ *This read "3 occurrences" for one pass. `grep -o -F 'Chartered Med-Arb'`
does return 3, but **two of the three are substrings of the nav label
"Chartered Med-Arbitrator"** counted separately one sentence above. `grep -o
'Chartered Med-Arb(?!itrator)'` returns 1. That is `CLAUDE.md`'s "a grep that
matches is not a finding until you read what it matched", committed inside the
document whose whole purpose is sourced counts. Found by
`adversarial-reviewer`.* **Neither body writes "Mediator-Arbitrator" anywhere in this
fetch.**
## Finding 4 — what is NOT in this fetch, and must not be inferred from it
- **The rules' actual provisions.** Every page above is a *landing page*; the
rules themselves are PDFs behind download links and were **not** fetched. So
this file supports naming a rule set and describing what a document contains
at the level its own landing page describes it. It supports **no statement of
what any rule requires, permits or provides** — including anything about
consent mechanics, caucus information, or the switch from mediation to
arbitration in med-arb. Write those as this practice's own protocol, or not at
all.
- **Anything about ADR Chambers.** It is not sourced here, and as of 2026-08-30
it is named on no page: Pouya struck it from `/arbitration/` and from
`docs/01` item 3. `docs/07-fees.md` cites it only for *published fee ranges*,
which is a different claim and is internal.
- **Legal effect.** Nothing here establishes the enforceability of an award, in
Ontario or anywhere. §4 bars this repository from concluding a proposition of
law.
## Finding 5 — ADRIC superlatives deliberately NOT lifted
Same treatment as `adrio-designations.md` Finding 5. These are ADRIC's marketing
claims about itself and **must not travel onto this site**, where §4 Forbidden
bars superlatives:
- *"The ADRIC Arbitration Rules have been **the leading choice** for Canadian
businesses since 2002."*
- *"integrating **seamlessly**"* — quoted above inside a quotation, and it stays
inside one.