# GUIDE — Voice

**Status:** law — v1, 2026-08-17
**Applies to:** every surface that produces words — marketing, email, decks, documents,
one-pagers, the app, the MCP harness
**Parent:** [`GUIDE.interface-principles.md`](GUIDE.interface-principles.md)
**Vocabulary canon:** [`../_vocab/_VOCAB.md`](../_vocab/_VOCAB.md)
**Copy sources this describes:** [`../copy/`](../copy/)

`_VOCAB.md` locks *which words*. [`GUIDE.states-and-language.md`](GUIDE.states-and-language.md)
governs the words *inside a UI state*. Neither says how Relay sounds when it has a paragraph to
work with — a landing page, a drip email, a deck, a one-pager. That gap is what this file closes,
and it is the layer `_VOCAB.md`'s own session log has carried as pending Sessions 3 (Comms &
Email) and 4 (Brand & Marketing) since June.

**This is descriptive, not aspirational.** Every rule below is pulled from copy already shipped in
`copy/`, `marketing/`, and `email/`. Where the estate is inconsistent, the majority pattern won
and the outlier is named at the bottom.

---

## The voice in one line

> **Relay states a mechanism and stops.** It does not sell the outcome, and it never claims more
> than the pipe actually does.

We are talking to someone competent who is busy and has been marketed at all week. The persuasion
is that the thing is *described accurately* — every sentence that reaches for more than the
product does costs credibility we don't get back.

---

## The signature move — the two-beat

Relay's headline voice is a **symmetrical pair where the second beat turns the first.** It is the
single most consistent property across every surface, and it is the thing to preserve:

| | |
|---|---|
| Load what you need. | Share what you've made. |
| The session ends. | The context shouldn't. |
| Context in. | Context out. |
| Four steps. | That's the whole loop. |
| One block. | Any client. |
| Start free. | Scale with your team. |

