38 KiB
Agent Working File
This file is a living document and a full history tree for this project — not a snapshot. Any agent or person working here (Claude in chat, Claude Code, Claude Cowork, or a human) maintains it by the rules below. Everything else in this file varies by project; these rules do not.
How to maintain this file
-
Document everything. On every change, record what was discussed, decided, changed, or planned — decisions and plans included, not just executed work.
-
Never overwrite or delete history. When something changes, update the relevant Current Truth section in place and append a dated Change Log entry capturing old → new and why.
-
Two parts, kept separate: Current Truth is updated in place and always reflects the present state; the Change Log is append-only, newest entry first, and is never edited retroactively.
-
Stamp facts as
[verified YYYY-MM-DD]or[assumed]. When you re-check a fact, re-stamp it with today's date; a stale date means it needs re-verifying. -
Never prune the Change Log. If the file gets unwieldy, ask before archiving old entries to
AGENTS-history.md. History is not destroyed.
Current Truth
1. What this project is
A ground-up rebuild of adr.smlcompany.ca, the personal-brand website of the
alternative dispute resolution practice of Pouya Lajevardi. [verified 2026-08-25]
The brand's centre of gravity is the practitioner, not the firm and not
SML Company Ltd. Legal background, firm affiliation, and the operating company
are credibility signals referenced in support; they are not the subject.
[verified 2026-08-25 — source: PL_ADR_Personal_Branding_Strategy_Brief.docx]
Positioning in one sentence: a credentialed neutral who is also a working
litigator and a practising machine-learning / infrastructure engineer — a
combination that is close to absent from Canadian ADR rosters, and which is the
practice's economic moat. [verified 2026-08-25 — source: strategy brief §I, §V]
Time horizon: the strategy brief plans a 24-month compounding arc. The site
is built to be added to continuously, not shipped once. [verified 2026-08-25]
2. State of the thing being replaced
The site live at adr.smlcompany.ca as of this entry: [verified 2026-08-25]
- It is a single 2.2 MB HTML file containing an entire React application, compiled in the browser at runtime by Babel Standalone loaded from unpkg.
- React and ReactDOM are loaded as development builds from a public CDN.
- Crawlers see almost nothing. A server-side fetch of the URL returns only
SML Company,DISPUTE RESOLUTION, and the loading stringUnpacking.... Every word of real content is assembled client-side after three CDN round trips.[verified 2026-08-25 — direct fetch] - The deployed
<head>has no<meta name="viewport">, no meta description, no Open Graph or Twitter card tags, no canonical URL, and no favicon.[verified 2026-08-25] robots.txtreturns 403. There is no sitemap.[verified 2026-08-25]- The two logo PNGs are ~1 MB combined and are base64-inlined into the HTML,
so they cannot be cached separately from the page.
[verified 2026-08-25] <title>is stillSML Company · Dispute Resolution— the pre-rebrand placeholder title.[verified 2026-08-25]- There is no version control, no build step, and no test suite. The
publishing mechanism is a Python script (
rebuild-standalone.py) that inlines the JSX components into the single file.[verified 2026-08-25] - The May 2026 content brief was partially applied — the JSX components
under
components-standalone/contain the corrected Pouya-branded copy, but the document<head>and some structural defaults still carry placeholder content.[verified 2026-08-25]
Consequence, stated plainly: for a site whose entire purpose is to be found
by counsel, general counsel, and appointing bodies searching for a neutral, the
current architecture is close to a worst case. This rebuild is justified on
architecture alone, independent of any content or design opinion.
[verified 2026-08-25]
3. Locked decisions
Decided with Pouya on 2026-08-25. Each of these is settled; do not re-open one
without an explicit instruction and a Change Log entry. [verified 2026-08-25]
| # | Decision | Chosen | Rejected alternatives |
|---|---|---|---|
| D1 | Framework | Astro, static output | Next.js; patching the single-file build; hand-written HTML |
| D2 | Content scope | Full re-architecture — new IA, new pages, all copy rewritten | Copy rewrite on existing structure; audit only; technical layer only |
| D3 | Hosting & CI/CD | Git repo + Gitea Actions → existing S3 + CloudFront. Amended 2026-08-26: self-hosted Gitea, repo adr-sml. Gitea Actions uses GitHub Actions syntax, so the workflow ports nearly as is — but Gitea is not an AWS OIDC provider, so deploys authenticate with a scoped IAM user, rotated quarterly |
GitHub Actions + OIDC; Terraform/CDK IaC; Amplify; manual deploys |
| D4 | Languages | English only | Full EN/FA bilingual; EN + one Farsi page; EN with FA scaffolding |
| D5 | Page structure | Full multi-page, ~20 URLs | Lean six-page; rich home + a few deep pages |
| D6 | Primary audience | All four tiers, served by different surfaces (see §5) | Single-audience focus |
| D7 | Visual design | Keep palette and infinity mark; modernize the execution | Faithful port; strip motion only; fresh design direction |
| D8 | Fees | Full rate card published on a /fees/ page |
Ranges only; on request; gated PDF |
| D9 | Insights | Build it and launch with 3–5 drafted pieces, every word reviewed by Pouya before publication | Launch empty; no Insights section |
| D10 | Intake | Rebuilt intake form + calendar booking for the confidential intake call | Structured questionnaire; form only; email/phone only |
| D11 | Rollout | Build everything, one clean cutover. The current site stays live untouched until replaced | Patch live site first; staging subdomain; take site down |
| D12 | Agent working file | This file, maintained under the constitution above | Ad hoc notes |
| D13 | Licensure claims | The site asserts the JD only. No claim of licensure, call to the bar, or entitlement to practise law. The approved phrasing for the boutique role is "active litigation exposure" or "involvement in litigation and ADR matters" — never "practice". Pouya's direction, 2026-08-26. Explicitly interim — see Standing Reminders §12 | Stating LSO licence status; the word "practice" |
| D14 | Fee structure | Single published rate card, all mediation matters at one rate. Confirmed by Pouya 2026-08-26; figures in docs/07-fees.md. No tribunal-secretary line |
Two-tier card (recommended by Claude, declined); ranges; fees on request |
| D15 | Analytics | Privacy-first and cookieless (Plausible or Fathom). No cookie banner, nothing to consent to, one line in the privacy policy | GA4; no analytics at all |
| D16 | Naming the boutique | Never named. Referred to throughout as a Toronto litigation and ADR boutique. Pouya's decision, 2026-08-26 | Naming the firm |
4. Credential and claim register
This is the most important section in this file. Pouya is a licensed legal professional. Every public claim on this site is subject to Law Society of Ontario marketing rules, and the previous version of the site carried fabricated credentials, invented matter values, and a fictitious testimonial. That must never recur.
Governing rule
No claim reaches a public page unless it appears in the Verified column below. If a page needs a fact that is not here, stop and ask Pouya. Do not infer it, do not soften it into something defensible, and do not carry it over from the old site.
Verified — may be published
Sourced from Pouya's own strategy brief of 2026-05-26. Self-reported by the subject, which makes them reliable as to substance, but currency is not confirmed — several are on a moving credentialing track and may have advanced since May.
| Claim | Status |
|---|---|
| Pouya Lajevardi, JD, Bond University | [verified 2026-08-25 — strategy brief §I] |
DO NOT PUBLISH. Pouya directed on 2026-08-26 that licensure is left out of the site entirely; the JD is asserted, nothing further. See D13 and the Forbidden table below [verified 2026-08-26] |
|
| Director of Firm Operations, Toronto litigation and ADR boutique | [verified 2026-08-25 — strategy brief §I] |
| Active litigation practice: personal injury, construction, regulatory (POA), insurance (SABS) | [verified 2026-08-25 — strategy brief §I] |
| Q.Med designation through ADRIC / ADRIO | [verified 2026-08-25 — strategy brief §I] |
| Has completed multiple sole mediations | [verified 2026-08-25 — strategy brief §I] — count deliberately not published, see below |
| Q.Arb credentialing pathway — commenced August 2026 | [verified 2026-08-26 — Pouya]. Describe as newly commenced, never as held or nearing completion |
| C.Med-Arb stated as long-term designation goal | [verified 2026-08-25 — strategy brief §I, §IV] |
| Kompass Arbitration Certificate Program — completed | [verified 2026-08-25 — strategy brief §I] |
| Stitt Feld Handy negotiation and ADR workshop sequence — completed | [verified 2026-08-25 — strategy brief §I] |
| Practising machine-learning and DevOps / infrastructure engineer | [verified 2026-08-25 — strategy brief §I, §V] |
| Bilingual English and Farsi | [verified 2026-08-25 — strategy brief §I] |
| Iranian-Canadian; cross-cultural fluency with diaspora business communities | [verified 2026-08-25 — strategy brief §I] |
| Operator of SML Company Ltd. alongside the practice | [verified 2026-08-25 — strategy brief §I] |
| Memberships: ADRIC, ADRIO, OBA sections | [verified 2026-08-26 — Pouya]. Which OBA sections is still [assumed] — the brief names Construction & Infrastructure, ADR, and Civil Litigation |
Not current. Do not publish [verified 2026-08-26 — Pouya] |
|
Do not publish. Listing the Law Society among memberships implies licensure, which D13 bars. Excluded deliberately, not by oversight [verified 2026-08-26] |
|
| Toronto, Ontario; by appointment | [verified 2026-08-26] |
Contact: info@smlcompany.ca; no public phone number; consultations by scheduled call |
[verified 2026-08-26 — Pouya] |
LinkedIn: https://www.linkedin.com/in/pouyalajevardi/ |
[verified 2026-08-26 — Pouya] |
| The Toronto litigation and ADR boutique may be named on the site | [verified 2026-08-26 — Pouya]; the name itself is pending, see Q7 |
Forbidden — must not appear anywhere
| Never publish | Why |
|---|---|
| Any count of matters closed, hours mediated, or years in ADR practice | Practice is new. Small true numbers do not persuade a sophisticated GC and invite scrutiny. Save for one-to-one appointment proposals where context travels with the figure. [verified 2026-08-25 — content brief, "Rule of thumb on numbers"] |
| Settlement rates, resolution percentages, median time to award | No underlying data exists |
| Aggregate value resolved; any dollar figure attached to past matters | No underlying data exists |
| Named or describable past matters | Confidentiality, and none are publishable |
| Testimonials, endorsements, quotes from counterparties | None exist. The prior site's testimonial was fabricated |
| "Since 2009", "sixteen years", London / New York offices, Co. № 07452218 | Artefacts of the placeholder template. All false |
| The name "S. M. Lawrence" | Fictitious founder from the template |
| Guarantees of outcome, or superlatives ("best", "leading", "top-rated") | LSO marketing rules |
| The word "lawyer" used of Pouya; "called to the bar"; "licensed"; "my law practice"; "my litigation practice"; any post-nominal implying a licence | D13. The site asserts the JD and nothing further |
| Any phrasing that implies entitlement to practise law without saying so — "acts for clients", "represents parties", "my clients", "legal advice" | Same rule. Implication is the risk, not just the word. Describe the role factually instead: Director of Firm Operations at a Toronto litigation and ADR boutique, and the matter types worked on |
| Q.Arb described as held, imminent, or "nearly complete" | It commenced August 2026 |
The substitution principle
Wherever the design wants a "how much / how many" statistic, substitute a
longer-arc credential — something already substantial and true at launch that
does not grow by closing files. The approved stat set is Q.Med /
JD + ML / EN · FA, with Q.Arb as a fourth slot where one exists.
[verified 2026-08-25 — content brief]
5. Audience model
All four tiers matter, but they are served by different surfaces rather than by
diluting every page into a compromise. [verified 2026-08-25 — decision D6]
| Tier | Reads | Wants | Primary surface |
|---|---|---|---|
| In-house / general counsel | Home, practice pages | Credentials, subject-matter fluency, procedure, predictable cost | Home + /practice/* |
| Referring lawyers and litigation boutiques | Practice pages, fees, process | Availability, rules familiarity, rate card, confidence you won't embarrass them | /fees/, /process/, /mediation/ |
| Appointing bodies and ADR institutions | About, credentials | A verifiable credential record and evidence of depth | /about/ |
| Self-represented parties and SMEs | Plain-language layer | What mediation actually is, what it costs, what happens | /for-parties/ |
Realistically, referring counsel are the largest source of early
appointments. Where two audiences conflict on a page, resolve toward counsel.
[assumed]
6. Architecture
Full sitemap, URL map, and per-page content outline: docs/01-architecture.md.
Summary: ~20 static pages. Home; About; three process pages (Mediation, Arbitration, Med-Arb); six practice-area pages; Process; Fees; For Parties; Insights index and articles; Contact; Privacy; Terms.
Deliberate omission: there is no Indigenous engagement / IBA practice page at
launch, though the strategy brief rates that niche as strategically the most
valuable. Publishing a practice page for it before the multi-year relationship
work described in brief §III.4 has been done would read as overreach to exactly
the audience it targets. Revisit at month 12–18. [verified 2026-08-25 — decision recorded here, not yet discussed with Pouya]
7. Environment and stack
| Thing | Value |
|---|---|
| Framework | Astro, output: 'static' [verified 2026-08-25 — D1] |
| Node | 22 LTS, pinned in .nvmrc [assumed] |
| Styling | Plain CSS with custom properties. No Tailwind, no CSS-in-JS [verified 2026-08-25] |
| Client JS | Astro islands only, where genuinely needed. Target: most pages ship zero JS [verified 2026-08-25] |
| Content | Astro content collections, MDX for Insights [verified 2026-08-25] |
| Fonts | Instrument Serif + Geist + Geist Mono, self-hosted, font-display: swap [verified 2026-08-25] |
| AWS account | 327082975128 [verified 2026-08-26 — inventory] |
| Region | ca-central-1 throughout — hosting, Lambda, DynamoDB [verified 2026-08-26] |
| S3 bucket | adr-smlcompany-site — versioning Enabled, so rollback works [verified 2026-08-26] |
| CloudFront | E1OK7G98KNKUTA, alias adr.smlcompany.ca, origin adr-smlcompany-site.s3.ca-central-1.amazonaws.com, Deployed [verified 2026-08-26] |
| ACM certificate | arn:aws:acm:us-east-1:327082975128:certificate/2b6d5bdf-6790-430c-9b82-c00ab66e6d87 — ISSUED [verified 2026-08-26] |
| Intake API | adr-intake-api, HTTP API 4tl0m5igkj, endpoint https://4tl0m5igkj.execute-api.ca-central-1.amazonaws.com [verified 2026-08-26] |
| Intake Lambda | adr-intake-handler, nodejs24.x [verified 2026-08-26] |
| Intake table | adr-intake-submissions (DynamoDB, ca-central-1) [verified 2026-08-26] |
| SES identities | Domain smlcompany.ca; addresses info@, intake@, adr@. Sending status unconfirmed — Q18/Q19 [verified 2026-08-26] |
| TLS | ACM certificate [verified 2026-08-25 — AWS-Hosting-Guide.md] |
| DNS | Namecheap, not Route 53 [verified 2026-08-25 — AWS-Hosting-Guide.md] |
| Intake backend | API Gateway (HTTP API) → Lambda → DynamoDB, notifications via SES [verified 2026-08-25 — AWS-Hosting-Guide.md] |
| Repository | adr-sml, self-hosted Gitea. Local clone at /Users/pouya/Dev/Websites/adr-sml [verified 2026-08-26] |
| CI/CD | Gitea Actions, .gitea/workflows/deploy.yml. .github/workflows/deploy.yml kept as the OIDC reference in case the repo ever moves. Credentials: scoped IAM user in Gitea secrets — no OIDC available [verified 2026-08-26 — D3 as amended] |
| Analytics | Plausible or Fathom — cookieless, no personal data, no consent banner, EU-hosted [verified 2026-08-26 — D15] |
8. Design system
Full token set, type scale, motion rules, and contrast results:
docs/02-design-system.md.
Palette and infinity mark carry over unchanged. Execution is modernized:
fluid type scale, self-hosted fonts, an 8 px spacing scale, motion gated behind
prefers-reduced-motion, and one hard accessibility constraint discovered by
measurement:
Gold
#c9a876on cream#faf7f2measures 2.10:1 contrast. That fails WCAG AA for body text (4.5:1) and for large text (3:1). Gold is a decorative and on-dark colour only. On maroon it measures 5.84:1 and on ink 8.00:1, both of which pass.[verified 2026-08-25 — computed]
9. Open questions — blocking
Nothing below can be invented. Each needs an answer from Pouya.
| # | Question | Blocks |
|---|---|---|
| ANSWERED 2026-08-26. Licensure is left out entirely; the site asserts the JD only. See D13 | — | |
| ANSWERED 2026-08-26. Q.Arb commenced August 2026 | — | |
ANSWERED 2026-08-26. Email info@smlcompany.ca. No public phone — "By scheduled call". Location: Toronto · Ontario · By appointment |
— | |
ANSWERED 2026-08-26. Rate card confirmed by Pouya — see D14 and docs/07-fees.md |
— | |
| ANSWERED 2026-08-26. Self-hosted Gitea with Gitea Actions | — | |
| ANSWERED 2026-08-26. Non-mediation hourly $500. Prep bundled: 2 h in the half day, 3 h in the full day, stated on the page. Overtime $500/h | — | |
| Q5 | Booking tool — parked 2026-08-26 at Pouya's request. Build /contact/ with the form only and a clean slot for the embed. Now tracked as standing reminder R6 |
/contact/ — non-blocking |
ANSWERED 2026-08-26. Supplied and committed: src/assets/pouya-lajevardi.jpg (1600×1600 master) and src/assets/og-portrait.jpg (1200×630 link-preview crop) |
— | |
| ANSWERED 2026-08-26. Pouya reverted to generic. The boutique is never named; refer to it as a Toronto litigation and ADR boutique throughout | — | |
| ANSWERED 2026-08-26. ADRIC, ADRIO, OBA sections. Not OCNI. Not LSO (see §4) | — | |
ANSWERED 2026-08-26. Gitea, repo adr-sml, clone at /Users/pouya/Dev/Websites/adr-sml |
— | |
| ANSWERED 2026-08-26. Full inventory captured; values in §7 | — | |
| Q18 | Are the SES identities actually verified for sending? list-email-identities returned VerifiedForSendingStatus: None for all six. If they are unverified, no intake email sends |
Intake confirmation and notification email |
| Q19 | Is the SES account still in the sandbox? In sandbox, mail only reaches pre-verified addresses — the confirmation email to an inquirer would silently fail | /contact/ going live |
| ANSWERED 2026-08-26. Privacy-first, cookieless — Plausible or Fathom. No GA4, no consent banner | — | |
ANSWERED 2026-08-26. https://www.linkedin.com/in/pouyalajevardi/ |
— |
10. Risks
| Risk | Severity | Mitigation |
|---|---|---|
| A fabricated or unverifiable claim reaches a public page | High — professional-conduct exposure for a licensed practitioner | §4 register; every claim traced to a source before it ships |
| Copy silently carried over from the placeholder template | High | Nothing is ported verbatim. All copy written fresh against docs/03-content-spec.md |
| Insights section launches and then goes stale | Medium | D9 commits to 3–5 pieces at launch and a monthly cadence. A dead blog is worse than no blog |
| Personal data in the intake pipeline without a retention policy | Medium — PIPEDA | docs/05-backend-spec.md sets retention, and /legal/privacy/ states it |
| Cutover breaks the live site (D11 is a single-shot deploy) | Medium | Full pre-cutover checklist in docs/06-deployment.md; CloudFront can be rolled back to the prior origin path |
| Twenty pages of thin copy rank worse than six good ones | Medium | Each page must justify itself with substantive content. Ship fewer pages rather than padded ones |
Deploy-credential blast radius. AWS account 327082975128 is not a single-project account. It also holds meshkinilaw.ca and its preview site, demesne.media, orynenergy.ca, lajirugs.ca, and mlp-clientdb-prod-backups — which by its name is a law firm's production client-database backups |
High | A static deploy key for a personal website must never be able to reach a client database. The scoped IAM policy in docs/06-deployment.md grants four actions on one bucket and one distribution and nothing else — that narrowness is now load-bearing, not hygiene. Never widen it. Never reuse the user/pouya credentials in CI [verified 2026-08-26 — inventory] |
| SES not verified or still sandboxed | Medium | Q18/Q19. A silently undelivered confirmation email looks to the inquirer like being ignored |
11. Glossary
| Term | Meaning |
|---|---|
| ADR | Alternative dispute resolution |
| ADRIC | ADR Institute of Canada — national credentialing body |
| ADRIO | ADR Institute of Ontario — provincial affiliate |
| Q.Med | Qualified Mediator — ADRIC/ADRIO designation |
| Q.Arb | Qualified Arbitrator — ADRIC/ADRIO designation |
| C.Med-Arb | Chartered Mediator-Arbitrator — senior hybrid designation; the long-term goal |
| Med-Arb | Hybrid process: mediation that converts to binding arbitration if unresolved |
| SABS | Statutory Accident Benefits Schedule — Ontario auto insurance benefits |
| LAT | Licence Appeal Tribunal — hears Ontario SABS disputes |
| POA | Provincial Offences Act |
| ENE | Early neutral evaluation |
| LSO | Law Society of Ontario |
| OBA | Ontario Bar Association |
| IESO | Independent Electricity System Operator |
| OEB | Ontario Energy Board |
| SMR | Small modular reactor |
| PIPEDA | Personal Information Protection and Electronic Documents Act |
12. Standing reminders
Surface these to Pouya at the start of any substantial session. They are open questions he has deliberately parked, not settled matters. The point of this section is that a parked decision does not quietly become permanent by never being raised again.
| # | Reminder | Raised | Why it must keep coming back |
|---|---|---|---|
| R1 | Licensure. The site currently asserts the JD only and describes the boutique role as active litigation exposure, never practice. Pouya flagged this as an interim position and asked to be reminded to change it | 2026-08-26 | If he is licensed and in good standing, it is the first credential appointing bodies and opposing counsel look for, and its absence from a detailed credentials page is conspicuous. If licensure is in progress, the copy should be rewritten the moment it completes. Either way this is a temporary framing that will otherwise ossify |
| R2 | Matter counts stay off the site until they are independently credible. Revisit once there is a number a sophisticated GC would find persuasive on its own | 2026-08-26 | §4 forbids them now. That rule has an expiry date nobody has set |
| R3 | Indigenous engagement practice page. Deliberately omitted at launch (§6). Revisit at month 12–18 | 2026-08-26 | The strategy brief rates it the most valuable single niche. Omission is a timing call, not a permanent one |
| R4 | Insights cadence. D9 commits to monthly. A blog that stops is worse than one that never started | 2026-08-26 | The section's whole value is compounding |
| R5 | Fee review at 12 months. Published rates are sticky; the right moment to move them is deliberate, not reactive | 2026-08-26 | D14 is priced for where the practice is going, not where it is |
| R6 | Booking tool. Parked by Pouya on 2026-08-26; /contact/ ships with the intake form and a reserved slot for an embed |
2026-08-26 | He asked to be reminded. D10 committed to booking because it removes the back-and-forth that loses appointments — the form alone is a partial answer |
Change Log
2026-08-26 (e) — AWS inventory captured; Q10 closed; blast-radius risk logged
Who: Pouya ran scripts/aws-discover.sh. Claude recording.
Q10 closed. All identifiers in §7. Bucket adr-smlcompany-site,
distribution E1OK7G98KNKUTA, region ca-central-1, intake API
4tl0m5igkj. Certificate ISSUED. S3 versioning is already Enabled, so the
rollback path in docs/06-deployment.md works as written — no change needed.
Data residency confirmed. Hosting, Lambda, and DynamoDB are all in
ca-central-1. docs/05-backend-spec.md treated Canadian residency as a
selling point conditional on the table's region; it is now a verified fact and
/legal/privacy/ can state it plainly.
New risk logged — deploy-credential blast radius. The inventory shows this is
a shared account across at least five unrelated properties, including
mlp-clientdb-prod-backups-327082975128. A Gitea runner holding a static AWS key
for this site sits in the same account as a law firm's client-database backups.
Nothing about the plan changes — the scoped IAM policy was already correct — but
its narrowness is now load-bearing rather than good practice, and that is
recorded so nobody widens it later for convenience.
Q18 and Q19 opened — SES. list-email-identities returned
VerifiedForSendingStatus: None for all six identities, and sandbox status was
not checked. Either condition means the intake confirmation email silently fails.
This is the failure mode where the site appears to work and inquirers think they
have been ignored, so it is on the cutover checklist, not the nice-to-have list.
Closed: Q10. Opened: Q18, Q19.
2026-08-26 (d) — Memberships, analytics, prep time, firm naming; one blocker left
Who: Pouya. Claude recording.
Q16 closed — preparation time is bundled and stated. 2 h in the half day,
3 h in the full day, printed on /fees/. The carried-forward assumption is now a
decision. At $4,000 a day counsel will assume preparation happened; saying so
converts the assumption into a selling point and forecloses an argument about
what the fee covered.
Q15 and Q17 closed. Non-mediation hourly (ENE, settlement counsel, dispute-system design, technical advisory) and mediation overtime both $500/h, matching the arbitration rate.
Q8 closed — memberships. Old → new: five [assumed] bodies from the strategy
brief → ADRIC, ADRIO, and OBA sections, verified. OCNI is not current and
must not be published; the brief listed it as aspirational positioning for the
nuclear niche, which is a different thing from a membership.
- LSO was deliberately not offered as an option and is not published. Listing the Law Society in a credentials block implies licensure, which D13 bars. Worth recording explicitly so a later reader does not "helpfully" add it back.
- Which OBA sections remains
[assumed]— the brief names Construction & Infrastructure, ADR, and Civil Litigation. Low stakes; confirm in passing.
D15 — analytics (new decision). Old → new: unchosen → privacy-first and cookieless, Plausible or Fathom. No GA4, no consent banner, no personal data leaving the site, one honest line in the privacy policy. Consistent with a practice whose privacy posture is part of its offer, on a site where visitors are often describing live disputes.
D16 — the boutique is never named (new decision). Old → new: "may be named, name pending" → generic throughout: a Toronto litigation and ADR boutique. Pouya reversed his earlier answer. Trade-off, recorded for the record: naming a recognisable firm is a meaningful credibility signal to appointing bodies, and the generic phrasing gives that up in exchange for zero coordination cost and no dependency on anyone else's sign-off. Do not infer the name from his email domain or from anything else.
Closed: Q7, Q8, Q11, Q15, Q16, Q17. Opened: none.
Q10 is now the only blocker. Everything else needed to build is answered.
R6 (booking) stays parked by choice and does not block /contact/.
2026-08-26 (c) — Contact, headshot, LinkedIn; booking parked
Who: Pouya. Claude recording.
Closed. Q3 — contact is info@smlcompany.ca, no public phone, consultations
by scheduled call. Q6 — headshot supplied; committed as
src/assets/pouya-lajevardi.jpg (1600×1600 master, for Astro to derive AVIF and
WebP from at build) and src/assets/og-portrait.jpg (1200×630, cropped high so
the face is not centred under the fold of a link preview). Q12 — LinkedIn URL,
which now feeds sameAs in the Person JSON-LD.
Q5 parked, not closed. Old → new: "choose a booking tool" → deferred at
Pouya's request; /contact/ ships with the intake form and a reserved slot for
an embed, so adding one later is a drop-in rather than a rebuild. He asked to be
reminded, so it is now R6 in §12 rather than a question that quietly expires.
Worth restating when it comes back up: D10 chose booking because it removes the
scheduling back-and-forth that loses appointments, and the form alone only
half-solves that.
Q7 partially answered. The boutique may be named. The name itself was not
given. His email domain (meshkinilaw.ca) points to Meshkini Law, but an
inferred firm name is exactly the kind of thing §4 exists to stop — asked for
confirmation rather than published.
2026-08-26 (b) — Fees confirmed; Gitea; licensure wording; standing reminders
Who: Pouya, answering the second round. Claude recording.
D14 closed — rate card confirmed, and it is not what was recommended.
- Old → new: two-tier card (Tier A insurance/SABS at $1,800/day, Tier B commercial at $3,200/day) → one rate for all mediation matters: $2,000 half day, $4,000 full day, $500 per party beyond two. Arbitration $500/h, hearing day $4,000, documents-only flat $6,500 simple / $9,500 complex. Tribunal- secretary line removed. Cancellation terms adopted as recommended.
- Why: Pouya's decision.
- Recorded dissent, for the 12-month review (R5). A single premium rate puts the insurance / SABS / LAT segment out of reach — the published market there runs roughly $800–$1,200 a day, and $4,000 is three to five times it. That is the segment the strategy brief (§IV.7) identifies as the highest realistic near-term volume, flowing directly from the firm's existing accident-benefits work. The trade is deliberate if it is deliberate: a premium specialist position that forgoes volume. It is a mistake if the volume was being counted on. Flagged once, implemented as directed.
- Three parameters were not specified and are carried forward as assumptions, logged as Q15–Q17: non-mediation hourly ($500), bundled prep hours (2 h half day / 3 h full day), mediation overtime ($500/h).
D13 refined — approved wording for the boutique role.
- Old → new: "describe the role factually" → the specific approved phrases are "active litigation exposure" and "involvement in litigation and ADR matters". The word "practice" is barred in that context.
- Pouya asked to be continuously reminded that this is interim. That request is now structural rather than a note — see the new §12.
New §12, Standing Reminders. Five items (R1–R5) that any agent must surface at the start of a substantial session. Added because a parked decision otherwise becomes permanent by never being raised again — and R1 is Pouya's explicit instruction to keep raising it.
D3 amended again — Gitea.
- Old → new: "private git server, software unknown" → self-hosted Gitea with
Gitea Actions, clone at
/Users/pouya/Dev/Websites/adr-sml. - Consequence: Gitea Actions uses GitHub Actions syntax, so the workflow ports
almost unchanged into
.gitea/workflows/deploy.yml. But Gitea is not an AWS OIDC provider, so the OIDC role assumption is replaced by a scoped IAM user whose key lives only in Gitea's secret store. The IAM policy stays exactly as narrow. Quarterly rotation is now an operational obligation that OIDC would have made unnecessary — noted indocs/06-deployment.md.
Closed: Q4, Q9, Q13, Q14. Opened: Q15, Q16, Q17. Still open: Q3, Q5, Q6, Q7, Q8, Q10, Q11, Q12, Q15, Q16, Q17.
2026-08-26 (a) — Licensure decision; Q.Arb dated; git host changed; fees researched
Who: Pouya, answering the blocking questions from §9. Claude recording.
Date correction. The entry below is stamped 2026-08-25. The correct date of
that work was 2026-08-26 — the session clock was a day behind. Per rule 3 the
entry is left as written rather than edited; this note is the correction. Facts
touched today are re-stamped [verified 2026-08-26].
D13 — licensure left out of the site (new decision).
- Old → new: "confirm LSO licence status before launch" → the site asserts the JD and makes no licensure claim at all.
- Why: Pouya's direction.
- Consequence, and it is not small. The strategy brief describes an "active litigation practice in personal injury, construction, regulatory (POA), and insurance (SABS) matters." Copy written that way would imply entitlement to practise law without stating it — which is the risk the decision is meant to avoid, restated in different words. So the Forbidden table now bars implication as well as assertion, and the About page describes the role factually: Director of Firm Operations at a Toronto litigation and ADR boutique, plus the matter types worked on. Flagged back to Pouya: if he is in fact licensed and in good standing, that is a material credential for exactly the audience this site targets, and omitting it costs more than it protects.
Q.Arb dated. Old → new: [assumed], stage unknown → commenced August
2026 [verified 2026-08-26]. Describe as newly commenced. Not as held, not as
nearing completion.
D3 amended — the repository is not on GitHub.
- Old → new: "git repo + GitHub Actions" → repo
adr-smlon a private git server; the GitHub Actions workflow in.github/workflows/is retained as a working reference implementation, to be translated once the server software is known (Q13). - Why: Pouya is running his own git server.
- Knock-on: GitHub's OIDC provider is unavailable. GitLab CE can federate to AWS by OIDC; Gitea/Forgejo and bare git cannot, so those need a scoped IAM user with rotated keys, or deploys run from Pouya's machine. The choice is real and waits on Q13.
D14 — fee structure recommended (new decision, pending sign-off). Market research completed against the Ontario mandatory-mediation tariff, ADR Chambers published ranges, and four published Ontario practitioner rate cards. A two-tier structure is recommended so the price-sensitive SABS/LAT volume work does not anchor the commercial rate. Figures are in the response to Pouya and are not written into any page until he signs off (Q14).
Still open: Q3, Q5, Q6, Q7, Q8, Q10, Q11, Q12, Q13, Q14.
2026-08-25 — Project initiated; architecture decided; repo bundle authored
Who: Pouya Lajevardi with Claude (Cowork session), acting as architects. Claude Code to implement.
What was discussed. Pouya asked for a modernization of adr.smlcompany.ca
going beyond appearance — content and codebase included — with Claude Code doing
the implementation and deploying to AWS.
What was found. An audit of the live site and the local sources established the facts in Current Truth §2. The headline finding: the site is a browser- compiled single-file React bundle that serves crawlers three words of content. For a personal-brand site whose function is discoverability, this is the dominant problem, ahead of any question of looks or copy.
What was decided. Twelve decisions, D1–D12, recorded in §3. In summary: an Astro static rebuild, full content re-architecture, ~20 pages, English only, git + GitHub Actions onto the existing S3/CloudFront, palette and infinity mark retained with a modernized execution, a published rate card, an Insights section launching with drafted content, a rebuilt intake form plus booking, and a single clean cutover.
- Old → new (framework): browser-compiled React single file → Astro static site
- Old → new (publishing): manual
rebuild-standalone.py+ console upload → git + GitHub Actions with OIDC - Old → new (structure): one scrolling page → ~20 pre-rendered pages
- Old → new (content): partially-corrected placeholder template → written fresh against a claim register
- Old → new (record-keeping): none → this file, under the AGENTS constitution
Why. Discoverability is the practice's growth constraint and the current architecture forecloses it. Every other decision follows from fixing that, with the content decisions following from the strategy brief of 2026-05-26.
Also decided, not yet discussed with Pouya: no Indigenous engagement practice page at launch (§6), on the reasoning recorded there. Flag this to him.
Planned, not yet done. Astro implementation; all page copy; 3–5 Insights drafts; intake backend rework; CI/CD wiring; pre-cutover audit. Twelve blocking questions are open in §9 — several pages cannot be written until they are answered.