# RelayCTX — Design Brief v3.4
**Date:** June 2026  
**Owner:** EC / Ada  
**Status:** In planning  
**Scope:** Full platform — app, console, marketing, MCP reference, mobile, email  

---

## What v3.4 Is

v3.3 locked the token system and type stack. v3.4 ships it across every surface — resolving inconsistencies, designing new surfaces (Spaces, social graph), porting legacy prototypes, and applying the locked vocabulary from V&V Sessions 0–1.

**Theme:** One system. Every surface. No legacy holdovers.

---

## Design System Status

### Font stack — critical inconsistency to resolve

The v3.4 system document says:

| Font | Role | Status |
|---|---|---|
| Cormorant Garamond 300–400 italic | Display / hero headlines | ✅ In use |
| Outfit 300–600 | Body / UI / Wordmark | ⚠️ Not yet applied to prototypes |
| JetBrains Mono 400–600 | Codes, metadata, eyebrows | ✅ In use |
| ~~Syne~~ | Superseded | ❌ Still used in index + many prototypes |
| ~~IBM Plex Sans~~ | Superseded | ❌ Still used in MCP response cards |
| ~~DM Mono~~ | Superseded | ❌ Still used in MCP response cards |

**v3.4 action:** Replace Syne → Outfit in prototype index and all v3.x pages. Replace IBM Plex / DM Mono in MCP reference pages.

### Token changes v3.3 → v3.4

No token changes planned. v3.3 tokens are locked (CAZAZT). v3.4 is application, not mutation.

| Token | Value |
|---|---|
| bg | `#ffffff` |
| surface | `#f5faf9` |
| panel | `#edf7f5` |
| border | `#daeee9` |
| text | `#0f1f1e` |
| text-2 | `#446160` |
| teal (PRIMARY) | `#0d9488` |
| indigo (SECONDARY) | `#6366f1` |

---

## Surface-by-Surface Scope

### 1. Prototype Index
**Status:** Uses Syne — needs font swap to Outfit  
**v3.4 work:**
- Swap `font-family: 'Syne'` → `'Outfit'` throughout
- Add **Spaces** section (stub cards, link to designs when built)
- Version bump all cards that are pre-v3.3

---

### 2. App (relay-app)

