| 1 |
Truth first: no invented numbers, quotes, founders, reviews or backstory; unbacked numbers say to confirm |
Prompts, stat-check.js, test/honesty.test.js |
SPEC.md:13 DUMMY.md:30 |
| 2 |
Observed, inferred and implication stay separate; never state a rival's motive |
Prompts |
SPEC.md:14-15 |
| 3 |
An error is never shown as none or 0 |
Readers keep error |
CLAUDE.md:12 |
| 4 |
Read only: nothing posts, sends to customers, pauses or moves budget in v1 |
Read only scopes |
SCOPE.md:36-38 brand-directions/docs2/content/decisions.mjs:22 |
| 5 |
One version, then Redo it; never three options |
MAKE_N all 1 |
card-plan.js:36 memory brew-one-version |
| 6 |
Claims need proof: a health or measured claim needs the store's study or an approved claim |
checkCopy on every surface |
claims.js:219 memory brew-qa-round2-2026-10-24 |
| 7 |
A Play is never evidence; proof must prove the claim |
evidence.js, proof-logic.js |
memory brew-proof-plain-make |
| 8 |
Every fix works for every brand, platform and card, and heals saved data |
test/non-shopify.test.js, audits |
CLAUDE.md:20-40 memory feed-for-all-brands memory fix-as-product |
| 9 |
Simulated things carry a Dummy tag, a code comment and a DUMMY.md row |
public/dummy.css |
DUMMY.md:3-10 |
| 10 |
Nothing dummy or test reaches production, except the Pro sheet, the Marketplaces label and the catalog photo fallback |
db/prod-clean.mjs clean gate |
memory prod-clean-only |
| 11 |
Never use a rival's picture as ours; Make our version gets only a written breakdown |
rival-ad.js, isRivalCard |
rival-ad.js:7 memory brew-rival-pictures |
| 12 |
The card's picture shows what its words promise |
cardProduct, cardScene |
memory brew-card-asset-match |
| 13 |
No disclaimers or AI labels on ad creative |
Prompts |
SPEC.md:18 memory no-disclaimers-in-ads |
| 14 |
Plain, one glance language; quiet pages with no zero tiles |
plain.js, quiet rules |
SPEC.md:19 memory brew-quiet-ui |
| 15 |
Sell relief, never discounts, in badges and nudges |
Copy |
docs/handover/product/04-content-and-accuracy-rules.md:24 memory sell-relief-not-discounts |
| 16 |
They or them for anyone whose pronouns are unknown |
Prompts |
SPEC.md:20 |
| 17 |
Cost cuts never drop Plays; make each cheaper |
Build |
memory keep-all-moves |
| 18 |
Brand data is the brand's: only its own email, an invite or staff open it |
auth.js, closed-gate.js |
memory brew-access-rules |
| 19 |
Connected numbers stay members only and beat the site read while fresh |
facts-desk.js |
memory brew-connected-facts |
| 20 |
Never disconnect Arata's Meta or Shopify |
PROTECTED_CONNECTIONS |
connectors/index.js:267 memory never-disconnect-arata-meta |
| 21 |
Say Plays, never moves, wherever a person reads |
brew-name.js, app labels |
brand-directions/docs2/content/decisions.mjs:4 |
| 22 |
No fake reviews or testimonials, ever |
Review styles quote real reviews word for word |
memory harry-reviews-fictional memory brew-jam-v2 |
| 23 |
Sample labels on every invented example in docs and design |
Docs check |
brand-directions/BRIEF.md section 1 |
| 24 |
Never show vendor or model names to a founder; a price only on the confirm sheet |
Redesign rule |
brand-directions/_shared/product-model.md:97 |