The turn is doing real work — it is a reversal (*ends → shouldn't*), a completion (*in → out*), or
a scope jump (*one → any*). A pair whose halves merely repeat each other is the failure:
*"Move your context. Move your work."* is the shape without the move.

**Budget: one two-beat per surface.** It is a headline device. In body copy it becomes a tic.

### Where a single beat is right instead

Section heads and step headlines run as one plain clause, verb-first where possible:

*Built for the way work actually moves.* · *Context that doesn't drift.* · *Briefs that actually
land.* · *Give your context a home.* · *Hand the session forward.* · *Make it yours.*

---

## The six moves

1. **Name the mechanism, not the benefit.** *"One config block in Claude Desktop or any
   MCP-compatible client. Takes under a minute."* — not "effortless setup". The mechanism **is**
   the benefit for this audience; stating it twice reads as not trusting them.
2. **Define by exclusion.** *X, not Y.* — *"The transfer captures the substance of where you are,
   not just a summary."* · *"Context is stored so it can move."* · *"Not a support queue."* This
   is the house sentence across the whole estate, and it is how Relay fences a term off from the
   thing it gets confused with.
3. **Concede the limit in the same breath as the claim.** *"No trail retained after receipt on
   the free tier. Paid plans add end-to-end encryption."* Stating the boundary is what makes the
   claim land. Copy that only ever adds reads as a brochure.
4. **Let the problem be quiet.** Relay's problem statement is loss you don't notice: *"that loss
   compounds — quietly, invisibly — across every team running it."* Never escalate to crisis
   register. The wall is *invisible*, not catastrophic.
5. **Second person, present tense, active.** *"You get a Code."* · *"Drop it in a task."* ·
   *"Work resumes exactly where you left off."* Passive construction is where overclaim hides.
6. **End on the next action, not on a feeling.** Close with the step: *"the next step is a short
   conversation."* · `Join Relay →`. Never close on an adjective.

---

## Register by surface

Same voice throughout. What changes is how much of it there is.

| Surface | Register | Length | Notes |
|---------|----------|--------|-------|
| **Product UI** | Plain, unhurried, no personality | 2 sentences + action | Governed in detail by [`GUIDE.states-and-language.md`](GUIDE.states-and-language.md) |
| **Marketing** | The two-beat lives here. Mechanism-forward | Headline + 1–2 sentence sub | One display moment per view, matching the type rule |
| **Email** | Most direct of all. One job per email | Subject + ≤ 3 sentences + one CTA | Onboarding drip is instructional, not promotional — *"That's the whole first step"* |
| **Deck / document** | Expository, argued, allowed to be longer | A claim per slide | Still no adjectives doing an argument's work — see [`GUIDE.presentations.md`](GUIDE.presentations.md) |
| **Agent-facing (MCP)** | Mechanical and unambiguous. No persuasion at all | As short as correctness allows | Two readers, one string — see [`GUIDE.harness-surface.md`](GUIDE.harness-surface.md). `claim` and `handoff` are opposite directions and must never be described as one another |

---

## Never

| Never | Why |
|-------|-----|
| **seamless · AI-powered · effortless · powerful · revolutionary** | Retired outright in `_VOCAB.md`. Hype language, and the first tell that a sentence has no mechanism in it |
| **Exclamation marks in system messages · emoji in product copy · apology theatre** | Already law in `GUIDE.states-and-language.md`; it holds on every surface |
| **"Click here" · "Learn more" · "Find out more"** | CTAs carry the verb: `relay it →`, `Join Relay →`, `Get access →` |
| **enterprises · companies · clients** | Say **orgs, teams, operators**. Wrong direction for who actually adopts this |
| **memory · remembers your context · context vault · memory store** | Wrong category. Relay stores context *so it can move* — intentionally, on demand. It is not a memory product |
| **context platform** | Retired → **context layer** |
| **beta · early access program** | The program is **the Loop**. On buttons the CTA stays `Join Relay →` — the Loop is the reward revealed after the action, never the ask |
| **A length on a Code** | Not "your 6-digit Code". The server owns the number, it has already changed once, and both lengths stay live |
| **Sentences whose subject is Relay being impressive** | "Relay is the powerful layer that transforms how teams work" — no mechanism, no reader, no claim that can be checked |

---

## The three overclaim traps, specific to Relay

These are the ones that look like good copy and are wrong on the product. Each traces to a rule
already in `_VOCAB.md`; they are collected here because they are *voice* failures, not vocabulary
failures — the words are all legal and the sentence still lies.

1. **A Code does not confer value.** All packaged context is valuable; a Code only means it has
   been wrapped for transport. Never write *"important enough to share"*, *"elevated"*,
   *"promoted"*, or anything that reads as coded = real and uncoded = draft. **The wrapper is not
   the gift.** Absence of a Code is a normal state and is never written as missing, pending, or an
   error.
2. **The Code is the seal, not the package.** *"The Code seals the package for transport; it is
   not what makes the context valuable."* Copy that makes the Code the hero is selling the
   envelope. Relay is the pipe, and the mechanism is the point.
3. **Continuity is deliberate, not passive.** *"The continuity isn't passive accumulation — it's
   deliberate handoff, on demand."* Anything that implies Relay quietly watches, retains, or
   remembers is both off-message and wrong about the product.

---

## Known drift — burn-down, not law

Named so it isn't re-derived, and so no one treats a legacy file as a voice model:

- **`copy/relay-one-pager-copy.md`** (June 2026, pre-Session-0) is the biggest outlier in the
  estate: "context platform" (retired → context layer), "Little Rocket Ltd." (retired → Relay
  Context Inc.), "private beta" (retired → the Loop), and a `littlerocket.io` contact address. Its
  *voice* is on-model — the problem statement there is the best writing we have. Its **vocabulary
  is a snapshot of the old canon.** Reuse the prose, not the nouns.
- **`copy/relay-web-copy.md`** carries the retired "Relay Code" in the hero UI demo <!-- vocab-ok: naming the retired term to flag the drift --> and "Pulse" as a
  feature name. Both retired.

These sit in `scripts/vocab-baseline.txt` as pre-existing. Fixing them is a win to lock with
`python3 scripts/check_vocab.py --update-baseline`, not a blocker on new work.

---

## Checklist

- [ ] At most one two-beat, and its second beat genuinely turns the first
- [ ] Every claim names a mechanism a reader could check
- [ ] Any limit or gate stated alongside the claim it qualifies, not buried
- [ ] Second person, present tense, active voice
- [ ] Closes on an action, not an adjective
- [ ] No word from the **Never** table
- [ ] None of the three overclaim traps
- [ ] Vocabulary checked against `_VOCAB.md` — `python3 scripts/check_vocab.py` exits 0
- [ ] Register matches the surface

---

## Framework note

The two-beat, the overclaim traps, and the Loop naming are **Relay's alone**. The six moves, the
register-by-surface table, and the mechanism-over-benefit rule are `framework-candidate` for
Launchpad — they are how any technical product with a competent audience should sound, and
nothing in them depends on Relay.
