# Changelog — brand/

The identity and design language: mark, lockups, tokens, type, brand guide,
asset pack, gallery + motion lab. Newest first; full detail in
`git log -- brand/`.

## 2026-08-04 — register pass on the starter field; Biga leads (naming v0.14)
- EC asked for an actual **trademark register check** on the baking names
  rather than web signals — the right call, since web signals are exactly
  what got **Weft** wrong. `BRIEF.name-alternatives.md` (v0.14) gains a
  "Register pass" subsection with the records found.
- **Biga: three US records, all dead** — Class 25 footwear (Reg. 1114542,
  cancelled §8), Class 28 games (Ser. 87829284, abandoned 2019),
  restaurant services (Ser. 75773999, abandoned 2002). No live mark;
  **Classes 9 and 42 never touched.** The cleanest register position found
  anywhere in this exploration.
- **Levain: crowded, but entirely in food/retail classes** — LEVAIN
  BAKERY (Ser. 90772217), LEVAIN (Ser. 98689185), LEVAIN OATMEAL RAISIN
  (Reg. 6420151), LEVAIN COOKIE, LEVAIN BREAD CO., all Class 30 and/or
  35; SAF LEVAIN cancelled 2007. **Plus CIPO 2366445 — CPST Intellectual
  Property Inc, US priority Aug 2024, under examination** — an actively
  growing *Canadian* filing, which matters for an Ontario entity.
- **Poolish**: no records surfaced. **Sourdough**: nothing in the software
  classes; generic for bread, which is precisely what makes it arbitrary
  for software.
- **Structural finding:** these words are generic *inside* baking, so
  nobody can own them there (note the bakery marks are all compounds or
  stylised — LEVAIN BAKERY, LEVAIN COOKIE). Applied to context
  infrastructure they become **arbitrary marks**, the strongest
  registrable tier per the brief's own obtuse-lane section. The field is
  favourably structured, not just accidentally empty.
- **On trademark grounds the ranking inverts: Biga leads, Levain trails.**
  Levain still wins on phonaesthetics — the same warmth-versus-sober
  tension, now inside one field.
- **Methodology stated plainly:** public/indexed records only. Justia's
  search endpoint and CIPO's record pages both returned HTTP 403 to
  automated access, so this is not a systematic class sweep and **not a
  clearance search**. Pending-but-unindexed filings, common-law use, and
  non-US/CA registers are uncovered. Counsel + a paid database still
  gate any spend.
- `naming-map.html` / `naming-survivors.html` — Levain and Biga stories
  corrected; the survivors tier-three row now leads with Biga.

## 2026-08-04 — the starter field opens; criterion 7 added (naming v0.13)
- `BRIEF.name-alternatives.md` (v0.13) — EC proposed **sugar / flour**
  ("elementals to baking something"). **Sugar closes**: SugarCRM rebranded
  to **SugarAI** in April 2026, planting an established mark directly in
  AI. **Flour** fails on metaphor before collisions matter. But the field
  splits exactly as the fire field did: ingredients are *consumed*, while
  **the preferment** — a portion held back, fed, and carried into the next
  bake so nothing starts from nothing — is precisely the product.
- **Levain, Poolish, and Biga all return nothing in tech** — the most open
  field since the loom, because the vocabulary is craft-specific enough
  that software hasn't colonised it. **Leaven ◐** (Leaven Foods, an
  "Instant Sourdough platform", 100+ customers — different vertical, live
  company inside the exact metaphor). **Sourdough**, logged in v0.6 as
  "exactly the product" then shelved as too whimsical, is unshelved: that
  was a taste call made before the warmth thesis existed.
- **New framework criterion 7 — "does the object survive the handoff?"**
  Two EC proposals in a row landed on the right field and the wrong half:
  opal's play-of-colour fire vs the carried ember; sugar and flour vs the
  starter. Both splits are the same one — consumed versus passed on — and
  a metaphor whose object is used up is an anti-metaphor for a custody
  brand no matter how clean its registry search is.
- `naming-map.html` — new "The starter" field (Levain/Biga/Poolish open,
  Leaven neighbours, Sugar/Flour closed); Sourdough moved out of Carrier
  creatures and restatused open.
- `naming-fence.html` — Sugar and Flour added (34 names / 12 fields).
- `naming-survivors.html` — headline was hardcoded to "Five names left
  standing" and is now stale-proof; **tier three added** for the
  single-pass starter names, kept explicitly below the twice-verified
  three; attrition strip recounted (34 closed / 22 neighbours-unchecked /
  9 standing).

