fix: replace the traced infinity mark with the real artwork; add §4 Offerings

Q32 — the traced mark was a WRONG SHAPE and had shipped. Pouya compared
it against the master and rejected it. Two grounds reproduce from the
path and are verified here: all four cubic branches meet the origin at
exactly 90 degrees, so the loops are tangent rather than crossing and at
stroke-width 28 render as two kissing circles (signed crossing number 0;
the strokes fuse across 61% of the mark's height at 2rem); and the
master's ink bbox is 2668x1704 = 1.5657:1. The path is deleted, not kept
as a fallback.

Pouya's 1.23:1 figure is reconciled rather than left dangling: it is the
bounding box of the path's COORDINATES, not the curve. Control points sit
at y +/-160 where the curve reaches +/-120, so the hull is 400x320 and
with stroke 428x348 = 1.2299. A trap rather than a slip — x is monotone,
so the control points give the right width and a 33% inflated height, and
the "does the width look right" check passes.

The real artwork is now in the repo: master, tight crop (the render
source, so the file's aspect ratio IS the mark's), full lockup, and the
SVG. InfinityMark renders AVIF/WebP; a Retina device takes 3,063 B.
Favicons regenerated; favicon.svg deleted.

Q33/Q36 — Pouya accepts arbitration appointments now. §4 gains an
Offerings category: competence for an offering, permission for a
credential, with an explicit boundary so it cannot become a route around
D13. The masthead tagline is restored, and the footer designation strip
now carries "Q.Arb — commenced August 2026" so §4's paired-disclosure
condition is actually met on every page rather than only asserted.

Two conventions added to CLAUDE.md, both earned this session: anything a
spec makes a claim about must be reachable from the repo (R14 — the
traced mark survived two review passes because the artwork was not here
to compare against); and a command that did not run is not evidence of
absence (`timeout` is not installed on macOS, so four Drive reads never
executed and were reported as an empty directory).

Reviews: claims-auditor FAIL/13 and adversarial-reviewer 2 blocking, all
resolved. The severe one was self-inflicted — `flex: none` landed on the
<img> while <Picture>'s <picture> wrapper is the flex item, so the logo
compressed to 28.5x32 at 1024px with seven nav items. The page-level
overflow check passed throughout because the brand block absorbed the
deficit by crushing the mark. Harness now asserts rendered aspect ratio.

Opened: Q38, Q39. Closed: Q32, Q33, Q36. Narrowed: Q35. Added: R13, R14.
AGENTS.md entry (v) carries a RESUME HERE section.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012XquaEq4BgWMCwUqLEyNkF
This commit is contained in:
Pouya Lajevardi
2026-08-26 17:30:19 -04:00
co-authored by Claude Opus 5
parent 8134709548
commit 364b09632e
20 changed files with 764 additions and 117 deletions
+92
View File
@@ -0,0 +1,92 @@
# Brand assets — provenance
The repository holds the artwork it makes claims about. That is not tidiness: it
is `CLAUDE.md`'s rule and `AGENTS.md` R14, and this file exists because the
infinity mark was reconstructed wrongly and **two adversarial review passes could
not catch it**, since the real artwork was not in the repo to compare against.
**Every measurement below is `[verified 2026-08-26]`** — computed with `sharp`
against the files in this repository, and re-derivable by anyone from the
commands given. Nothing here is quoted from an external source.
## Files
| File | What it is | Use |
|---|---|---|
| `src/assets/brand/sml-infinity-mark-master.png` | The mark as supplied: **3000 × 3000, alpha**, mark inset within the canvas | **The master.** Committed so the crop below can be re-derived and checked in-repo, not taken on trust |
| `src/assets/brand/sml-infinity-mark.png` | The same mark tight-cropped to its ink bounding box: **2668 × 1704, alpha, 1.5657:1** | **The render source.** `InfinityMark.astro` feeds it to Astro's `<Picture>` |
| `src/assets/brand/sml-logo-full.png` | Mark **plus** the "SML Company" wordmark, 3000 × 3000, alpha; ink bbox 2414 × 1440 = 1.676:1 | Not currently rendered. Held for the OG-image template (`docs/04`) and print |
| `src/assets/brand/sml-logo-source.svg` | 1500 × 1500 viewBox, **257,278 bytes** | Reference. Faithful, but not what is served — see below |
## Reproducing the crop, in-repo
The crop is derived, so it is re-derivable — and now from a file that is here,
which is the whole point of R14. Scan the master for the first and last pixel
that is neither transparent (`alpha < 24`) nor near-white (`r,g,b > 243`):
```
ink bbox of sml-infinity-mark-master.png -> 2668 x 1704 at (159, 646)
sharp(master).extract({ left: 159, top: 646, width: 2668, height: 1704 })
```
Crop to that box and the file's own aspect ratio becomes the mark's, so layout
can be tuned against the asset directly rather than against a number written
down beside it. `InfinityMark.astro` pins `aspect-ratio: 667 / 426`, which is
`2668 / 1704` reduced — **1.56573**.
## Why the SVG is held but not served
It renders **faithfully**. Rasterised at 8333 px it reproduces the master
exactly, at the same **1.566:1**. It is not bad artwork, and an earlier version
of this file implied it was; that was wrong.
What rules it out is weight and composition:
- **257,278 bytes**, against **9,468 bytes** for the AVIF a browser actually
takes at the size the mark renders. **27×.**
- **7 embedded base64 PNGs** (`<image>` elements), so it is a hybrid rather than
pure vector — inlining it would breach `CLAUDE.md`'s rule against
base64-inlining images, which is one of the specific faults of the build this
project replaces.
- 10 `<linearGradient>` carrying **1,225 `<stop>`** elements, 64 `<path>`,
59 `<clipPath>`, 23 `<mask>`, 1 `<filter>`. Expensive to rasterise.
What `AGENTS.md` Q38 asks for is a master that is faithful **and** light.
## What the browser actually downloads
`<Picture>` emits AVIF, WebP and a PNG fallback at 1× and 2× of a 320 px
intrinsic width:
| | 1× (64 px) | 2× (128 px) | 3× (192 px) |
|---|---|---|---|
| AVIF | **1,720 B** | **3,063 B** | **4,843 B** |
| WebP | 2,368 B | 5,368 B | 8,664 B |
| PNG (fallback) | 6,137 B | 16,996 B | 29,780 B |
A Retina device takes **3,063 B**. The first attempt sized the ladder at 320 px
— justified by a 4 rem sample on the proof sheet, a page step 2 deletes — and
stacked `densities` on top, so every DPR-2 device pulled a 640 px image into a
56 px slot: **20,629 B**, and the docs claimed 9 KB because that is what DPR 1
takes. Size to the largest render that survives, and quote the figure for the
devices the budget targets.
Passing an explicit `width` is load-bearing: without it Astro emits the
untouched 2668 px master as the `<img src>` fallback — **1,146,406 bytes**
which any client without AVIF or WebP support would actually download.
## The colours are the artwork's, not the palette's
`tokens.css` is not involved. The ribbon carries its own gradient and it is
close to but not identical with `--maroon` `#5a1a1c` and `--gold` `#c9a876`.
Do not "correct" the artwork toward the tokens, and do not derive tokens from
the artwork — D7 keeps the palette *and* the mark, as they are.
## Where these came from
Supplied by Pouya. `sml-logo-source.svg` was added by him directly to the repo;
the PNGs were taken from the `smlcompany.ca` Google Drive, under `SML/Designs/`
and `Research/Law/ADR Personal Branding Project/`. **The Drive copies are not the
record — these files are.** That is the point of R14: an artefact that lives only
in Drive cannot be compared against a claim by any reviewer, which is exactly how
the traced mark survived two review passes.