---
id: "4.13"
title: "The Brand Book we give brands, Fetch"
dept: brand
status: draft
owner: Param
branded: true
direction: dog
last_verified: '2026-10-26'
sources:
  - "brew origin/main a559de6: brand-book-read.js:1-18, 77-99; jam2/brandbook.js:8, 38, 50, 80, 132-164, 184-186; brand-kit.js:1-9, 89-114; brand-book-routes.js:93; server.js:936-950; public/brand-book.js:1-5, 147; test/brand-book-guards.test.js; tools/audit-brand-book.mjs"
  - "memory brew-brand-book, brew-brand-book-guards"
  - "brand-directions/book/content/h2.js h-11 brand-book"
  - "brand-directions/book/content/f2.js f-9.name-rules, f-10.in-product"
  - "brand-directions/dog/system.md s3, s4"
  - "brand-directions/dog/kit-skin.js words"
  - "brand-directions/docs2/data/dirs.json, entry dog"
---

# The Brand Book we give brands, Fetch

## Answer

Every read builds the brand a Brand Book of its own story, voice, look, products, best work and never say list, as a page and files any person or AI tool can use, and in Fetch's direction the brand leads every page while Fetch only signs off.

## Today

### What it holds

| Chapter | What is in it | Source |
|---|---|---|
| Cover | Name, tagline, one line, logo, mark, category. A tagline that reads like a search title is dropped | [src: brew/brand-book-read.js:77, 99] |
| Story, voice, words | From one AI call that reads the evidence, the logo and the brand's pictures. Every quoted line is checked against the evidence in code | [src: brew/brand-book-read.js:1-12] |
| Kit | Colours, fonts with every weight, logos | [src: brew/brand-book-read.js:1-12; memory brew-brand-book-guards] |
| Products | Products and price tiers, the whole catalogue on a deeper page | [src: brew/brand-book-read.js:18] |
| People and proof | Ratings, review lines, press and founders | [src: brew/brand-book-read.js:1-12] |
| Library | What the brand publishes, by deliverable, best first: ads, Instagram, YouTube, product photos | [src: brew/brand-book-read.js:24-30] |
| Playbooks, channels, rivals, rules | Format playbooks, channels, rivals, and rules for claims, people, AI and safety | [src: brew/brand-book-read.js:1-12; memory brew-brand-book] |
| Your best ads | Meta winners, members only | [src: brew/jam2/brandbook.js:154] |

### How it is built and kept

- Built from public evidence after the brief, saved as brandbook-read.json, version BOOK_V 6 [src: brew/brand-book-read.js:10-18]
- No evidence means the field stays empty and says add it, never a guess [src: brew/brand-book-read.js:8-9]
- Uploads and the team's edits sit over the read. Three views: member, share and public [src: brew/jam2/brandbook.js:8, 132-164]
- Share shows the read plus team edits not marked private. Uploads and connected numbers never leave the team [src: brew/brand-kit.js:1-3; brew/jam2/brandbook.js:164]
- Every maker reads it: promptBlock for text, creativeBlock and refsFor for pictures and video [src: brew/jam2/brandbook.js:38, 50, 80]
- Rebuilt when its inputs change, no more than every 6 hours, at most weekly [src: memory brew-brand-book]
- Guard tests and an audit run before every Brand Book deploy [src: brew/test/brand-book-guards.test.js; brew/tools/audit-brand-book.mjs; memory brew-brand-book-guards]

### What it exports

| Address | What it is | Source |
|---|---|---|
| /<slug>/brand | The book as a read only page, dressed in the brand's colours and heading font | [src: brew/brand-kit.js:4; brew/public/brand-book.js:1-5] |
| /<slug>/brand.md | An AI ready brand prompt for ChatGPT, Claude or Gemini | [src: brew/brand-kit.js:5] |
| /<slug>/brand.json | The whole book as data, every line with its source | [src: brew/brand-kit.js:6] |
| /<slug>/llms.txt | The index an AI agent reads first | [src: brew/brand-kit.js:7] |
| /<slug>/brand.pdf | The book as a PDF, made on request | [src: brew/server.js:941] |
| /<slug>/brand-kit.zip | All of it plus W3C tokens, colors.css, an .ase palette, logos, references by format, product photos and project notes for Claude and ChatGPT | [src: brew/brand-kit.js:8-9, 99-101] |

### Our own brand on it today

- The public page carries our current mark as its favicon, brew-mark.svg [src: brew/server.js:948]
- Our chrome stays quiet around the brand's own colours and fonts [src: brew/public/brand-book.js:1-3]
- Chapters alternate paper, plain, the brand's colour and ink as their tone [src: brew/public/brand-book.js:147]

## Tomorrow

| Item | Version | Tag |
|---|---|---|
| The book stays the brand's own: its colours, its fonts, its logo, its photos. Fetch's green never fills a chapter, a chip or a cover | v1 | Stays |
| Fetch appears once, as the 32 px small mark with the sign off line: Fetched for you. Over to you now. | v1 | New |
| Fetch never sits on the cover, a product, a colour chip, a rule or the never say list | v1 | New |
| Inside the product the book opens from What we know about you as Share your Brand Book. Fetch's word around it is the scent | v1 | Changes |
| One line around the share button in Fetch's voice: I fetched your whole brand. It did not fit in my mouth, so it is a book now. | v1 | New |
| The share sheet line after a copy: Drop it. Link copied. You pass it on. | v1 | New |
| Our mark on the public page swaps from brew-mark.svg to Fetch's small mark and the wordmark slot | v1 | Changes |
| Plain words stay on every control: Share, Copy link, Download kit, Change | v1 | Stays |
| Files, routes and guards stay as built | v1 | Stays |
| Posts the brand approves follow the book's rules for each channel | v2 | New |
| The library marks which of the brand's own work did best | v3 | New |
| Ads that run within the brand's rules read the book's claims and never say list first | v4 | New |

## How we do it

1. Never change what the book says to fit Fetch. Fetch only adds the sign off and the lines around the buttons.
2. Before any Brand Book deploy, copy a brand's bucket JSON and run the audit and the guard test:

```bash
cd /Users/param/Documents/ChatGPT/brew
node tools/audit-brand-book.mjs DIR
node --test test/brand-book-guards.test.js
```

3. Check the share and public views hold no uploads, private edits, Meta winners or connected numbers.
4. Check the sign off reads at 32 px in light and dark, and that removing it changes nothing else.

## Numbers

| Metric | Definition | Where measured | Status |
|---|---|---|---|
| Books built | Brands with a current brandbook-read.json | The bucket | Proposed |
| Shares | Copies of the page link, kit downloads and AI file opens per brand per week | Server logs for the six routes | Proposed |
| Empty fields | Share of chapters that say add it after a read | brandbook-read.json | Proposed |

## Open

1. Does Fetch sign the public Brand Book at all, or only the in product view? Proposal: sign both with the 32 px mark and one line, since the book is a gift from us.
2. What do we call it to brands: Brand Book, or Fetch's word, the scent? Proposal: Brand Book on every control and in every file name, the scent only in Fetch's lines.
