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 | 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 | brew/brand-book-read.js:1-12 |
| Kit | Colours, fonts with every weight, logos | brew/brand-book-read.js:1-12; memory brew-brand-book-guards |
| Products | Products and price tiers, the whole catalogue on a deeper page | brew/brand-book-read.js:18 |
| People and proof | Ratings, review lines, press and founders | brew/brand-book-read.js:1-12 |
| Library | What the brand publishes, by deliverable, best first: ads, Instagram, YouTube, product photos | brew/brand-book-read.js:24-30 |
| Playbooks, channels, rivals, rules | Format playbooks, channels, rivals, and rules for claims, people, AI and safety | brew/brand-book-read.js:1-12; memory brew-brand-book |
| Your best ads | Meta winners, members only | 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 brew/brand-book-read.js:10-18
- No evidence means the field stays empty and says add it, never a guess brew/brand-book-read.js:8-9
- Uploads and the team's edits sit over the read. Three views: member, share and public 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 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 brew/jam2/brandbook.js:38, 50, 80
- Rebuilt when its inputs change, no more than every 6 hours, at most weekly memory brew-brand-book
- Guard tests and an audit run before every Brand Book deploy 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 |
|---|---|---|
| / |
The book as a read only page, dressed in the brand's colours and heading font | brew/brand-kit.js:4; brew/public/brand-book.js:1-5 |
| / |
An AI ready brand prompt for ChatGPT, Claude or Gemini | brew/brand-kit.js:5 |
| / |
The whole book as data, every line with its source | brew/brand-kit.js:6 |
| / |
The index an AI agent reads first | brew/brand-kit.js:7 |
| / |
The book as a PDF, made on request | brew/server.js:941 |
| / |
All of it plus W3C tokens, colors.css, an .ase palette, logos, references by format, product photos and project notes for Claude and ChatGPT | 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 brew/server.js:948
- Our chrome stays quiet around the brand's own colours and fonts brew/public/brand-book.js:1-3
- Chapters alternate paper, plain, the brand's colour and ink as their tone 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
- Never change what the book says to fit Fetch. Fetch only adds the sign off and the lines around the buttons.
- Before any Brand Book deploy, copy a brand's bucket JSON and run the audit and the guard test:
cd /Users/param/Documents/ChatGPT/brew
node tools/audit-brand-book.mjs DIR
node --test test/brand-book-guards.test.js
- Check the share and public views hold no uploads, private edits, Meta winners or connected numbers.
- 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
- 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.
- 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.