## 2026-08-04 — Code input demo accepts the real mint length
- `relay-brand-guide.html` — the live "Enter a relay Code" input carried
  `maxlength="6"` and an `ABC123` placeholder, so a current 10-character Code
  pasted into the demo was silently truncated (the same defect that blocked the
  server-side mint bump on mobile). Now `maxlength="16"`, tracking
  `@relay/shared` `CODE_MAX_LENGTH` rather than the mint length, with a comment
  saying why. `brand-guide.html`'s "Six characters carry the whole product."
  headline is **not** changed here — that is a positioning line and needs an EC call.

## 2026-07-31 — Opal checked; the carried-fire cluster opens (naming v0.12)
- `BRIEF.name-alternatives.md` (v0.12) — EC proposed **Opal** ("I love the
  fire"). Closed fatally: **Google Opal**, the Labs AI mini-app builder,
  now folded into Gemini and live in 160+ countries. But the proposal
  opens a new cluster and a distinction worth keeping: opal's
  *play-of-colour* fire is an **anti-metaphor** for a custody brand (the
  display changes with the viewer's angle; Relay's promise is that it
  doesn't) — plus opals craze when dry and carry a bad-luck superstition,
  Anchor-class baggage. The *carried* fire is the opposite: the ember
  taken to light the next hearth, the fire banked under ash overnight so
  nobody relights from zero. One of the closest metaphor matches in the
  whole exercise, never previously scouted.
- Field checked: **Ember ✕** (four+ live AI-agent products, one shipping
  an MCP server, plus Ember.js mindshare), **Hearth ✕** (hearth.ai
  "relational intelligence" + gethearth.com's $1M-ARR AI receptionist),
  **Vesta ◐** (fintech AI agents — but the Vestal-flame story is the
  field's best), **Asterism ◐** (IT-services companies; noted because
  asterism double-hits the drawn-line field where Constellation was
  fatal), **Chatoyance ○** (open and unusable — nobody spells it),
  **Girasol ○?** (an opal variety, open on a first pass — the field's one
  live outlier).
- Verdict mirrors the drawn-line field: **brand-language and narrative,
  not a naming lane.** Banking a fire = a session handoff as domestic
  ritual (*curfew* ← *couvre-feu*, "cover the fire"); the Vestal flame =
  custody by unbroken succession, narrative material next to Symbolon.
  Three positioning lines added to the working set.
- `naming-map.html` — new "The carried fire" field plotted (Opal, Ember,
  Hearth closed; Girasol as unchecked riff).
- `naming-fence.html` — Opal, Ember, Hearth added (32 names / 11 fields).

## 2026-07-31 — full-field sweep + Still Standing survivors board (naming v0.10–v0.11)
- `BRIEF.name-alternatives.md` (v0.10) — **Passit** (EC proposal) checked:
  open with real cautions, not closed. No AI-agent-tooling collision, but
  passit.io (open-source zero-knowledge password manager) shares the
  custody/trust mental model and passit.ca holds a registered ® in
  another class. Filed under Cluster B (evolve-the-verb lane); counsel
  tier alongside Ferry. Register note: "Passit" must coexist with the
  live "Relay It" button.
- `BRIEF.name-alternatives.md` (v0.11) — sweep of the remaining
  unchecked/verify-tier names: **Packet closes** (packet.ai GPU cloud for
  AI devs + PacketAI observability), **Retriever closes** (Retriever AI —
  a live browser-operating agent, SF 2025 — plus a funded Korean
  compliance-AI namesake), **Understudy closes** (understudy-ai: a live
  open-source computer-operating agent, "An understudy watches. Then
  performs.", plus three more live Understudy products). **Segno
  downgrades to neighbors** (heuer/segno, the widely-used Python QR-code
  library — a code-generating neighbor, fittingly), **Symbolon downgrades
  to neighbors** (Symbolon AG, AI-supported coaching; feature-name lane
  unaffected). **Attacca, Selvedge, Changeover re-verified clean.**
- `naming-survivors.html` — **new page, the mirror of The Fence**: the
  five survivors (tier one: Attacca / Selvedge / Changeover, checked
  clean twice; tier two: Ferry / Passit, counsel tier), each as a full
  specimen row with holds-because / still-carries / next-gate meta; an
  attrition strip telling the exploration in dots (60 checked · 5
  standing); the three lanes open regardless (feature names, coined,
  compounds). Card on the brand index; clean URL `/brand/survivors`.
- `naming-map.html` — seven nodes restatused (Packet/Retriever/Understudy
  → closed, Segno/Symbolon → neighbors, Attacca/Selvedge/Changeover
  annotated as survivors); date stamps refreshed; thumb menu gains Still
  Standing + The Fence links (height retuned); brief chip → v0.11.
- `naming-fence.html` — Packet, Retriever, Understudy added (29 names,
  10 fields now, incl. new Carrier creatures group).
- `naming-specimens.html` — Understudy removed from the riff wall
  (closed); Symbolon repilled to Neighbors with the feature-lane note.

## 2026-07-30 — Weft, Portage, Belay, Strand close: only Ferry survives (naming v0.9)
- `BRIEF.name-alternatives.md` (v0.9) — **letsweft.com**, surfaced by EC,
  is a live, priced, MCP-native AI Scrumban task manager built specifically
  for Claude Code/Cursor/Codex users — same buyer, same protocol, same
  category as Relay. This closes **Weft**, which had led EC's priority
  five since the 2026-07-24 pass; the July 24 finding ("no dominant mark
  in AI/agent tooling") was wrong, not stale — a closer look found what
  the first web pass missed. A follow-up pass on everything still standing
  found more: **Strand** closes (AWS's Strands Agents SDK — 16.7M
  downloads/mo, production at Smartsheet/Swisscom/Jit, Anthropic a listed
  contributor); **Portage** worsens to closed (portage.ai, portage.so —
  two live AI product companies — on top of the Canadian crowding already
  on record); **Belay** worsens to closed (belay.ai, a live AI
  climbing-analytics startup, makes four distinct "Belay" tech entities).
  Net effect: of EC's original five (Weft · Portage · Belay · Ferry ·
  Seurat), **only Ferry is still standing**, and only in the
  counsel-dependent tier it started in. **Selvedge** is now the sole open
  piece across the loom + drawn-line families.
- `naming-map.html` — Weft, Portage, Belay, and Strand all re-flagged from
  EC-priority/open to closed, stories updated with each finding.
- `naming-fence.html` — Weft, Portage, Belay, and Strand added to the
  ledger (now 26 names across 9 fields), all flagged fresh.
- `naming-specimens.html` — Weft, Portage, Belay, and Strand removed from
  the riff wall — the page's own rule is that closed names aren't set as
  wordmarks. (Seurat's presence there, closed since 2026-07-24, was a
  pre-existing drift — fixed in passing.)

## 2026-07-30 — Needle/Tooly/Trust/Transparency checked; The Fence (naming v0.7)
- `BRIEF.name-alternatives.md` (v0.7) — four EC proposals checked and closed:
  **Needle** (needle.ai's own tagline is "Knowledge Threading Platform" —
  reinforces the drawn-line field's brand-language-not-naming-lane verdict),
  **Tooly** (generic/descriptive, not suggestive — closes on genericness +
  the diminutive-lane guidance, not a single dominant collision), and the
  bare words **Trust** and **Transparency** (closes Cluster E harder —
  Cyera's $12B "trust layer" positioning, Transparency International's
  brand equity).
- `naming-map.html` — added Needle to The loom, and Tooly/Trust/Transparency
  to Trust words & proposals.
- `naming-exploration.html` — Position 06 (the trust field) dq-grid grows
  from 6 to 8 entries; pull-quote updated to note the bare-word check.
- `naming-fence.html` — **new page.** The companion ledger to the specimens
  board: every closed name across the whole exploration (22 across 7
  fields), struck through with its one-line reason, grouped by metaphor
  field, with a "freshly fenced this pass" strip up top. Card added to the
  Naming Exploration section; clean URL `/brand/fence`.

## 2026-07-29 — pre-existing drift fixed by the new index-card CI check
- `scripts/check_index_cards.py` (see concepts/CHANGELOG.md) found four
  archived-version files that existed on disk but were never referenced
  anywhere: `identity-options-v35pre.html`, `brand-guide.html` (the
  pre-rename predecessor to `relay-brand-guide.html`), `type-specimen-v33.html`,
  `font-options-v34.html`, plus `concepts/app-components-v34.html` (carded
  here since its current version already is). All five added as archived
  cards next to their current versions.

## 2026-07-29 — Poster Studio, Playground, and PNG asset pack ported from frozen `prototype`
- New: `poster-studio.html` (12 headline riffs × 5 lenses × 3 formats, minted
  Code per deal, SVG download) and `playground.html` (live identity component
  playground against `relay-tokens-v35.css`) — both from relay FMZRNG.
- New: `brand/assets/png/*` — the 12 committed PNG exports of the lockup/
  mark/avatar/social-og assets (pack v3.5.0); `main` previously only carried
  the SVG sources.
- All of the above only ever landed on the `prototype` branch, which froze at
  the 2026-07-19 restructure and is slated for deletion 2026-08-09 — ported
  here so nothing is lost, with cards added in this same change.

## 2026-07-26 — thumb menu (slide-up reveal)
- `naming-map.html` — the Open Signal mark becomes a floating thumb-zone
  button (bottom-right): tapping it slides the whole page up to reveal the
  naming-estate menu that lives *beneath* the page (Map / track /
  specimens / brief / brand index + theme toggle, now thumb-reachable —
  removed from the topbar). Scrim-tap or Esc closes; mark rotates 45° as
  the close affordance; reduced-motion safe. Per EC direction from mobile
  review — the detail popup card pattern stays as-is.

## 2026-07-26 — naming map full-bleed revision
- `naming-map.html` — shell stripped per EC: the map is now full-bleed
  (100vw, no bordered container), legend and detail card are typographic
  (hairline only, blur backdrop), and the sky was re-laid on a larger
  canvas (1280×840, hand-tuned per-field spacing) fixing the mobile
  clipping (RelayCTX/Selvedge cut off) and cluster collisions (Weft in
  the trust row, Seurat/Strand, Tally/Segno) visible in EC's screenshot.
  Mobile pans edge-to-edge; desktop fits without scroll.

## 2026-07-24 — priority five TM check + the naming map (naming v0.6)
- `BRIEF.name-alternatives.md` v0.6 — EC's priority five (Weft · Portage ·
  Belay · Ferry · Seurat) checked for TM signals. Re-rank: **Weft leads**
  (clearest field — three of the exercise's currents converge on it);
  Portage crowded precisely in Canada (Portage Tech, Portage CyberTech,
  Portage Ventures + Gentoo mindshare); Belay heavier than first read
  (Belay Technologies, defense software); Ferry has a funded namesake dev
  platform (deployferry.io); **Seurat closed** (Seurat Technologies, $79M+,
  named for the same pointillism reason). Wider riff pass added: Packet
  (packet boats + data packets — best new double), Retriever, Segno,
  Fermata, Skiff, Twine, Spool, Assay, Sigil, Husky, Sourdough.
- **`naming-map.html` — the new main page of the naming work**: all ~45
  candidates as one constellation radiating from RelayCTX in the Open
  Signal geometry, clustered by metaphor field; statuses encoded
  (priority/open/neighbors/unchecked/closed); click-for-story detail card;
  ranked list twin. Clean URL `/brand/naming` retargeted here (track page
  moves to `/brand/naming-track`); index cards reshuffled — map is the
  fresh start-here card.

## 2026-07-23 — CTXbuddy check + the warmth thesis (naming v0.5.1)
- `BRIEF.name-alternatives.md` — CTXbuddy (EC proposal) logged checked-and-
  closed (register + crowd + structure), **but** EC's underlying argument
  upgraded to a named strategic section: **the warmth thesis** — cute/
  approachable reduces fear, feels comforting in workflows, and joy-to-say
  spreads the brand's language. Slack + dev-tool precedent (Yarn, Bun, the
  Rust crab) recorded; three structured options (warm name/sober proof ·
  sober name/warm creature · diminutive lane, still not recommended); the
  shortlist re-ranked through the warmth lens (Ferry becomes the warm
  pick; Changeover reads industrial). Phonaesthetics ("joy to say") added
  as a first-class CD criterion. Sage/Ruler vs warmth named as an open
  EC/CD decision — deliberately unresolved.

## 2026-07-23 — obtuse lane + naming specimens (naming v0.5)
- `BRIEF.name-alternatives.md` v0.5 — "The obtuse lane": the distinctiveness-
  spectrum argument for arbitrary/fanciful names (every suggestive name we
  checked is crowded *because* it's suggestive), the CTX-suffix strategy
  (`⟨X⟩CTX` keeps the category while the prefix moves), and the **Magi /
  MagicCTX verdict (✕)**: Magic.dev ($515M, long-term-memory/context
  positioning) owns the adjacent word in our exact territory, Google's
  Project Magi shadows it, and "magic" asserts the opposite of trust-
  through-legibility — though the *magi* story (Sage-register star-
  followers delivering across a journey) sits squarely on the metaphor map
  and is logged for the CD.
- `naming-specimens.html` — **visual specimen board**: shortlist rendered
  as dual-ground wordmark cards (bare + CTX suffix), the riff wall set in
  type with buried stories + clearance pills (closed names deliberately
  not set), and three drawn-line motif swatches (dot-to-dot with Code-
  numbered dots, constellation, weft). Card on the brand index; clean URL
  `/brand/specimens`.

## 2026-07-23 — connect-the-dots / weave investigation (naming v0.4)
- `BRIEF.name-alternatives.md` v0.4 — "The drawn line": EC-directed look at
  connecting-the-dots + weave. Finding: the only *native* metaphor field —
  it describes the shipped graph substrate (first contact creates the edge;
  Codes are the numbers on the dots) — but the big names are closed (Weave =
  W&B/CoreWeave agent-observability toolkit, dead center of category;
  Constellation = fatal Canadian collision). Verdict: brand-language +
  visual-system direction, not a naming lane; Strand carried as the one
  open-ish outlier. New positioning lines incl. "The dots exist. Relay
  draws the lines."
- `naming-exploration.html` — riff-field stop gains "The drawn line" lane.

## 2026-07-22 — riff field (naming v0.3)
- `BRIEF.name-alternatives.md` v0.3 — added "The riff field," a divergent
  seedbed for the eventual creative-director engagement: split-token proof
  artifacts (Symbolon — the etymology of "symbol" is literally a Code),
  belay/cairn trust rituals, musical continuity (Attacca — strongest open
  name found), stage/cutting-room (Understudy, Matchcut, Adjourn), postal
  relay history (Estafette, Remount, Portage), and the loom (Weft,
  Selvedge). Statuses: open / neighbors / unchecked; also logged Pigeon
  (EC proposal) as checked-and-closed. Coined names + compounds flagged as
  deliberate CD territory.
- `naming-exploration.html` — new Position 08 riff-field stop (chip wall by
  metaphor family); final stop renumbered to 09.

## 2026-07-22 — continuity/trust pass (naming v0.2)
- `BRIEF.name-alternatives.md` v0.2 — added Cluster E (trust vocabulary:
  Steward, Custodian, Provenance, Vouch, Lineage, Keepsake — all scouted,
  all closed; the most colonized field checked), the synthesis (**name from
  continuity, position on trust**), and working positioning lines in the
  promise/proof two-beat register ("Context moves. Custody holds.").
- `naming-exploration.html` — two new stops: the trust field disqualification
  and the continuity-as-promise / trust-as-proof register with the lead line.

## 2026-07-22 — naming-exploration showcase page
- `naming-exploration.html` — visual companion to `BRIEF.name-alternatives.md`:
  a vertical "track" narrative (current position → track pressure → exchange
  zones → Baton disqualified → shortlist → what survives a rename) on the
  v3.5 tokens, reusing the product's own Received/Pending/Expired status
  vocabulary as a metaphor for name-candidate clearance. Card added to the
  brand index (`is-fresh`); clean URL `/brand/naming` via `_redirects`.

## 2026-07-22 — name alternatives exploration
- `BRIEF.name-alternatives.md` — contingency brainstorm for a RelayCTX name
  evolution, prompted by the baton/relay-race metaphor already latent in
  vocab. Flags that "Baton" as a literal wordmark is contested by three live
  AI-agent-tooling products; shortlists Changeover / Ferry / Relais for formal
  clearance instead.
- Added a competitive note on Baton AI (getbaton.ai): no product overlap, but
  their "customer handoffs" positioning shares Relay's vocabulary territory —
  a category-confusion risk on top of the trademark collision.

## 2026-07-19 — area restructure
- Type/identity explorations moved in from `web/`: `font-options*.html`,
  `emblem-v1.html`, `ladder-v1.html`; root `gallery.html` homed here. Old URLs
  301 via `_redirects`.
- Motion lab + creative gallery (brand animation explorations) landed.
- Brand asset pack v3.5.0 — portable lockups, social + avatar, canon index
  (`assets/`).
- identity-options rebuilt to v3.5 (Open Signal locked, RelayCTX™ lockup);
  previous version archived as `identity-options-v35pre.html`.

## 2026-07 (pre-restructure)
- **07-18** Trademark pass: ™ first-use on wordmarks + entity credit across
  brand guide, BRAND-BRIEF, design system, README; `.rl-tm` rule.
- **07-16 and earlier** v3.5 neutral-first token layer
  (`relay-tokens-v35.css`) ratified as source of truth; interactive brand
  guide on v3.5; emblem + headline-ladder concepts (RCTX-799 / RCTX-282).

## Canon
- **Tokens:** `relay-tokens-v35.css` (design intent) ↔
  `relay-app/packages/ui/tokens.css` (implementation) — keep in sync.
- **Guide:** `relay-brand-guide.html` · **Assets:** `assets/`