**Status:** v3.2 UI shipped. Session 1 vocab changes pending (#145).  
**v3.4 work:**

**Vocab pass (issue #145):**
- Nav: “Claim Relay” → “Receive” · “Send Relay” → “Send” · “Relay Status” → “Status”
- Buttons: “Send Relay” → “Relay It”
- Status badge: “Claimed” → “Received”
- Toasts: “ID copied” → “Code copied”
- Errors: “ID not found or already claimed” → “Code not found or already received”

**Spaces surfaces (issues #687–#690):**
- Space detail page — name, visibility badge, mixed timeline (relays + pulses + events), members
- Space directory — org-visible spaces list
- Space badge on relay card and pulse item — `[● Space Name]` inline chip
- Profile page — Spaces section showing user’s spaces
- “In common” display — two users sharing a space; shown on profile overlap

**Relay card design:**
- Apply locked display field spec (PR #784)
- Code display treatment: JetBrains Mono 600, 0.15em tracking, teal
- Status: “Received” not “Claimed”
- Visibility icons: 👥 Org · 📢 Broadcast · 👤 Private

---

### 3. Console (relay-console)

**Status:** v3.2 prototype exists. Font/token audit needed.  
**v3.4 work:**
- Font audit: Syne → Outfit swap
- Token audit: warm grays → teal-tinted surface/panel tokens
- Spaces admin view (#692): Space list, member management, visibility controls
- Relay approval queue: update “claim” → “receive” language
- Vocab pass (Session 2 will surface more — pending)

---

### 4. MCP Reference (prototype)

**Status:** Two pages, split design systems.

| Page | Design | v3.4 Action |
|---|---|---|
| `mcp/relay-card-display` | ✅ v3.3 (Syne + JetBrains Mono) | Swap Syne → Outfit |
| `mcp/response-cards` | ❌ Dark IBM Plex + DM Mono | Full port to v3.4 light |
| `mcp/relay-edit-timeline` | ❌ Does not exist | Build (referenced in PR #784 spec) |

**relay-edit-timeline scope:** Visual reference showing how the provenance timeline appears in the relay edit view — who sent it, who received it, any forwards, timestamps, Space membership if applicable.

---

### 5. Marketing Site

**Status:** Site direction unresolved (dark canonical vs warm V5). Design work blocked until decision.

**v3.4 action — requires EC decision first:**
- Dark canonical (`/concepts/current/`): patent-reviewed, ships as-is or receives v3.4 token update
- Warm V5 (`/marketing/web/v5/`): Cormorant serif, parchment — may become the direction
- Concept C (`/marketing/web/concept-c.html`) in v3.2 — may become canonical

**Once decided:**
- Apply locked vocabulary: “Code” not “PIN/Relay Code”, “receive” not “claim”
- Session 4 (Brand & Marketing vocab audit) will produce more copy changes

---

### 6. Email & Notifications

**Status:** Email spec at v3.2. Session 3 (Comms & Email vocab audit) pending.

**v3.4 work:**
- Session 3 vocab pass — will surface changes in subject lines, body copy, CTAs
- Transactional emails: “Code” not “PIN/Relay Code”, “received” not “claimed”
- Relay expiring email: Code display treatment (JetBrains Mono, teal)
- Relay claimed notification: update status language

---

### 7. Mobile

**Status:** Phase 3 shipped (Sent/Received tabs, activity feed, provenance timeline).

**v3.4 work:**
- Apply Session 1 vocab changes to mobile UI copy
- Spaces mobile view (#46) — pending Spaces v1 build
- Relay card display on mobile — apply locked spec from PR #784

---

### 8. Design System Reference (brand/)

**Status:** `relay-design-system.md` header says v3.4 but content describes v3.2 changes.

**v3.4 work:**
- Update document body to reflect v3.4 — remove v3.2 changelog section
- Document Outfit as the canonical UI font (Syne fully retired)
- Add Spaces entity tokens once designed
- Add relay card display pattern to component spec
- `relay-brand-guide.html` — update to v3.4 tokens and font stack

---

## New Surfaces — Spaces Design

Spaces is the highest-priority new design work in v3.4. No designs exist yet.

### Entity definition
A **Space** is a persistent, org-scoped container for relay objects. It has a visibility state (Private / Org / Connected / Open) and a mixed timeline.

### Surfaces to design (issues #686–#692)

**Space badge — on relay + pulse objects:**
- Inline chip: `[● Space Name]` in teal, 11px, 0.5px border
- Appears in: relay card, pulse item, search results, activity feed

**Space detail page (#687):**
- Header: Space name, visibility badge, member count, owner
- Mixed timeline: relays, pulses, membership events — unified chronological feed
- Members sidebar: avatars + roles

**Space creation + management (#688):**
- Create form: name, slug, visibility selector (Private / Org / Connected / Open)
- Management: visibility change (explicit owner action, not a toggle), member invite

**Visibility control UI:**
- Four states: Private → Org → Connected → Open
- Moving up requires explicit confirmation — not a toggle
- Private is default. Open is intentional.

**Space directory (#685):**
- Org-visible spaces list
- Search, filter by visibility

**Profile integration (#690):**
- Spaces section on user profile
- “In common” badge: shown when two users share a space

---

## Vocabulary Applied to Design

From V&V Sessions 0–1 (KD8684, QZWMEB). These apply to all visual surfaces:

| Element | Old | New |
|---|---|---|
| Relay identifier display | PIN · Relay Code · relay ID | **Code** (JetBrains Mono, teal) |
| Status badge | Claimed | **Received** |
| Action button | Claim / Accept | **Receive** |
| Nav item | Claim Relay | **Receive** |
| Object (user-facing) | handoff | **relay** |
| Object (API-facing) | — | **transfer** |
| Pulse content unit | contribution | **Item** |
| Visibility | Org-visible | **Org** |

Sessions 2–6 pending — more changes expected from Platform/API, Comms, Marketing, Agent layers.

---

## Deliverables Checklist

### Prototype index
- [ ] Syne → Outfit font swap
- [ ] Add Spaces section (stub)
- [x] MCP & Integration section added (Jun 3 2026)

### App
- [ ] Vocab pass applied (#145)
- [ ] Space detail page prototype
- [ ] Space badge component
- [ ] “In common” display pattern
- [ ] Relay card with locked display spec

### Console
- [ ] Font / token audit
- [ ] Spaces admin view

### MCP reference
- [ ] `response-cards` ported to v3.4 light design
- [ ] `relay-edit-timeline` built
- [x] `relay-card-display` v3.3 built (Jun 3 2026 — Syne → Outfit swap still needed)

### Marketing
- [ ] Site direction decision (EC)
- [ ] Vocab applied once decided

### Email
- [ ] Session 3 vocab audit
- [ ] Code display treatment in transactionals

### Design system
- [ ] `relay-design-system.md` v3.4 body updated
- [ ] `relay-brand-guide.html` updated to v3.4
- [ ] Spaces entity tokens defined

---

## Dependencies & Gates

| Item | Blocked on |
|---|---|
| Spaces design | Spaces v1 build (#681–#692) |
| Marketing site | Site direction decision (EC) |
| Sessions 2–6 vocab | Running the sessions |
| relay-edit-timeline | PR #784 merge + prototype spec |
| Console Spaces admin | Spaces v1 build |

---

## Related

| Reference | What |
|---|---|
| `KD8684` | Session 0 — locked vocabulary (14 terms) |
| `QZWMEB` | Session 1 — App UI change set |
| `CAZAZT` | Design system tokens locked |
| `88DDXH` | MCP parity briefing relay |
| PR #784 | Relay card display spec (relay-platform) |
| `relay-platform #792` | MCP server vocab pass |
| `relay-app #145` | App UI vocab pass |
| `pc_97fd97b78f99` | Voice & Vocabulary pulse |

---

*Brief version: 1.0 · June 3, 2026 · Owner: EC / Ada*  
*Source: relay-creative/briefs/BRIEF.design-v34.md*
