{
 "name": "The Brew handbook",
 "url": "https://handbook.joinsquareup.com",
 "about": "Every department of the Brew universe: what is true today, what we build tomorrow, and what is still open. Brew is the internal name of an AI marketing team for online stores.",
 "updated": "2026-10-26",
 "snapshot": null,
 "how_to_read": {
  "start": "https://handbook.joinsquareup.com/claude/AGENTS.md",
  "llms": "https://handbook.joinsquareup.com/llms.txt",
  "everything": "https://handbook.joinsquareup.com/llms-full.txt",
  "brand": "https://handbook.joinsquareup.com/brand-assets/brand.json",
  "each_document": "append .md or .json to any page address"
 },
 "departments": [
  {
   "n": 1,
   "name": "Company and strategy",
   "slug": "company-and-strategy",
   "url": "https://handbook.joinsquareup.com/company-and-strategy",
   "file": "https://handbook.joinsquareup.com/claude/company-and-strategy.md"
  },
  {
   "n": 2,
   "name": "Product",
   "slug": "product",
   "url": "https://handbook.joinsquareup.com/product",
   "file": "https://handbook.joinsquareup.com/claude/product.md"
  },
  {
   "n": 3,
   "name": "Design",
   "slug": "design",
   "url": "https://handbook.joinsquareup.com/design",
   "file": "https://handbook.joinsquareup.com/claude/design.md"
  },
  {
   "n": 4,
   "name": "Brand",
   "slug": "brand",
   "url": "https://handbook.joinsquareup.com/brand",
   "file": "https://handbook.joinsquareup.com/claude/brand.md"
  },
  {
   "n": 5,
   "name": "Engineering",
   "slug": "engineering",
   "url": "https://handbook.joinsquareup.com/engineering",
   "file": "https://handbook.joinsquareup.com/claude/engineering.md"
  },
  {
   "n": 6,
   "name": "AI and models",
   "slug": "ai-and-models",
   "url": "https://handbook.joinsquareup.com/ai-and-models",
   "file": "https://handbook.joinsquareup.com/claude/ai-and-models.md"
  },
  {
   "n": 7,
   "name": "Data and analytics",
   "slug": "data-and-analytics",
   "url": "https://handbook.joinsquareup.com/data-and-analytics",
   "file": "https://handbook.joinsquareup.com/claude/data-and-analytics.md"
  },
  {
   "n": 8,
   "name": "Ops and infrastructure",
   "slug": "ops-and-infrastructure",
   "url": "https://handbook.joinsquareup.com/ops-and-infrastructure",
   "file": "https://handbook.joinsquareup.com/claude/ops-and-infrastructure.md"
  },
  {
   "n": 9,
   "name": "Security, privacy and legal",
   "slug": "security-privacy-and-legal",
   "url": "https://handbook.joinsquareup.com/security-privacy-and-legal",
   "file": "https://handbook.joinsquareup.com/claude/security-privacy-and-legal.md"
  },
  {
   "n": 10,
   "name": "Marketing and growth",
   "slug": "marketing-and-growth",
   "url": "https://handbook.joinsquareup.com/marketing-and-growth",
   "file": "https://handbook.joinsquareup.com/claude/marketing-and-growth.md"
  },
  {
   "n": 11,
   "name": "Sales and partnerships",
   "slug": "sales-and-partnerships",
   "url": "https://handbook.joinsquareup.com/sales-and-partnerships",
   "file": "https://handbook.joinsquareup.com/claude/sales-and-partnerships.md"
  },
  {
   "n": 12,
   "name": "Customer success and support",
   "slug": "customer-success-and-support",
   "url": "https://handbook.joinsquareup.com/customer-success-and-support",
   "file": "https://handbook.joinsquareup.com/claude/customer-success-and-support.md"
  },
  {
   "n": 13,
   "name": "Finance",
   "slug": "finance",
   "url": "https://handbook.joinsquareup.com/finance",
   "file": "https://handbook.joinsquareup.com/claude/finance.md"
  },
  {
   "n": 14,
   "name": "People and ways of working",
   "slug": "people-and-ways-of-working",
   "url": "https://handbook.joinsquareup.com/people-and-ways-of-working",
   "file": "https://handbook.joinsquareup.com/claude/people-and-ways-of-working.md"
  },
  {
   "n": 15,
   "name": "Product marketing",
   "slug": "product-marketing",
   "url": "https://handbook.joinsquareup.com/product-marketing",
   "file": "https://handbook.joinsquareup.com/claude/product-marketing.md"
  },
  {
   "n": 16,
   "name": "Research and insights",
   "slug": "research-and-insights",
   "url": "https://handbook.joinsquareup.com/research-and-insights",
   "file": "https://handbook.joinsquareup.com/claude/research-and-insights.md"
  },
  {
   "n": 17,
   "name": "PR and communications",
   "slug": "pr-and-communications",
   "url": "https://handbook.joinsquareup.com/pr-and-communications",
   "file": "https://handbook.joinsquareup.com/claude/pr-and-communications.md"
  },
  {
   "n": 18,
   "name": "Integrations and ecosystem",
   "slug": "integrations-and-ecosystem",
   "url": "https://handbook.joinsquareup.com/integrations-and-ecosystem",
   "file": "https://handbook.joinsquareup.com/claude/integrations-and-ecosystem.md"
  }
 ],
 "documents": [
  {
   "id": "1.1",
   "title": "The one page",
   "department": "Company and strategy",
   "department_slug": "company-and-strategy",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "What we do, for whom, why now, the loop, the moat, where we are",
   "urls": {
    "html": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/dog",
    "markdown": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/dog.md",
    "json": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Fetch reads your store, fetches ideas and drops them at your feet",
    "points": [
     {
      "icon": "eye",
      "text": "Sniffing round: Fetch reads your store and 68 sources, about 3 to 4 minutes."
     },
     {
      "icon": "rocket",
      "text": "The drop: five picks every Monday, most already drafted."
     },
     {
      "icon": "box",
      "text": "Drop it: the fetch note is copied, and nothing is sent for you."
     },
     {
      "icon": "lock",
      "text": "Fetch never says it posted anything, because v1 never posts, spends or measures."
     },
     {
      "icon": "heart",
      "text": "Out of throws for now: reads are capped while we build v0."
     }
    ],
    "stat": {
     "value": "68",
     "label": "sources read around your store"
    },
    "decide": "Is Fetch the direction? Proposal: decide when you pick one of the five.",
    "mood": "building"
   },
   "open_questions": [
    "**Is Fetch the direction?** Proposal: decide when Param picks one of the five; until then this version is used only when someone reads in the Fetch direction.",
    "**Seven sources or 68?** The books say seven sources tick by; the inventory lists 68 in seven groups. Proposal: say 68 sources in seven groups on the page.",
    "**Do we show the partner count?** Proposal: say \"real brands working with us now\" and give no count until partners agree in writing."
   ]
  },
  {
   "id": "1.1",
   "title": "The one page",
   "department": "Company and strategy",
   "department_slug": "company-and-strategy",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "What we do, for whom, why now, the loop, the moat, where we are",
   "urls": {
    "html": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/bee",
    "markdown": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/bee.md",
    "json": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Buzz flies round your store and brings back the best blooms",
    "points": [
     {
      "icon": "eye",
      "text": "Buzzing round your store and 68 sources takes about 3 to 4 minutes."
     },
     {
      "icon": "rocket",
      "text": "Best blooms: five picks every Monday, drafted and ready."
     },
     {
      "icon": "box",
      "text": "Pass the pollen: the flight plan is copied, and nothing is sent."
     },
     {
      "icon": "lock",
      "text": "Buzz never claims it posted anything, because v1 only drafts and hands off."
     },
     {
      "icon": "heart",
      "text": "The hive is full this week: reads are capped while we build v0."
     }
    ],
    "stat": {
     "value": "68",
     "label": "sources read around your store"
    },
    "decide": "Is Buzz the direction? Proposal: decide when you pick one of the five.",
    "mood": "building"
   },
   "open_questions": [
    "**Is Buzz the direction?** Proposal: decide when Param picks one of the five; until then this version is used only when someone reads in the Buzz direction.",
    "**Seven sources or 68?** The books say seven sources tick by; the inventory lists 68 in seven groups. Proposal: say 68 sources in seven groups on the page.",
    "**Do we show the partner count?** Proposal: say \"real brands working with us now\" and give no count until partners agree in writing."
   ]
  },
  {
   "id": "1.1",
   "title": "The one page",
   "department": "Company and strategy",
   "department_slug": "company-and-strategy",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "What we do, for whom, why now, the loop, the moat, where we are",
   "urls": {
    "html": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/raccoon",
    "markdown": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/raccoon.md",
    "json": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Scoop rummages through everything said about your store and tells you",
    "points": [
     {
      "icon": "eye",
      "text": "The rummage reads your public pages and 68 sources, about 3 to 4 minutes."
     },
     {
      "icon": "chat",
      "text": "The Monday dish: what people said, turned into drafted picks."
     },
     {
      "icon": "box",
      "text": "Pass the note: the brief is copied so you can slip it to whoever ships."
     },
     {
      "icon": "lock",
      "text": "Scoop names rival patterns, never rival names, and never mocks a reviewer."
     },
     {
      "icon": "heart",
      "text": "Notepad full for now: each read costs real time, so reads are capped."
     }
    ],
    "stat": {
     "value": "68",
     "label": "sources read around your store"
    },
    "decide": "Is Scoop the direction? Proposal: decide when you pick one of the five.",
    "mood": "building"
   },
   "open_questions": [
    "**Is Scoop the direction?** Proposal: decide when Param picks one of the five; until then this version is used only when someone reads in the Scoop direction.",
    "**Seven sources or 68?** The books say seven sources tick by; the inventory lists 68 in seven groups. Proposal: say 68 sources in seven groups on the page.",
    "**Do we show the partner count?** Proposal: say \"real brands working with us now\" and give no count until partners agree in writing."
   ]
  },
  {
   "id": "1.1",
   "title": "The one page",
   "department": "Company and strategy",
   "department_slug": "company-and-strategy",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "What we do, for whom, why now, the loop, the moat, where we are",
   "urls": {
    "html": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/octopus",
    "markdown": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/octopus.md",
    "json": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Ocho puts eight arms on your marketing, then hands one back",
    "points": [
     {
      "icon": "eye",
      "text": "Eight arms reading your store and 68 sources, about 3 to 4 minutes."
     },
     {
      "icon": "rocket",
      "text": "Arms full: five picks every Monday, each already drafted."
     },
     {
      "icon": "box",
      "text": "Free an arm: the clipboard is copied, and nothing is sent."
     },
     {
      "icon": "lock",
      "text": "Ocho never claims it posted anything, since v1 only drafts and hands off."
     },
     {
      "icon": "heart",
      "text": "Out of arms for now: reads are capped while we build v0."
     }
    ],
    "stat": {
     "value": "68",
     "label": "sources read around your store"
    },
    "decide": "Is Ocho the direction? Proposal: decide when you pick one of the five.",
    "mood": "building"
   },
   "open_questions": [
    "**Is Ocho the direction?** Proposal: decide when Param picks one of the five; until then this version is used only when someone reads in the Ocho direction.",
    "**Seven sources or 68?** The books say seven sources tick by; the inventory lists 68 in seven groups. Proposal: say 68 sources in seven groups on the page.",
    "**Do we show the partner count?** Proposal: say \"real brands working with us now\" and give no count until partners agree in writing."
   ]
  },
  {
   "id": "1.1",
   "title": "The one page",
   "department": "Company and strategy",
   "department_slug": "company-and-strategy",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "What we do, for whom, why now, the loop, the moat, where we are",
   "urls": {
    "html": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/cooker",
    "markdown": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/cooker.md",
    "json": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/the-one-page/octopus.json"
    }
   ],
   "tldr": {
    "headline": "Seeti cooks your store's marketing and whistles when the week is ready",
    "points": [
     {
      "icon": "eye",
      "text": "Into the pot: Seeti cooks your store and 68 sources in about 3 to 4 minutes."
     },
     {
      "icon": "rocket",
      "text": "Monday whistles: fresh specials on the pass, go on, taste."
     },
     {
      "icon": "box",
      "text": "Order ticket written and copied. Paste it to them. Nothing is sent."
     },
     {
      "icon": "lock",
      "text": "Seeti never says it posted anything. v1 drafts and hands off only."
     },
     {
      "icon": "heart",
      "text": "One pot at a time this week: reads are capped while we build v0."
     }
    ],
    "stat": {
     "value": "68",
     "label": "sources read around your store"
    },
    "decide": "Is Seeti the direction? Proposal: decide when you pick one of the five.",
    "mood": "building"
   },
   "open_questions": [
    "**Is Seeti the direction?** Proposal: decide when Param picks one of the five; until then this version is used only when someone reads in the Seeti direction.",
    "**Seven sources or 68?** The books say seven sources tick by; the inventory lists 68 in seven groups. Proposal: say 68 sources in seven groups on the page.",
    "**Do we show the partner count?** Proposal: say \"real brands working with us now\" and give no count until partners agree in writing."
   ]
  },
  {
   "id": "1.2",
   "title": "Story and why now",
   "department": "Company and strategy",
   "department_slug": "company-and-strategy",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "The store owner's problem; what changed in AI and commerce that makes this possible now",
   "urls": {
    "html": "https://handbook.joinsquareup.com/company-and-strategy/story-and-why-now",
    "markdown": "https://handbook.joinsquareup.com/company-and-strategy/story-and-why-now.md",
    "json": "https://handbook.joinsquareup.com/company-and-strategy/story-and-why-now.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Founders do all the marketing, and AI can now read their store",
    "points": [
     {
      "icon": "people",
      "text": "The founder is the whole marketing team, and marketing gets the tired hours."
     },
     {
      "icon": "eye",
      "text": "The answers already sit in the store's own reviews, pages and ads."
     },
     {
      "icon": "chart",
      "text": "The source inventory lists 68 sources, 67 live today."
     },
     {
      "icon": "warn",
      "text": "The founder pains are Samples from marketing books, not interviews yet."
     },
     {
      "icon": "chat",
      "text": "Tell it in three beats and always open with the store, never with AI."
     }
    ],
    "stat": {
     "value": "12 of 32",
     "label": "AI answers naming Arata"
    },
    "decide": "Which finding leads the story? Proposal: the AI answers gap, easiest to check live on a call.",
    "mood": "building"
   },
   "open_questions": [
    "**Which finding leads the story?** Proposal: the AI answers gap, since it is the newest shelf and the easiest to check live on a call.",
    "**Whose words replace the Samples?** Proposal: ask each of the five partners for one sentence about their Monday on the next call, with written permission to quote."
   ]
  },
  {
   "id": "1.3",
   "title": "Vision and mission",
   "department": "Company and strategy",
   "department_slug": "company-and-strategy",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Where this goes in five years; the sentence we hold ourselves to",
   "urls": {
    "html": "https://handbook.joinsquareup.com/company-and-strategy/vision-and-mission",
    "markdown": "https://handbook.joinsquareup.com/company-and-strategy/vision-and-mission.md",
    "json": "https://handbook.joinsquareup.com/company-and-strategy/vision-and-mission.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "We have a core sentence and a ladder, but no vision yet",
    "points": [
     {
      "icon": "book",
      "text": "Core sentence: your store's marketing team, in one feed."
     },
     {
      "icon": "rocket",
      "text": "The ladder: v1 drafts, v2 posts with a yes, v3 shows results, v4 runs ads."
     },
     {
      "icon": "warn",
      "text": "No vision or mission statement exists in any source."
     },
     {
      "icon": "lock",
      "text": "The longer plan to own outcomes stays internal and out of shareable copy."
     },
     {
      "icon": "flag",
      "text": "The vision is for us and investors; customers see the plain promise."
     }
    ],
    "stat": null,
    "decide": "Accept the proposed vision and mission lines, and keep the outcomes plan out of the vision?",
    "mood": "waiting"
   },
   "open_questions": [
    "**The vision.** Proposal: \"In five years, every online store has a marketing team that reads its store every week, drafts what to do, ships it with the owner's yes and learns what worked.\"",
    "**The mission.** Proposal: \"Give every store owner this week's marketing, drafted from their own store, with a source on every number, and keep them in charge.\"",
    "**Does the internal plan to own outcomes belong in the vision?** Proposal: keep it out of the vision line and in strategy, so the vision can be shared with partners."
   ]
  },
  {
   "id": "1.4",
   "title": "Principles",
   "department": "Company and strategy",
   "department_slug": "company-and-strategy",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "The rules that settle arguments: truth first, read only until asked, one version, every brand",
   "urls": {
    "html": "https://handbook.joinsquareup.com/company-and-strategy/principles",
    "markdown": "https://handbook.joinsquareup.com/company-and-strategy/principles.md",
    "json": "https://handbook.joinsquareup.com/company-and-strategy/principles.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Fifteen rules that settle arguments, and the lower number always wins",
    "points": [
     {
      "icon": "flag",
      "text": "Truth first, read only until a yes, nothing dummy on production."
     },
     {
      "icon": "lock",
      "text": "Arata's Meta and Shopify connections are never disconnected, guarded in code."
     },
     {
      "icon": "check",
      "text": "Every fix works for every brand, never a one brand patch."
     },
     {
      "icon": "heart",
      "text": "One version then Redo it, and sell relief, never discounts."
     },
     {
      "icon": "book",
      "text": "New rules enter only through the decisions log with a date and a reason."
     }
    ],
    "stat": {
     "value": "15",
     "label": "rules in force"
    },
    "decide": "Is this rule order right? Proposal: accept it, truth and read only sit on top.",
    "mood": "solid"
   },
   "open_questions": [
    "**Is this order right?** Proposal: accept it; truth and read only sit above everything because breaking them loses a partner's trust for good.",
    "**Does rule 9 cover pricing pages too?** Proposal: yes; the plan and the wallet are sold on time saved, never on a percent off."
   ]
  },
  {
   "id": "1.5",
   "title": "Strategy and bets",
   "department": "Company and strategy",
   "department_slug": "company-and-strategy",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Three to five bets, what proves each right or wrong, the order",
   "urls": {
    "html": "https://handbook.joinsquareup.com/company-and-strategy/strategy-and-bets",
    "markdown": "https://handbook.joinsquareup.com/company-and-strategy/strategy-and-bets.md",
    "json": "https://handbook.joinsquareup.com/company-and-strategy/strategy-and-bets.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Five bets, tested in order, starting with reading before drafting",
    "points": [
     {
      "icon": "eye",
      "text": "Bet 1: reading first beats a blank box, judged by hearts against Not for me."
     },
     {
      "icon": "rocket",
      "text": "Bet 2: a weekly hand off habit forms before any posting."
     },
     {
      "icon": "money",
      "text": "Bet 3: one brand costs well under its plan, and nobody has measured it."
     },
     {
      "icon": "warn",
      "text": "The spec says about $15 a brand a month; the caps allow far more."
     },
     {
      "icon": "map",
      "text": "Bets 4 and 5, posting trust and results, wait for v2 and v3."
     }
    ],
    "stat": {
     "value": "$79",
     "label": "planned v1 plan a month"
    },
    "decide": "Are these the bets? Proposal: accept bets 1 to 3 now, and keep 4 and 5 for later.",
    "mood": "waiting"
   },
   "open_questions": [
    "**Are these the bets?** Proposal: accept bets 1 to 3 for the design partnership and keep 4 and 5 as the later order.",
    "**Who owns each bet?** Proposal: Param owns 1 and 2, Sai owns 3 with the cost per brand work, Sai reviews 2 with partner calls, since team and roles proposes Sai for design partner relationships.",
    "**Review date for bets 1 to 3.** Proposal: the end of the six week partner programme the book proposes, or 7 Dec 2026, six weeks from today, if no programme date is set."
   ]
  },
  {
   "id": "1.6",
   "title": "North star and goals",
   "department": "Company and strategy",
   "department_slug": "company-and-strategy",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "One number, the goals under it, quarterly targets",
   "urls": {
    "html": "https://handbook.joinsquareup.com/company-and-strategy/north-star-and-goals",
    "markdown": "https://handbook.joinsquareup.com/company-and-strategy/north-star-and-goals.md",
    "json": "https://handbook.joinsquareup.com/company-and-strategy/north-star-and-goals.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "One number to steer by: stores that hand off weekly",
    "points": [
     {
      "icon": "flag",
      "text": "North star: stores with at least one hand off in a Monday to Sunday week."
     },
     {
      "icon": "chart",
      "text": "Nothing is counted yet and there is no baseline, so no targets exist."
     },
     {
      "icon": "book",
      "text": "Five goals sit under it: activation, return, taste, making and trust."
     },
     {
      "icon": "gear",
      "text": "Until a decision log ships, count by hand from brief records each Monday."
     },
     {
      "icon": "lock",
      "text": "Founders never see these numbers; they are internal."
     }
    ],
    "stat": {
     "value": "5",
     "label": "partner brands to count"
    },
    "decide": "Is the north star weekly hand off stores, and does a copied brief count as one?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Is the north star weekly hand off stores?** Proposal: yes, as defined above, counted by hand from brief records until the decision log ships.",
    "**Quarterly targets.** There is no baseline. Proposal for the quarter to 31 Dec 2026: all five partners activated, and three of five handing off three weeks running; set the next quarter's targets from those four weeks.",
    "**Does a copy of the brief count as a hand off, or only a sent one?** Proposal: both count, since v1 never sends on the brand's behalf."
   ]
  },
  {
   "id": "1.7",
   "title": "Market",
   "department": "Company and strategy",
   "department_slug": "company-and-strategy",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Size with sources, segments, where we start",
   "urls": {
    "html": "https://handbook.joinsquareup.com/company-and-strategy/market",
    "markdown": "https://handbook.joinsquareup.com/company-and-strategy/market.md",
    "json": "https://handbook.joinsquareup.com/company-and-strategy/market.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Five partners and a segment, but no market size has a source",
    "points": [
     {
      "icon": "chart",
      "text": "Every ring from all online stores down to the segment is Not sourced."
     },
     {
      "icon": "people",
      "text": "Five design partners today: Arata, Nutrova, Mana, Puma India and Scrubroom."
     },
     {
      "icon": "map",
      "text": "Works on Shopify, WooCommerce, Magento and custom sites, in one or many markets."
     },
     {
      "icon": "warn",
      "text": "Not for marketplace only sellers, app businesses or agencies with many brands, yet."
     },
     {
      "icon": "gear",
      "text": "Sizing starts with free public counts and the Meta Ad Library."
     }
    ],
    "stat": {
     "value": "5",
     "label": "design partners"
    },
    "decide": "Which market do we size first? Proposal: India, then the US by the same method.",
    "mood": "waiting"
   },
   "open_questions": [
    "**Which market do we size first?** Proposal: India, since every partner today is Indian, then the US with the same method.",
    "**Do we pay for a store lookup?** Proposal: start with free public counts and one month of a lookup tool only if Param says yes.",
    "**Do large brands stay in the segment?** Proposal: keep Puma India as a test of fit and decide after the partnership which segment we sell to first."
   ]
  },
  {
   "id": "1.9",
   "title": "Business model",
   "department": "Company and strategy",
   "department_slug": "company-and-strategy",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Who pays, for what, how it scales, margin per brand",
   "urls": {
    "html": "https://handbook.joinsquareup.com/company-and-strategy/business-model",
    "markdown": "https://handbook.joinsquareup.com/company-and-strategy/business-model.md",
    "json": "https://handbook.joinsquareup.com/company-and-strategy/business-model.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "The brand pays a plan for the brain, a wallet for hands",
    "points": [
     {
      "icon": "money",
      "text": "Plan $79 a month in v1, wallet from $12 a month, autopilot later in v4."
     },
     {
      "icon": "warn",
      "text": "Nothing is billed; the Pro plan sheet is a Dummy and pricing is parked."
     },
     {
      "icon": "chart",
      "text": "A Play costs a median $0.18 on Gemini Pro, $0.83 on Opus."
     },
     {
      "icon": "lock",
      "text": "Nothing is quoted outside the team while pricing is parked."
     },
     {
      "icon": "spark",
      "text": "Google credits pay for Vertex: $20,763 of $25,000 left on 16 Oct."
     }
    ],
    "stat": {
     "value": "$79",
     "label": "v1 plan a month"
    },
    "decide": "Which sets the plan price: the $15 estimate or a measured month on three partners?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Is Plan plus Wallet plus Autopilot the model?** Proposal: yes, as written on 26 Oct, with Sai's agreement recorded in the decisions log.",
    "**Which number sets the plan price: the $15 estimate or a measured month?** Proposal: a measured month on three partners, and the plan stays at $79 only if cost sits under a third of it."
   ]
  },
  {
   "id": "1.10",
   "title": "Risks",
   "department": "Company and strategy",
   "department_slug": "company-and-strategy",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Product, platform, AI, legal, money and people risks, with a mitigation each",
   "urls": {
    "html": "https://handbook.joinsquareup.com/company-and-strategy/risks",
    "markdown": "https://handbook.joinsquareup.com/company-and-strategy/risks.md",
    "json": "https://handbook.joinsquareup.com/company-and-strategy/risks.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Six risk areas, each with a sign to watch",
    "points": [
     {
      "icon": "warn",
      "text": "Meta business verification is stalled, and Shopify app review is not approved yet."
     },
     {
      "icon": "money",
      "text": "Cost per brand above a third of $79 would break the plan."
     },
     {
      "icon": "spark",
      "text": "An AI key ran dry on 20 Oct; one env switch swaps us to Gemini."
     },
     {
      "icon": "lock",
      "text": "Only preview terms and privacy exist; a partner agreement comes before graduation."
     },
     {
      "icon": "people",
      "text": "A team of three: the handbook and Next carry every plan."
     }
    ],
    "stat": {
     "value": "3",
     "label": "platform reviews pending"
    },
    "decide": "Do we write the partner agreement now? Proposal: yes, before any partner graduates to paid.",
    "mood": "urgent"
   },
   "open_questions": [
    "**Who owns the monthly review?** Proposal: Param, with Sai on money and partners and Arvind on platforms and integrations, as in [team and roles](/people-and-ways-of-working/team-and-roles).",
    "**Do we write the partner agreement now?** Proposal: yes, before any partner graduates to a paid plan."
   ]
  },
  {
   "id": "1.11",
   "title": "Investor story",
   "department": "Company and strategy",
   "department_slug": "company-and-strategy",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Problem, wedge, loop, moat, traction, versions, the ask",
   "urls": {
    "html": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/dog",
    "markdown": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/dog.md",
    "json": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Fetch's pitch: read the store first, fetch the ideas, no results claimed",
    "points": [
     {
      "icon": "eye",
      "text": "Wedge: read the store first, with a source on every number."
     },
     {
      "icon": "rocket",
      "text": "Five real partner prospects on production since 25 Oct, no revenue, no measured results."
     },
     {
      "icon": "money",
      "text": "A $79 plan against about $15 brain cost is a proposal, parked and not billed."
     },
     {
      "icon": "warn",
      "text": "Production runs on a preview Gemini model, and the margin is not proven."
     },
     {
      "icon": "flag",
      "text": "Fetch speaks only on the cover and the close; money talk stays plain."
     }
    ],
    "stat": {
     "value": "5",
     "label": "partners live on production"
    },
    "decide": "What is the ask? Proposal: leave the slide out until you decide whether and when to raise.",
    "mood": "waiting"
   },
   "open_questions": [
    "**The ask.** Proposal: leave the slide out until Param decides whether and when to raise; see [fundraising and cap table](/company-and-strategy/fundraising-and-cap-table).",
    "**Can we name a partner count or a partner?** Proposal: \"five real brands\" only after each agrees in writing, names only with a signed yes.",
    "**Does the plan to own outcomes reach investors?** Proposal: say it in person only, never on a slide, as the brief keeps it internal.",
    "**Team slide roles.** Proposal: Param writes one line for each of Param, Sai and Arvind in team and roles, and the slide copies it."
   ]
  },
  {
   "id": "1.11",
   "title": "Investor story",
   "department": "Company and strategy",
   "department_slug": "company-and-strategy",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Problem, wedge, loop, moat, traction, versions, the ask",
   "urls": {
    "html": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/bee",
    "markdown": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/bee.md",
    "json": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Buzz's pitch: read the store first, one bee does the hive's work",
    "points": [
     {
      "icon": "eye",
      "text": "Wedge: read the store first, with a source on every number."
     },
     {
      "icon": "rocket",
      "text": "Five real partner prospects on production since 25 Oct, no revenue, no measured results."
     },
     {
      "icon": "money",
      "text": "A $79 plan against about $15 brain cost is a proposal, parked and not billed."
     },
     {
      "icon": "warn",
      "text": "Production runs on a preview Gemini model, and the margin is not proven."
     },
     {
      "icon": "flag",
      "text": "Buzz keeps puns off the money slides; they stay plain."
     }
    ],
    "stat": {
     "value": "5",
     "label": "partners live on production"
    },
    "decide": "What is the ask? Proposal: leave the slide out until you decide whether and when to raise.",
    "mood": "waiting"
   },
   "open_questions": [
    "**The ask.** Proposal: leave the slide out until Param decides whether and when to raise; see [fundraising and cap table](/company-and-strategy/fundraising-and-cap-table).",
    "**Can we name a partner count or a partner?** Proposal: \"five real brands\" only after each agrees in writing, names only with a signed yes.",
    "**Does the plan to own outcomes reach investors?** Proposal: say it in person only, never on a slide, as the brief keeps it internal.",
    "**Team slide roles.** Proposal: Param writes one line for each of Param, Sai and Arvind in team and roles, and the slide copies it."
   ]
  },
  {
   "id": "1.11",
   "title": "Investor story",
   "department": "Company and strategy",
   "department_slug": "company-and-strategy",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Problem, wedge, loop, moat, traction, versions, the ask",
   "urls": {
    "html": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/raccoon",
    "markdown": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/raccoon.md",
    "json": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Scoop's pitch: hear everything said about the store, then draft the week",
    "points": [
     {
      "icon": "eye",
      "text": "Wedge: read reviews, ads, rivals and AI answers, with a source on every number."
     },
     {
      "icon": "rocket",
      "text": "Five real partner prospects on production since 25 Oct, no revenue, no measured results."
     },
     {
      "icon": "money",
      "text": "A $79 plan against about $15 brain cost is a proposal, parked and not billed."
     },
     {
      "icon": "warn",
      "text": "Production runs on a preview Gemini model, and the margin is not proven."
     },
     {
      "icon": "flag",
      "text": "A person handles money talk, never Scoop; the deck stays plain there."
     }
    ],
    "stat": {
     "value": "5",
     "label": "partners live on production"
    },
    "decide": "What is the ask? Proposal: leave the slide out until you decide whether and when to raise.",
    "mood": "waiting"
   },
   "open_questions": [
    "**The ask.** Proposal: leave the slide out until Param decides whether and when to raise; see [fundraising and cap table](/company-and-strategy/fundraising-and-cap-table).",
    "**Can we name a partner count or a partner?** Proposal: \"five real brands\" only after each agrees in writing, names only with a signed yes.",
    "**Does the plan to own outcomes reach investors?** Proposal: say it in person only, never on a slide, as the brief keeps it internal.",
    "**Team slide roles.** Proposal: Param writes one line for each of Param, Sai and Arvind in team and roles, and the slide copies it."
   ]
  },
  {
   "id": "1.11",
   "title": "Investor story",
   "department": "Company and strategy",
   "department_slug": "company-and-strategy",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Problem, wedge, loop, moat, traction, versions, the ask",
   "urls": {
    "html": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/octopus",
    "markdown": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/octopus.md",
    "json": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Ocho's pitch: eight arms of marketing work, honest about what is unproven",
    "points": [
     {
      "icon": "eye",
      "text": "Wedge: read the store first, with a source on every number."
     },
     {
      "icon": "rocket",
      "text": "Five real partner prospects on production since 25 Oct, no revenue, no measured results."
     },
     {
      "icon": "money",
      "text": "A $79 plan against about $15 brain cost is a proposal, parked and not billed."
     },
     {
      "icon": "warn",
      "text": "Production runs on a preview Gemini model, and the margin is not proven."
     },
     {
      "icon": "flag",
      "text": "Ocho dials down to off on money slides; the numbers stay plain."
     }
    ],
    "stat": {
     "value": "5",
     "label": "partners live on production"
    },
    "decide": "What is the ask? Proposal: leave the slide out until you decide whether and when to raise.",
    "mood": "waiting"
   },
   "open_questions": [
    "**The ask.** Proposal: leave the slide out until Param decides whether and when to raise; see [fundraising and cap table](/company-and-strategy/fundraising-and-cap-table).",
    "**Can we name a partner count or a partner?** Proposal: \"five real brands\" only after each agrees in writing, names only with a signed yes.",
    "**Does the plan to own outcomes reach investors?** Proposal: say it in person only, never on a slide, as the brief keeps it internal.",
    "**Team slide roles.** Proposal: Param writes one line for each of Param, Sai and Arvind in team and roles, and the slide copies it."
   ]
  },
  {
   "id": "1.11",
   "title": "Investor story",
   "department": "Company and strategy",
   "department_slug": "company-and-strategy",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Problem, wedge, loop, moat, traction, versions, the ask",
   "urls": {
    "html": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/cooker",
    "markdown": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/cooker.md",
    "json": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/company-and-strategy/investor-story/octopus.json"
    }
   ],
   "tldr": {
    "headline": "Seeti's pitch: the store is read first, the week comes out cooked",
    "points": [
     {
      "icon": "eye",
      "text": "Wedge: read the store first, with a source on every number."
     },
     {
      "icon": "rocket",
      "text": "Five real partner prospects on production since 25 Oct, no revenue, no measured results."
     },
     {
      "icon": "money",
      "text": "A $79 plan against about $15 brain cost is a proposal, parked and not billed."
     },
     {
      "icon": "warn",
      "text": "Production runs on a preview Gemini model, and the margin is not proven."
     },
     {
      "icon": "flag",
      "text": "Seeti stays out of money talk; people write it, plainly."
     }
    ],
    "stat": {
     "value": "5",
     "label": "partners live on production"
    },
    "decide": "What is the ask? Proposal: leave the slide out until you decide whether and when to raise.",
    "mood": "waiting"
   },
   "open_questions": [
    "**The ask.** Proposal: leave the slide out until Param decides whether and when to raise; see [fundraising and cap table](/company-and-strategy/fundraising-and-cap-table).",
    "**Can we name a partner count or a partner?** Proposal: \"five real brands\" only after each agrees in writing, names only with a signed yes.",
    "**Does the plan to own outcomes reach investors?** Proposal: say it in person only, never on a slide, as the brief keeps it internal.",
    "**Team slide roles.** Proposal: Param writes one line for each of Param, Sai and Arvind in team and roles, and the slide copies it."
   ]
  },
  {
   "id": "1.12",
   "title": "Investor update template",
   "department": "Company and strategy",
   "department_slug": "company-and-strategy",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Monthly: numbers, wins, misses, asks",
   "urls": {
    "html": "https://handbook.joinsquareup.com/company-and-strategy/investor-update-template",
    "markdown": "https://handbook.joinsquareup.com/company-and-strategy/investor-update-template.md",
    "json": "https://handbook.joinsquareup.com/company-and-strategy/investor-update-template.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "A monthly investor note is written, but nobody has received one",
    "points": [
     {
      "icon": "book",
      "text": "Fixed order: numbers, wins, misses, asks, and what is next."
     },
     {
      "icon": "lock",
      "text": "Every number carries its source; partners are named only with a written yes."
     },
     {
      "icon": "warn",
      "text": "No update has been sent and no investor list exists."
     },
     {
      "icon": "clock",
      "text": "Send on the first Monday of each month, for the month before."
     },
     {
      "icon": "chart",
      "text": "Cash and burn lines wait for the spend ledger rather than guess."
     }
    ],
    "stat": null,
    "decide": "Who receives the monthly update? Proposal: money or credit backers plus two advisers, from the November update.",
    "mood": "waiting"
   },
   "open_questions": [
    "**Who receives it?** No list exists. Proposal: start with anyone who has put money or credits in, plus two advisers Param names, from the November update.",
    "**Do we report cash and burn?** Proposal: yes, from the spend ledger once it exists; leave the line out until then rather than guess.",
    "**Which name heads it?** Proposal: the legal entity until the product name is picked, then the product name."
   ]
  },
  {
   "id": "1.13",
   "title": "Decisions log",
   "department": "Company and strategy",
   "department_slug": "company-and-strategy",
   "direction": null,
   "branded": false,
   "status": "generated",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Every call with its date and why, never deleted",
   "urls": {
    "html": "https://handbook.joinsquareup.com/company-and-strategy/decisions-log",
    "markdown": "https://handbook.joinsquareup.com/company-and-strategy/decisions-log.md",
    "json": "https://handbook.joinsquareup.com/company-and-strategy/decisions-log.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Every call we made, newest first, never deleted",
    "points": [
     {
      "icon": "flag",
      "text": "26 Oct: the word is Plays, and we never name ShopOS on a page."
     },
     {
      "icon": "rocket",
      "text": "Versions grow one power at a time: drafts, posting, results, ads."
     },
     {
      "icon": "check",
      "text": "Every fix works for every brand, and read only stays on for v1."
     },
     {
      "icon": "heart",
      "text": "One version then Redo it; sell relief, never discounts."
     },
     {
      "icon": "gear",
      "text": "Generated by gen.mjs on every build; add a row, never edit the file."
     }
    ],
    "stat": {
     "value": "22",
     "label": "surfaces after the cut"
    },
    "decide": null,
    "mood": "solid"
   },
   "open_questions": []
  },
  {
   "id": "1.14",
   "title": "Open questions",
   "department": "Company and strategy",
   "department_slug": "company-and-strategy",
   "direction": null,
   "branded": false,
   "status": "generated",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Every open call across the handbook",
   "urls": {
    "html": "https://handbook.joinsquareup.com/company-and-strategy/open-questions",
    "markdown": "https://handbook.joinsquareup.com/company-and-strategy/open-questions.md",
    "json": "https://handbook.joinsquareup.com/company-and-strategy/open-questions.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "672 open calls across the handbook, each with a proposal ready",
    "points": [
     {
      "icon": "flag",
      "text": "Every document's Open part is gathered here in one list."
     },
     {
      "icon": "check",
      "text": "Each question comes with a proposal you can accept as it is."
     },
     {
      "icon": "chart",
      "text": "Departments 10 and 15 carry the most, at 67 and 52 questions."
     },
     {
      "icon": "gear",
      "text": "Generated on every build, so change the source document, never this list."
     },
     {
      "icon": "map",
      "text": "Start with company questions: vision, bets, north star, market, model."
     }
    ],
    "stat": {
     "value": "672",
     "label": "open calls today"
    },
    "decide": "Where do we begin? Proposal: accept or change the company questions first, since the rest follow.",
    "mood": "waiting"
   },
   "open_questions": []
  },
  {
   "id": "1.15",
   "title": "Markets and expansion",
   "department": "Company and strategy",
   "department_slug": "company-and-strategy",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "India first or global, which markets when, languages, currencies, what changes per market",
   "urls": {
    "html": "https://handbook.joinsquareup.com/company-and-strategy/markets-and-expansion",
    "markdown": "https://handbook.joinsquareup.com/company-and-strategy/markets-and-expansion.md",
    "json": "https://handbook.joinsquareup.com/company-and-strategy/markets-and-expansion.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Built global, sold in India first, and the second market is open",
    "points": [
     {
      "icon": "map",
      "text": "The product reads each brand's selling market and never defaults silently to the US or India."
     },
     {
      "icon": "people",
      "text": "Every one of the five partners today is Indian."
     },
     {
      "icon": "check",
      "text": "A second market counts at 10% or more of orders or visits."
     },
     {
      "icon": "lock",
      "text": "No India only plumbing such as DLT or COD inside the product."
     },
     {
      "icon": "money",
      "text": "Dollars are the list price; rupees are the India regional price."
     }
    ],
    "stat": {
     "value": "51",
     "label": "currencies map to a country"
    },
    "decide": "India first or global from day one? Proposal: India first, sold in English, no India only code.",
    "mood": "waiting"
   },
   "open_questions": [
    "**India first, or global from day one?** Proposal: India first through the design partnership, sold in English, with no India only code; the product stays global.",
    "**Which second market?** Proposal: the US, sized with the same method as India, chosen only after a sourced count and one US partner.",
    "**Price in rupees or dollars for Indian partners?** Proposal: rupees at the regional price, as the pricing proposal says."
   ]
  },
  {
   "id": "1.16",
   "title": "Fundraising and cap table",
   "department": "Company and strategy",
   "department_slug": "company-and-strategy",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Rounds, investors, terms, the cap table, the next raise",
   "urls": {
    "html": "https://handbook.joinsquareup.com/company-and-strategy/fundraising-and-cap-table",
    "markdown": "https://handbook.joinsquareup.com/company-and-strategy/fundraising-and-cap-table.md",
    "json": "https://handbook.joinsquareup.com/company-and-strategy/fundraising-and-cap-table.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "No round, no investor, no ownership split is on record yet",
    "points": [
     {
      "icon": "book",
      "text": "The legal entity is Yellow Monk Technologies LLP."
     },
     {
      "icon": "money",
      "text": "Google startup credits of $25,000 are the only outside resource, and they are not equity."
     },
     {
      "icon": "warn",
      "text": "Indian investors usually expect a private limited company, so ask the CA about converting."
     },
     {
      "icon": "lock",
      "text": "Keep the cap table in one file with the CA, never copied unsourced."
     },
     {
      "icon": "clock",
      "text": "Proposal: raise only after a weekly hand off habit and a measured cost per brand."
     }
    ],
    "stat": {
     "value": "2028-05-19",
     "label": "Google credits end"
    },
    "decide": "Do we raise, and when? Proposal: not before our own numbers show a hand off habit.",
    "mood": "waiting"
   },
   "open_questions": [
    "**Do we raise, and when?** Proposal: not before the design partnership shows a weekly hand off habit and a measured cost per brand, so the story rests on our own numbers.",
    "**Is the LLP the right vehicle for investment?** Investors in India usually expect a private limited company. Proposal: ask the CA this month whether to convert before any priced round or note.",
    "**Who owns what today?** Proposal: Param writes the current split into the cap table file with the CA and links it here.",
    "**What is the first ask?** Proposal: leave it blank until question 1 is answered; never put an invented amount on a slide."
   ]
  },
  {
   "id": "2.1",
   "title": "Product overview",
   "department": "Product",
   "department_slug": "product",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "The promise, the loop, today and tomorrow",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product/product-overview",
    "markdown": "https://handbook.joinsquareup.com/product/product-overview.md",
    "json": "https://handbook.joinsquareup.com/product/product-overview.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Brew drafts your marketing week from evidence, and you hand it off",
    "points": [
     {
      "icon": "eye",
      "text": "It reads 68 sources: 60 read today, 7 once an account connects."
     },
     {
      "icon": "spark",
      "text": "The loop: evidence, Plays, feed, jam, hand off, then learnings rewrite the Plays."
     },
     {
      "icon": "people",
      "text": "Arata, Nutrova, Mana, Puma India and Scrubroom are live on production."
     },
     {
      "icon": "lock",
      "text": "v1 never posts, spends, sends to customers or measures."
     },
     {
      "icon": "rocket",
      "text": "Later versions add posting, results and ads inside rules, one power each."
     }
    ],
    "stat": {
     "value": "65",
     "label": "kinds of Plays"
    },
    "decide": "Is Gully Labs still a design partner? Proposal: treat it as a past prospect.",
    "mood": "building"
   },
   "open_questions": [
    "**Is Gully Labs still a design partner?** Proposal: treat it as a past prospect and keep the five in brew-live-stores as the list.",
    "**India first, or global from day one?** The read asks the market and never defaults it [src: CLAUDE.md:31-32]; every partner today is Indian. Proposal: India first through the design partnership, with no India-only code.",
    "**The product's future name.** Proposal: decide it with the brand direction, then rename in one pass.",
    "**When does v2 start?** Proposal: after the v1 redesign ships to production and two partners hand off weekly for three weeks running."
   ]
  },
  {
   "id": "2.2",
   "title": "v1 PRD",
   "department": "Product",
   "department_slug": "product",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "What v1 does and does not do, with acceptance per feature",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product/v1-prd",
    "markdown": "https://handbook.joinsquareup.com/product/v1-prd.md",
    "json": "https://handbook.joinsquareup.com/product/v1-prd.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "v1 reads, drafts and hands off, never touching an account",
    "points": [
     {
      "icon": "check",
      "text": "Every feature has an acceptance line anyone can check against the code."
     },
     {
      "icon": "eye",
      "text": "Read in seven steps; Plays wait for the first feed open."
     },
     {
      "icon": "box",
      "text": "Hand off goes to one of seven kinds of recipient, with a tracked brief."
     },
     {
      "icon": "lock",
      "text": "Cut in v1: writing to accounts, customer sends, measuring and the Do it now tray."
     },
     {
      "icon": "warn",
      "text": "The drafts cap reads $4 in code and $1.50 in the loop doc."
     }
    ],
    "stat": {
     "value": "65",
     "label": "Plays in six groups"
    },
    "decide": "Is the Pro plan sheet still wanted on production? Proposal: hide it until pricing is agreed.",
    "mood": "solid"
   },
   "open_questions": [
    "**Is the Pro plan sheet still wanted on production?** It shows a trial with no billing. Proposal: hide it until pricing is agreed, so no partner reads a plan we cannot sell yet.",
    "**Do the \"How we measure it\" sections stay in v1 briefs?** The brief writes a measure plan for the team [src: jam-brief.js:94-95], and the redesign removes measuring words. Proposal: keep it in briefs as \"How your team measures it\", remove it from cards and the card page.",
    "**Seats or Which of these do you handle first?** Proposal: ship the question as a filter first and keep the seat field as the ranking input until a test shows the same top five.",
    "**The drafts cap.** Code says $4 a brand a day, the loop doc says $1.50. Proposal: keep $4 and fix the doc.",
    "**Read time.** Proposal: time five reads on production this week and replace the 3 to 4 minute figure with the median."
   ]
  },
  {
   "id": "2.3",
   "title": "v2 PRD",
   "department": "Product",
   "department_slug": "product",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Workflows, posting and scheduling after a yes, permissions, caps",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product/v2-prd",
    "markdown": "https://handbook.joinsquareup.com/product/v2-prd.md",
    "json": "https://handbook.joinsquareup.com/product/v2-prd.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "v2 adds posting and scheduling, but only after a person says yes",
    "points": [
     {
      "icon": "check",
      "text": "Nothing posts without a Yes, and a scheduled post can be cancelled until it goes out."
     },
     {
      "icon": "gear",
      "text": "Saved workflows start a Play on a trigger and always stop for a yes."
     },
     {
      "icon": "warn",
      "text": "Meta, Shopify and Klaviyo hold read only access, so posting needs fresh reviews."
     },
     {
      "icon": "lock",
      "text": "Every brand starts at Suggest on the dial, and every workflow starts off."
     },
     {
      "icon": "money",
      "text": "Working price is $119 or ₹7,999 a month, still a proposal."
     }
    ],
    "stat": {
     "value": "20",
     "label": "workflow templates, not built"
    },
    "decide": "Which channel posts first? Proposal: Instagram and Facebook Page posts through Meta.",
    "mood": "building"
   },
   "open_questions": [
    "**Which channel posts first?** Proposal: Instagram and Facebook Page posts through Meta, because the Meta app and business verification are already in progress.",
    "**Who may approve a post?** Proposal: admins and members both may approve, only admins may turn the dial up.",
    "**Which three workflows ship first?** Proposal: Answer a new question about you, Get ready for a festival, Brief your agency on a heart, since each can end in a brief before posting exists.",
    "**Does Prepare need write access?** Proposal: yes, so Prepare and Schedule ship together per channel.",
    "**v2 price.** Proposal: keep $119 or ₹7,999 as the working number and decide with Sai after the partnership."
   ]
  },
  {
   "id": "2.4",
   "title": "v3 PRD",
   "department": "Product",
   "department_slug": "product",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Measuring what went out, grading plays, holdouts",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product/v3-prd",
    "markdown": "https://handbook.joinsquareup.com/product/v3-prd.md",
    "json": "https://handbook.joinsquareup.com/product/v3-prd.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "v3 grades what went out, so next week's picks learn from it",
    "points": [
     {
      "icon": "chart",
      "text": "Every shipped pick gets a How it went line with source, method and grade."
     },
     {
      "icon": "check",
      "text": "Only A and B results change ranking; C and D inform the team."
     },
     {
      "icon": "clock",
      "text": "Before the decide day a result reads Too early, never a grade."
     },
     {
      "icon": "book",
      "text": "An old engine existed in the archived feed repo and is not carried over."
     },
     {
      "icon": "gear",
      "text": "Port it piece by piece, starting with one family on one partner."
     }
    ],
    "stat": {
     "value": "13",
     "label": "measuring families"
    },
    "decide": "How is a play graded fairly? Proposal: only A and B results change ranking.",
    "mood": "building"
   },
   "open_questions": [
    "**How is a play graded fairly?** Proposal: only A and B results move ranking; C and D show to the team but never teach the feed.",
    "**When is a result ready to read?** Proposal: the family's decide day from measure-families.js, with early reads shown as notes only.",
    "**Holdouts need sending.** Brew sending is cut [src: SCOPE.md:38]. Proposal: run holdouts through the brand's own Klaviyo or WhatsApp tool, never Brew's own sending.",
    "**Keep How we measure it in v1 briefs?** Proposal: keep it as the team's plan, renamed How your team measures it.",
    "**v3 price.** Proposal: the $149 or ₹9,999 working number in the pricing proposal [src: brew working tree docs/pricing.md:20]."
   ]
  },
  {
   "id": "2.5",
   "title": "v4 PRD",
   "department": "Product",
   "department_slug": "product",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Ads inside rules and a budget, undo, the rule language",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product/v4-prd",
    "markdown": "https://handbook.joinsquareup.com/product/v4-prd.md",
    "json": "https://handbook.joinsquareup.com/product/v4-prd.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "v4 runs ads inside your rules, logged and undoable",
    "points": [
     {
      "icon": "lock",
      "text": "Run within rules starts off everywhere, and only an admin turns it on."
     },
     {
      "icon": "flag",
      "text": "One tap pauses everything, and undo restores settings, never spent money."
     },
     {
      "icon": "check",
      "text": "A rule may run only for action kinds with A or B graded results."
     },
     {
      "icon": "money",
      "text": "Autopilot is proposed at 3 percent of ad spend, minimum $149 or ₹9,999."
     },
     {
      "icon": "warn",
      "text": "Almost nothing here is decided; it is proposals for Param."
     }
    ],
    "stat": {
     "value": "3",
     "label": "percent of ad spend, proposed"
    },
    "decide": "Which ad platform first? Proposal: Meta, since the connector and App Review work exist.",
    "mood": "building"
   },
   "open_questions": [
    "**Which ad platform first?** Proposal: Meta, since the connector and App Review work already exist.",
    "**Default limits.** Proposal: no defaults; the founder types the cap and step limit before any rule saves.",
    "**What undo means for money spent.** Proposal: undo restores settings only, and the log states the spend that already happened.",
    "**Who may change the rules?** Proposal: admins only, members may pause.",
    "**Autopilot as a percent of spend or flat bands?** Proposal: keep 3 percent with the $149 minimum as the working number until partners run it.",
    "**Can an agency set rules per client?** Proposal: yes, once the brand switcher exists, and the brand's admin can lock them."
   ]
  },
  {
   "id": "2.6",
   "title": "Features A to Z",
   "department": "Product",
   "department_slug": "product",
   "direction": null,
   "branded": false,
   "status": "generated",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Every feature, one line, status, where it lives tomorrow",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product/features-a-to-z",
    "markdown": "https://handbook.joinsquareup.com/product/features-a-to-z.md",
    "json": "https://handbook.joinsquareup.com/product/features-a-to-z.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "All 244 features, each marked live, once connected, off or next",
    "points": [
     {
      "icon": "book",
      "text": "Seven kinds: Cards, Evidence, Deliverables, Plays, Hand off, Learnings and Workflows."
     },
     {
      "icon": "check",
      "text": "Most features are Live and Stay; some Change to fit three tabs."
     },
     {
      "icon": "gear",
      "text": "The 20 workflows are all Next and New for v2."
     },
     {
      "icon": "warn",
      "text": "Post or schedule for you is Off today and New in v2."
     },
     {
      "icon": "lock",
      "text": "Generated on every build, so change the source, not this page."
     }
    ],
    "stat": {
     "value": "244",
     "label": "features listed"
    },
    "decide": null,
    "mood": "solid"
   },
   "open_questions": []
  },
  {
   "id": "2.7",
   "title": "Roadmap with dates",
   "department": "Product",
   "department_slug": "product",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "What ships when, by version and quarter",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product/roadmap-with-dates",
    "markdown": "https://handbook.joinsquareup.com/product/roadmap-with-dates.md",
    "json": "https://handbook.joinsquareup.com/product/roadmap-with-dates.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "The order is set, one power per version, every date blank",
    "points": [
     {
      "icon": "check",
      "text": "Shipped: scope cut 15 Oct, real connectors 16 Oct, production on Cloud SQL 25 Oct."
     },
     {
      "icon": "clock",
      "text": "Waiting on others: Meta verification, Meta App Review and Shopify review."
     },
     {
      "icon": "map",
      "text": "Twelve stages from v1 hardening to run within rules on Meta."
     },
     {
      "icon": "warn",
      "text": "No launch date, partner count or version date exists in any source."
     },
     {
      "icon": "flag",
      "text": "A row only starts when its Starts when line is true."
     }
    ],
    "stat": {
     "value": "12",
     "label": "stages in the sequence"
    },
    "decide": "When does the design partnership end? Proposal: six weeks from 26 Oct, then decide.",
    "mood": "waiting"
   },
   "open_questions": [
    "**When does the design partnership end?** Proposal: six weeks from the first partner's production onboarding on 26 Oct, then decide.",
    "**Dates for steps 2 to 6.** Proposal: one week per step after the brand direction is picked.",
    "**When does pricing go live?** Proposal: at the end of the partnership, with partners first.",
    "**Is there a public launch day?** Proposal: no single day; open reads in small batches as partners say it works.",
    "**v2 trigger.** Proposal: start v2 when the Meta review passes and two partners hand off weekly for three weeks."
   ]
  },
  {
   "id": "2.8",
   "title": "Personas",
   "department": "Product",
   "department_slug": "product",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Founder, ads, storefront, retention, agency, approver, guest",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product/personas",
    "markdown": "https://handbook.joinsquareup.com/product/personas.md",
    "json": "https://handbook.joinsquareup.com/product/personas.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Seven kinds of people use Brew, none yet drawn from interviews",
    "points": [
     {
      "icon": "people",
      "text": "The founder who is the marketing team is the default persona."
     },
     {
      "icon": "people",
      "text": "Also an in house marketer, a specialist, an agency, our team, a shipper and an approver."
     },
     {
      "icon": "warn",
      "text": "No persona is from interviews yet; every partner is an Indian D2C brand."
     },
     {
      "icon": "lock",
      "text": "Not a fit yet: free mail users, marketplace only sellers and product less services."
     },
     {
      "icon": "map",
      "text": "Five seats today become a Which of these do you handle question."
     }
    ],
    "stat": {
     "value": "7",
     "label": "people use Brew"
    },
    "decide": "Who do we design for first? Proposal: the founder who is the marketing team.",
    "mood": "waiting"
   },
   "open_questions": [
    "**Who is the first persona we design for?** Proposal: the founder who is the marketing team.",
    "**Is the approver a role or just a member?** Proposal: a member who lands on Need your yes, no new role chip.",
    "**Do we court agencies now?** Proposal: not until the brand switcher; invite them per brand meanwhile.",
    "**Large brands like Puma India.** Proposal: keep as a partner and learn, but design for small teams."
   ]
  },
  {
   "id": "2.9",
   "title": "Jobs to be done",
   "department": "Product",
   "department_slug": "product",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "What each persona hires us for, in their words",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product/jobs-to-be-done",
    "markdown": "https://handbook.joinsquareup.com/product/jobs-to-be-done.md",
    "json": "https://handbook.joinsquareup.com/product/jobs-to-be-done.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "People hire Brew to get Monday's marketing decided, drafted and handed off",
    "points": [
     {
      "icon": "spark",
      "text": "Main job: this week's ideas decided and drafted from my own store."
     },
     {
      "icon": "warn",
      "text": "All job wording is Sample until founders say it in their own words."
     },
     {
      "icon": "check",
      "text": "Know what to do and get it shipped work today."
     },
     {
      "icon": "clock",
      "text": "Know it worked is not done; that arrives in v3."
     },
     {
      "icon": "chat",
      "text": "Ask each partner what they were trying to get done when they opened it."
     }
    ],
    "stat": {
     "value": "0",
     "label": "real jobs collected"
    },
    "decide": "Is the main job right? Proposal: test it on the five partners' next calls.",
    "mood": "waiting"
   },
   "open_questions": [
    "**Is the main job right?** Proposal: test it on the five partners' next calls before the redesign copy is written.",
    "**Do founders hire us for the Plays documents or for the feed and drafts?** No usage tracking exists [src: docs/handover/product/07-open-questions-and-next-steps.md:35]. Proposal: count opens of Plays PDFs against jams for four weeks."
   ]
  },
  {
   "id": "2.10",
   "title": "Journeys",
   "department": "Product",
   "department_slug": "product",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "First week, Monday, a specialist, the person who ships, the approver, connecting a tool, when it breaks",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product/journeys",
    "markdown": "https://handbook.joinsquareup.com/product/journeys.md",
    "json": "https://handbook.joinsquareup.com/product/journeys.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Seven journeys, from a pasted link to what happens when it breaks",
    "points": [
     {
      "icon": "map",
      "text": "First week: paste, sign in, read, setup, first feed open, jam, hand off."
     },
     {
      "icon": "clock",
      "text": "Monday digest lands from 09:00 brand time, with up to three ads."
     },
     {
      "icon": "people",
      "text": "The person who ships opens the brief with no login."
     },
     {
      "icon": "warn",
      "text": "A connection failing 3 times, or 72 hours stale, stops counting as evidence."
     },
     {
      "icon": "rocket",
      "text": "Tomorrow: Schedule it in v2, How it went in v3, Let it run in v4."
     }
    ],
    "stat": {
     "value": "7",
     "label": "journeys covered"
    },
    "decide": null,
    "mood": "solid"
   },
   "open_questions": [
    "**Reveal before or after sign in?** Today sign in comes first. Proposal: keep sign in first while reads are capped.",
    "**Can an approver answer from email?** Proposal: yes, with Yes and Not now links that open a confirm page.",
    "**Can the person who ships mark a brief delivered?** Proposal: no; only the brand's team and our team move status."
   ]
  },
  {
   "id": "2.11",
   "title": "Onboarding",
   "department": "Product",
   "department_slug": "product",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Paste, sign in, the read, three questions, the reveal, the first win",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product/onboarding",
    "markdown": "https://handbook.joinsquareup.com/product/onboarding.md",
    "json": "https://handbook.joinsquareup.com/product/onboarding.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "From a pasted link to a first hand off, in eight steps",
    "points": [
     {
      "icon": "rocket",
      "text": "Paste, sign in, read, questions, setup, claim, Plays start, invite."
     },
     {
      "icon": "warn",
      "text": "The 25 Oct audit found about 11 screens and 14 choices before the first card."
     },
     {
      "icon": "heart",
      "text": "Tomorrow: three quick questions, a reveal, and a first win bar."
     },
     {
      "icon": "lock",
      "text": "Plays start only on the first feed open; reminders go at 3 hours and a day."
     },
     {
      "icon": "clock",
      "text": "Time five first runs before quoting ten minutes anywhere."
     }
    ],
    "stat": {
     "value": "3",
     "label": "new brands daily per person"
    },
    "decide": "Which three questions open the read? Proposal: the brief's three.",
    "mood": "building"
   },
   "open_questions": [
    "**Which three questions?** Proposal: the brief's three, and keep lead products as an optional Settings row.",
    "**Does an invited teammate get the questions?** Proposal: only Which of these do you handle.",
    "**Can an agency start a read for a client?** Proposal: not until the brand invites them.",
    "**The Shopify home says the first read takes about half an hour.** Proposal: time it inside Shopify and use the same words as the web."
   ]
  },
  {
   "id": "2.12",
   "title": "Product rules",
   "department": "Product",
   "department_slug": "product",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Truth first, read only, one version, claims need proof, every brand, Sample labels",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product/product-rules",
    "markdown": "https://handbook.joinsquareup.com/product/product-rules.md",
    "json": "https://handbook.joinsquareup.com/product/product-rules.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Twenty four rules every feature must follow, or it does not ship",
    "points": [
     {
      "icon": "flag",
      "text": "Truth first: no invented numbers, quotes, reviews or backstory, and errors never read as zero."
     },
     {
      "icon": "lock",
      "text": "Read only in v1; nothing dummy or test reaches production."
     },
     {
      "icon": "check",
      "text": "Every fix works for every brand, platform and card, and heals saved data."
     },
     {
      "icon": "heart",
      "text": "One version then Redo it, no disclaimers on ads, sell relief never discounts."
     },
     {
      "icon": "warn",
      "text": "Never disconnect Arata's Meta or Shopify; code guards it."
     }
    ],
    "stat": {
     "value": "24",
     "label": "product rules"
    },
    "decide": "Is the 25 Oct Pro sheet exception still right? Proposal: drop it at the redesign.",
    "mood": "solid"
   },
   "open_questions": [
    "**AGENTS.md lets the handbook name the company behind our team, WRITING.md forbids it.** Proposal: follow WRITING.md and say our team, and fix AGENTS.md.",
    "**Is the 25 Oct Pro sheet exception still right?** Proposal: drop it at the redesign."
   ]
  },
  {
   "id": "2.13",
   "title": "The loop, step by step",
   "department": "Product",
   "department_slug": "product",
   "direction": null,
   "branded": false,
   "status": "generated",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Evidence, plays, cards, jam, briefs and deliverables, learnings, with full inventories",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product/the-loop-step-by-step",
    "markdown": "https://handbook.joinsquareup.com/product/the-loop-step-by-step.md",
    "json": "https://handbook.joinsquareup.com/product/the-loop-step-by-step.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Every item in the weekly loop, from evidence to learnings",
    "points": [
     {
      "icon": "eye",
      "text": "Evidence: 68 sources in 7 groups, with 67 read today."
     },
     {
      "icon": "spark",
      "text": "Plays: 65 kinds of written plan, from positioning to win back emails."
     },
     {
      "icon": "book",
      "text": "Cards: 34 kinds in 10 groups, plus five story rings."
     },
     {
      "icon": "gear",
      "text": "The jam can make 40 deliverables, each checked before it goes out."
     },
     {
      "icon": "chat",
      "text": "Learnings from the team rewrite the Plays and the feed."
     }
    ],
    "stat": {
     "value": "65",
     "label": "kinds of Plays"
    },
    "decide": null,
    "mood": "solid"
   },
   "open_questions": []
  },
  {
   "id": "2.14",
   "title": "Workflows spec",
   "department": "Product",
   "department_slug": "product",
   "direction": null,
   "branded": false,
   "status": "generated",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Anatomy, 20 templates, states, caps, approvals",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product/workflows-spec",
    "markdown": "https://handbook.joinsquareup.com/product/workflows-spec.md",
    "json": "https://handbook.joinsquareup.com/product/workflows-spec.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Twenty workflows, specified now, built later, each stopping for a yes",
    "points": [
     {
      "icon": "gear",
      "text": "A workflow runs a Play when something happens, such as a sell out."
     },
     {
      "icon": "lock",
      "text": "Every template starts off, and every run makes a card and asks for a yes."
     },
     {
      "icon": "clock",
      "text": "All are v2; today a run would end in a brief or a publish pack."
     },
     {
      "icon": "map",
      "text": "Five groups: Listen, Catalog, Ads and site, Calendar, Briefs and posting."
     },
     {
      "icon": "flag",
      "text": "A weekly cap pauses a workflow before a busy trigger runs up a bill."
     }
    ],
    "stat": {
     "value": "20",
     "label": "workflow templates"
    },
    "decide": null,
    "mood": "building"
   },
   "open_questions": []
  },
  {
   "id": "2.15",
   "title": "Design partner program",
   "department": "Product",
   "department_slug": "product",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Who, what they get, what we ask, cadence, graduating",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product/design-partner-program",
    "markdown": "https://handbook.joinsquareup.com/product/design-partner-program.md",
    "json": "https://handbook.joinsquareup.com/product/design-partner-program.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Five real brands use Brew free, but the deal itself is unwritten",
    "points": [
     {
      "icon": "people",
      "text": "Arata, Nutrova, Mana, Puma India and Scrubroom are live on production."
     },
     {
      "icon": "lock",
      "text": "Never wipe or reset the five, and check every fix on them first."
     },
     {
      "icon": "money",
      "text": "Proposed: free through the partnership, a $120 wallet, then $79 a month for life."
     },
     {
      "icon": "clock",
      "text": "Proposed: six weeks from 26 Oct, a 15 minute weekly call, then decide."
     },
     {
      "icon": "warn",
      "text": "What we promise, ask and graduate partners to has no source yet."
     }
    ],
    "stat": {
     "value": "5",
     "label": "partners live on production"
    },
    "decide": "What do partners get and give? Proposal: free use, a $120 wallet, one hand off a week.",
    "mood": "waiting"
   },
   "open_questions": [
    "**What do partners get?** Proposal: free use through the partnership, our team on call, and a $120 or ₹10,000 wallet each.",
    "**What do we ask of them?** Proposal: a 15 minute call each week, honest notes and at least one hand-off a week.",
    "**How long is the partnership?** Proposal: six weeks from 26 Oct, then a keep going call.",
    "**How do they graduate?** Proposal: to $79 or ₹4,999 a month for life, as in the pricing proposal.",
    "**Is Gully Labs still in?** Proposal: no, the five are the list.",
    "**How many partners?** Proposal: stay at five until each hands off weekly."
   ]
  },
  {
   "id": "2.16",
   "title": "Partner feedback log",
   "department": "Product",
   "department_slug": "product",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Every piece of feedback, from whom, what we did",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product/partner-feedback-log",
    "markdown": "https://handbook.joinsquareup.com/product/partner-feedback-log.md",
    "json": "https://handbook.joinsquareup.com/product/partner-feedback-log.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Mostly Param's own notes so far, with partners' words barely logged",
    "points": [
     {
      "icon": "chat",
      "text": "Only 5 partner items exist, four of them from Arata."
     },
     {
      "icon": "check",
      "text": "Each row says what was done, such as Meta fixes live 00491."
     },
     {
      "icon": "warn",
      "text": "Partners' own words are missing; a weekly call would capture them."
     },
     {
      "icon": "flag",
      "text": "Param's calls became rules: all brands, keep every Play, quiet pages."
     },
     {
      "icon": "book",
      "text": "Sai's and Arvind's notes go here too, with their names."
     }
    ],
    "stat": {
     "value": "5",
     "label": "partner items in total"
    },
    "decide": "Where do partners' own words come from? Proposal: a 15 minute weekly call each.",
    "mood": "building"
   },
   "open_questions": [
    "**Partners' own words are missing.** Proposal: a 15 minute weekly call per partner, notes logged here.",
    "**Where do Sai's and Arvind's notes go?** Proposal: here, with their name in Who."
   ]
  },
  {
   "id": "2.17",
   "title": "Glossary",
   "department": "Product",
   "department_slug": "product",
   "direction": null,
   "branded": false,
   "status": "generated",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Every word and the one we use",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product/glossary",
    "markdown": "https://handbook.joinsquareup.com/product/glossary.md",
    "json": "https://handbook.joinsquareup.com/product/glossary.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "One word for each thing, plus the words never to say",
    "points": [
     {
      "icon": "book",
      "text": "Play means a written plan item, from the evidence."
     },
     {
      "icon": "heart",
      "text": "Heart brings more in that direction; Not for me drops it and asks why."
     },
     {
      "icon": "box",
      "text": "Hand it off has four routes: Me, My team, My agency, Our team."
     },
     {
      "icon": "check",
      "text": "A Brief is one page a person ships from, never a package."
     },
     {
      "icon": "gear",
      "text": "Generated on every build, so change the source, not the page."
     }
    ],
    "stat": null,
    "decide": null,
    "mood": "solid"
   },
   "open_questions": []
  },
  {
   "id": "2.18",
   "title": "Product metrics",
   "department": "Product",
   "department_slug": "product",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Activation, first win, weekly use, hand-offs, defined",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product/product-metrics",
    "markdown": "https://handbook.joinsquareup.com/product/product-metrics.md",
    "json": "https://handbook.joinsquareup.com/product/product-metrics.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "North star: weekly hand off stores, and nothing is counted yet",
    "points": [
     {
      "icon": "flag",
      "text": "North star: stores that hand off at least one pick a week."
     },
     {
      "icon": "chart",
      "text": "Five goals sit under it: activation, return, taste, making and trust."
     },
     {
      "icon": "warn",
      "text": "No usage analytics exist on cards, jams or shares today."
     },
     {
      "icon": "gear",
      "text": "Proposed: our own event table in Postgres, with no third party trackers."
     },
     {
      "icon": "clock",
      "text": "Targets wait for four weeks of partner data."
     }
    ],
    "stat": {
     "value": "5",
     "label": "goals under the north star"
    },
    "decide": "Who builds the decision log, and when? Proposal: engineering, as v1 groundwork.",
    "mood": "waiting"
   },
   "open_questions": [
    "**Is the north star right?** Proposal: yes, weekly hand-off stores.",
    "**Who builds the decision log, and when?** Proposal: engineering, as v1 groundwork before the redesign.",
    "**Targets.** Proposal: none until four weeks of partner data.",
    "**Analytics tool.** Proposal: our own event table in Postgres, no third party trackers."
   ]
  },
  {
   "id": "3.1",
   "title": "Design principles",
   "department": "Design",
   "department_slug": "design",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Quiet, one of each thing, the brand's photos carry colour, the glance rule",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/design-principles",
    "markdown": "https://handbook.joinsquareup.com/design/design-principles.md",
    "json": "https://handbook.joinsquareup.com/design/design-principles.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Ten rules for every screen, and the higher rule wins an argument",
    "points": [
     {
      "icon": "heart",
      "text": "Truth first: every number has a source chip, and unsure ones say To confirm."
     },
     {
      "icon": "eye",
      "text": "The glance rule: a founder gets any card in three seconds, in 25 words at most."
     },
     {
      "icon": "flag",
      "text": "One main button per screen, and one of each thing, from sheets to toasts."
     },
     {
      "icon": "spark",
      "text": "The brand's photos carry the colour; the hero colour stays on the character and main button."
     },
     {
      "icon": "warn",
      "text": "The live build is inconsistent: 309 surfaces today against a planned 22."
     }
    ],
    "stat": {
     "value": "309",
     "label": "Surfaces a person can reach"
    },
    "decide": "Does truth outrank every brand as the top rule, and does dark stay the default?",
    "mood": "waiting"
   },
   "open_questions": [
    "Does truth outrank every brand as the top rule, or the other way round? Proposal: keep truth first, since a wrong number on one brand is worse than a missing feature on every brand.",
    "The live product is dark by default. Should the redesign keep dark as the default or follow the device? Proposal: follow the device, with dark as the fallback, because both themes ship for every direction.",
    "The glass tiers and the per brand wash are still in today's tokens. Remove both in the restyle? Proposal: yes, remove the glass tiers in v1 and keep the brand's photos as the only brand colour.",
    "Should the principles page carry a short example screen for each rule? Proposal: yes, one frame from the screen kit per rule, once a direction is picked."
   ]
  },
  {
   "id": "3.2",
   "title": "Information architecture",
   "department": "Design",
   "department_slug": "design",
   "direction": null,
   "branded": false,
   "status": "generated",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Six addresses, tabs, the shape, decisions",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/information-architecture",
    "markdown": "https://handbook.joinsquareup.com/design/information-architecture.md",
    "json": "https://handbook.joinsquareup.com/design/information-architecture.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Six addresses cover the whole product, from Today to Make it",
    "points": [
     {
      "icon": "map",
      "text": "Three tabs on the phone bottom bar, Settings behind your picture, Make it as the studio."
     },
     {
      "icon": "box",
      "text": "Jam v2, the Deck, the Library and the bell are removed, not hidden."
     },
     {
      "icon": "link",
      "text": "Hand it off offers Me, My team, My agency or freelancer, and our team."
     },
     {
      "icon": "check",
      "text": "Old brief links keep answering and redirect to the one brief page."
     },
     {
      "icon": "warn",
      "text": "Removing Jam v2's own brief is the one core change, done in its own step."
     }
    ],
    "stat": {
     "value": "526",
     "label": "Unused CSS classes to remove"
    },
    "decide": null,
    "mood": "building"
   },
   "open_questions": []
  },
  {
   "id": "3.3",
   "title": "Today to tomorrow",
   "department": "Design",
   "department_slug": "design",
   "direction": null,
   "branded": false,
   "status": "generated",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "309 surfaces to 22, every component family",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/today-to-tomorrow",
    "markdown": "https://handbook.joinsquareup.com/design/today-to-tomorrow.md",
    "json": "https://handbook.joinsquareup.com/design/today-to-tomorrow.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Every one of today's 309 surfaces gets a home among 22 screens",
    "points": [
     {
      "icon": "map",
      "text": "309 reachable surfaces collapse to 22 screens and sheets, plus emails."
     },
     {
      "icon": "gear",
      "text": "42 routes and address switches become six: Today, Work, Your store, Settings, a pick, Make it."
     },
     {
      "icon": "box",
      "text": "163 button classes become four, and 23 sheet styles become one."
     },
     {
      "icon": "flag",
      "text": "The tables map each old surface to its new place, grouped by where it goes."
     },
     {
      "icon": "check",
      "text": "Almost every row is tagged Changes; only the long wait game is New."
     }
    ],
    "stat": {
     "value": "309",
     "label": "Surfaces today"
    },
    "decide": null,
    "mood": "building"
   },
   "open_questions": []
  },
  {
   "id": "3.4",
   "title": "Every screen",
   "department": "Design",
   "department_slug": "design",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "generated",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "45 screens, states, character slot, status, with frames",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/every-screen/dog",
    "markdown": "https://handbook.joinsquareup.com/design/every-screen/dog.md",
    "json": "https://handbook.joinsquareup.com/design/every-screen/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/design/every-screen/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/design/every-screen/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/design/every-screen/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/design/every-screen/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Forty five screens, fetched and dropped at your feet",
    "points": [
     {
      "icon": "map",
      "text": "Fetch sits in 18 of them, always in a slot, never on a card."
     },
     {
      "icon": "eye",
      "text": "Reading your store is Sniffing round, with Fetch in its wait pose."
     },
     {
      "icon": "flag",
      "text": "Each screen lists its states and character slot, as the kit build list."
     },
     {
      "icon": "rocket",
      "text": "Most screens are marked Today; the reveal and the caught up sign off are Next."
     }
    ],
    "stat": {
     "value": "45",
     "label": "Screens of tomorrow"
    },
    "decide": null,
    "mood": "building"
   },
   "open_questions": []
  },
  {
   "id": "3.4",
   "title": "Every screen",
   "department": "Design",
   "department_slug": "design",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "generated",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "45 screens, states, character slot, status, with frames",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/every-screen/bee",
    "markdown": "https://handbook.joinsquareup.com/design/every-screen/bee.md",
    "json": "https://handbook.joinsquareup.com/design/every-screen/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/design/every-screen/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/design/every-screen/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/design/every-screen/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/design/every-screen/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Forty five screens, all of them buzzing with Buzz",
    "points": [
     {
      "icon": "map",
      "text": "Buzz shows up in 18 of them, in a slot, never on a card."
     },
     {
      "icon": "eye",
      "text": "Reading is Buzzing round your store, with Buzz in its wait pose."
     },
     {
      "icon": "flag",
      "text": "Each screen lists its states and character slot, as the kit build list."
     },
     {
      "icon": "rocket",
      "text": "Most screens are marked Today; the reveal and the caught up sign off are Next."
     }
    ],
    "stat": {
     "value": "45",
     "label": "Screens of tomorrow"
    },
    "decide": null,
    "mood": "building"
   },
   "open_questions": []
  },
  {
   "id": "3.4",
   "title": "Every screen",
   "department": "Design",
   "department_slug": "design",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "generated",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "45 screens, states, character slot, status, with frames",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/every-screen/raccoon",
    "markdown": "https://handbook.joinsquareup.com/design/every-screen/raccoon.md",
    "json": "https://handbook.joinsquareup.com/design/every-screen/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/design/every-screen/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/design/every-screen/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/design/every-screen/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/design/every-screen/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Forty five screens, all the gossip in the right place",
    "points": [
     {
      "icon": "map",
      "text": "Scoop sits in 18 of them, in a slot, never on a card."
     },
     {
      "icon": "eye",
      "text": "Reading is Reading your public pages, with Scoop in its wait pose."
     },
     {
      "icon": "flag",
      "text": "Each screen lists its states and character slot, as the kit build list."
     },
     {
      "icon": "rocket",
      "text": "Most screens are marked Today; the reveal and the caught up sign off are Next."
     }
    ],
    "stat": {
     "value": "45",
     "label": "Screens of tomorrow"
    },
    "decide": null,
    "mood": "building"
   },
   "open_questions": []
  },
  {
   "id": "3.4",
   "title": "Every screen",
   "department": "Design",
   "department_slug": "design",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "generated",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "45 screens, states, character slot, status, with frames",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/every-screen/octopus",
    "markdown": "https://handbook.joinsquareup.com/design/every-screen/octopus.md",
    "json": "https://handbook.joinsquareup.com/design/every-screen/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/design/every-screen/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/design/every-screen/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/design/every-screen/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/design/every-screen/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Forty five screens, eight arms, one clean pick on each",
    "points": [
     {
      "icon": "map",
      "text": "Ocho has a place in 18 of them, never on a card."
     },
     {
      "icon": "eye",
      "text": "Reading is Eight arms reading your store, with Ocho in its wait pose."
     },
     {
      "icon": "flag",
      "text": "Each screen lists its states and character slot, as the kit build list."
     },
     {
      "icon": "rocket",
      "text": "Most screens are marked Today; the reveal and the caught up sign off are Next."
     }
    ],
    "stat": {
     "value": "45",
     "label": "Screens of tomorrow"
    },
    "decide": null,
    "mood": "building"
   },
   "open_questions": []
  },
  {
   "id": "3.4",
   "title": "Every screen",
   "department": "Design",
   "department_slug": "design",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "generated",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "45 screens, states, character slot, status, with frames",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/every-screen/cooker",
    "markdown": "https://handbook.joinsquareup.com/design/every-screen/cooker.md",
    "json": "https://handbook.joinsquareup.com/design/every-screen/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/design/every-screen/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/design/every-screen/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/design/every-screen/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/design/every-screen/octopus.json"
    }
   ],
   "tldr": {
    "headline": "Forty five screens, cooked and plated on the pass",
    "points": [
     {
      "icon": "map",
      "text": "Seeti turns up in 18 of them, in a slot, never on a card."
     },
     {
      "icon": "eye",
      "text": "Reading is Cooking your store, with Seeti in its wait pose."
     },
     {
      "icon": "flag",
      "text": "Each screen lists its states and character slot, as the kit build list."
     },
     {
      "icon": "rocket",
      "text": "Most screens are marked Today; the reveal and the caught up sign off are Next."
     }
    ],
    "stat": {
     "value": "45",
     "label": "Screens of tomorrow"
    },
    "decide": null,
    "mood": "building"
   },
   "open_questions": []
  },
  {
   "id": "3.5",
   "title": "Components",
   "department": "Design",
   "department_slug": "design",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Top bar, tabs, sheet, menu, toast, empty, error, four buttons, the pick card",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/components/dog",
    "markdown": "https://handbook.joinsquareup.com/design/components/dog.md",
    "json": "https://handbook.joinsquareup.com/design/components/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/design/components/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/design/components/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/design/components/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/design/components/cooker.json"
    }
   ],
   "tldr": {
    "headline": "One kit, no part built twice, wearing tennis ball green",
    "points": [
     {
      "icon": "book",
      "text": "Grandstander sets headlines; Commissioner sets every control, label and paragraph."
     },
     {
      "icon": "spark",
      "text": "The hero green sits on the main button, focus and Fetch only, never a card."
     },
     {
      "icon": "chat",
      "text": "After a heart, Fetch says: Good pick. Fetching more like it."
     },
     {
      "icon": "warn",
      "text": "The felt plate and the Shantell Sans hand stay out of the product."
     }
    ],
    "stat": {
     "value": "78",
     "label": "Component families today"
    },
    "decide": "Fetch's extra poses for heart, drop and handoff: use them, or leave them for marketing?",
    "mood": "building"
   },
   "open_questions": [
    "Fetch has extra poses for heart, drop and handoff that the kit never calls. Use them? Proposal: Use the heart pose on the first heart celebration at 120 px and drop on the Monday greeting; leave handoff for marketing.",
    "The felt plate is a book treatment. Should it sit behind Fetch in the product too? Proposal: No, keep the product calm; the plate stays in books, the site and marketing.",
    "Small buttons, chips, tools and segments are 34 to 36 px, under the 44 px phone target. Grow them? Proposal: Keep the look and give each a 44 px hit area.",
    "The five area colours stay as small dots beside the area name. Keep them in Fetch's skin? Proposal: Yes, as dots only, never as text or fills.",
    "The kit's hand off line for our team still names the old company. Rewrite? Proposal: Yes: \"Our team has your brief now.\""
   ]
  },
  {
   "id": "3.5",
   "title": "Components",
   "department": "Design",
   "department_slug": "design",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Top bar, tabs, sheet, menu, toast, empty, error, four buttons, the pick card",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/components/bee",
    "markdown": "https://handbook.joinsquareup.com/design/components/bee.md",
    "json": "https://handbook.joinsquareup.com/design/components/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/design/components/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/design/components/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/design/components/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/design/components/cooker.json"
    }
   ],
   "tldr": {
    "headline": "One hive of parts, no part built twice, in pollen yellow",
    "points": [
     {
      "icon": "book",
      "text": "Shrikhand sets headlines; Parkinsans sets every control, label and paragraph."
     },
     {
      "icon": "spark",
      "text": "Pollen yellow sits on the main button, focus and Buzz only, never a card."
     },
     {
      "icon": "chat",
      "text": "After a heart, Buzz says: You danced for that one. More like it, coming up."
     },
     {
      "icon": "warn",
      "text": "The Buzz sun disc is drawn only in dark."
     }
    ],
    "stat": {
     "value": "78",
     "label": "Component families today"
    },
    "decide": "Buzz's light focus colour is the lowest of five at 4.7 to 1: keep it?",
    "mood": "building"
   },
   "open_questions": [
    "Buzz's light focus colour is #8a6a00 at 4.7 to 1 on the page, the lowest of the five. Keep it? Proposal: Keep it; it passes the 3 to 1 a focus ring needs.",
    "The sun disc is drawn only in dark. Does Buzz need it in light? Proposal: No, the ink limbs read on the light page.",
    "Small buttons, chips, tools and segments are 34 to 36 px, under the 44 px phone target. Grow them? Proposal: Keep the look and give each a 44 px hit area.",
    "The five area colours stay as small dots beside the area name. Keep them in Buzz's skin? Proposal: Yes, as dots only, never as text or fills.",
    "The kit's hand off line for our team still names the old company. Rewrite? Proposal: Yes: \"Our team has your brief. Pollen passed.\""
   ]
  },
  {
   "id": "3.5",
   "title": "Components",
   "department": "Design",
   "department_slug": "design",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Top bar, tabs, sheet, menu, toast, empty, error, four buttons, the pick card",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/components/raccoon",
    "markdown": "https://handbook.joinsquareup.com/design/components/raccoon.md",
    "json": "https://handbook.joinsquareup.com/design/components/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/design/components/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/design/components/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/design/components/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/design/components/cooker.json"
    }
   ],
   "tldr": {
    "headline": "One case board of parts, none built twice, in tangerine",
    "points": [
     {
      "icon": "book",
      "text": "Gloock sets headlines; Schibsted Grotesk sets every control, label and paragraph."
     },
     {
      "icon": "spark",
      "text": "Tangerine sits on the main button, focus and Scoop only, never a card."
     },
     {
      "icon": "chat",
      "text": "After a heart, Scoop says: Keep digging, noted. More like it are coming."
     },
     {
      "icon": "warn",
      "text": "Proposed: the reveal uses the gasp pose at 160 pixels."
     }
    ],
    "stat": {
     "value": "78",
     "label": "Component families today"
    },
    "decide": "Which props for doing and reporting: a rubber stamp in v2, a tally card in v3?",
    "mood": "building"
   },
   "open_questions": [
    "The system file says the small mark is for anything under 48 px, the kit swaps at 120 px. Which? Proposal: Follow the kit: under 120 px, so the 96 px empty and error slots show the mark.",
    "Scoop has a gasp pose for the reveal, but the kit draws the reveal with the celebrate pose. Switch? Proposal: Yes, use char-gasp.svg at 160 px on the reveal.",
    "No props are drawn yet for doing and reporting. Which ones? Proposal: A rubber stamp for doing in v2 and a tally card for reporting in v3, drawn from the master.",
    "Small buttons, chips, tools and segments are 34 to 36 px, under the 44 px phone target. Grow them? Proposal: Keep the look and give each a 44 px hit area.",
    "The five area colours stay as small dots beside the area name. Keep them in Scoop's skin? Proposal: Yes, as dots only, never as text or fills.",
    "The kit's hand off line for our team still names the old company. Rewrite? Proposal: Yes: \"Our team has your brief. Note passed.\""
   ]
  },
  {
   "id": "3.5",
   "title": "Components",
   "department": "Design",
   "department_slug": "design",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Top bar, tabs, sheet, menu, toast, empty, error, four buttons, the pick card",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/components/octopus",
    "markdown": "https://handbook.joinsquareup.com/design/components/octopus.md",
    "json": "https://handbook.joinsquareup.com/design/components/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/design/components/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/design/components/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/design/components/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/design/components/cooker.json"
    }
   ],
   "tldr": {
    "headline": "One tank of parts, none built twice, in hot pink",
    "points": [
     {
      "icon": "book",
      "text": "DynaPuff sets headlines; Archivo sets every control, label and paragraph."
     },
     {
      "icon": "spark",
      "text": "Hot pink sits on the main button, focus and Ocho only, never a card."
     },
     {
      "icon": "chat",
      "text": "After a heart, Ocho says: Stuck it. More like it, coming up."
     },
     {
      "icon": "warn",
      "text": "Need your yes is One arm up in words, never on the control."
     }
    ],
    "stat": {
     "value": "78",
     "label": "Component families today"
    },
    "decide": "Keep one pink in both themes, since the label passes at 6.0 to 1?",
    "mood": "building"
   },
   "open_questions": [
    "The print shadow on full poses is a drop shadow filter. Does it pass the no soft shadow rule? Proposal: Yes, it has no blur; keep it.",
    "Ocho's main button label is 6.0 to 1 on pink. Darker pink for light theme? Proposal: Keep #ff4fa3 in both themes; the label passes.",
    "Small buttons, chips, tools and segments are 34 to 36 px, under the 44 px phone target. Grow them? Proposal: Keep the look and give each a 44 px hit area.",
    "The five area colours stay as small dots beside the area name. Keep them in Ocho's skin? Proposal: Yes, as dots only, never as text or fills.",
    "The kit's hand off line for our team still names the old company. Rewrite? Proposal: Yes: \"Our team has your brief. One arm free.\""
   ]
  },
  {
   "id": "3.5",
   "title": "Components",
   "department": "Design",
   "department_slug": "design",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Top bar, tabs, sheet, menu, toast, empty, error, four buttons, the pick card",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/components/cooker",
    "markdown": "https://handbook.joinsquareup.com/design/components/cooker.md",
    "json": "https://handbook.joinsquareup.com/design/components/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/design/components/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/design/components/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/design/components/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/design/components/octopus.json"
    }
   ],
   "tldr": {
    "headline": "One kitchen of parts, none built twice, in chilli red",
    "points": [
     {
      "icon": "book",
      "text": "Bakbak One sets headlines; Anek Latin sets every control, label and paragraph."
     },
     {
      "icon": "spark",
      "text": "Chilli red sits on the main button, focus and Seeti only, never a card."
     },
     {
      "icon": "chat",
      "text": "After a heart, Seeti says: Ooh, good taste. More like that, coming up."
     },
     {
      "icon": "warn",
      "text": "Order tickets and uppercase labels stay out of the product."
     }
    ],
    "stat": {
     "value": "78",
     "label": "Component families today"
    },
    "decide": "Rewrite the reading line that names AI vendors to: Asking AI answers about you?",
    "mood": "building"
   },
   "open_questions": [
    "Seeti's reading line for AI answers names ChatGPT, Gemini, Perplexity and Claude, and the model bans vendor names in front of a founder. Rewrite it? Proposal: Yes: \"Asking AI answers about you.\"",
    "The system file sets ticket labels in uppercase, which the writing rules ban. Keep tickets for books only? Proposal: Yes, order tickets and uppercase stay out of the product.",
    "Small buttons, chips, tools and segments are 34 to 36 px, under the 44 px phone target. Grow them? Proposal: Keep the look and give each a 44 px hit area.",
    "The five area colours stay as small dots beside the area name. Keep them in Seeti's skin? Proposal: Yes, as dots only, never as text or fills.",
    "The kit's hand off line for our team still names the old company. Rewrite? Proposal: Yes: \"Order up. Our team has your ticket.\""
   ]
  },
  {
   "id": "3.6",
   "title": "Tokens",
   "department": "Design",
   "department_slug": "design",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "generated",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Colour, type, space, radius, motion for each direction, light and dark",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/tokens/dog",
    "markdown": "https://handbook.joinsquareup.com/design/tokens/dog.md",
    "json": "https://handbook.joinsquareup.com/design/tokens/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/design/tokens/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/design/tokens/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/design/tokens/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/design/tokens/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Fetch wears tennis ball green and two fonts, nothing else",
    "points": [
     {
      "icon": "spark",
      "text": "Hero colour #aee32f for the character, main button and focus."
     },
     {
      "icon": "book",
      "text": "Grandstander for headlines and Commissioner for everything else."
     },
     {
      "icon": "check",
      "text": "Ink, muted and background all pass contrast, in light and dark."
     },
     {
      "icon": "lock",
      "text": "Never a card fill: the brand's own photos carry the colour."
     }
    ],
    "stat": {
     "value": "#aee32f",
     "label": "Hero colour"
    },
    "decide": null,
    "mood": "solid"
   },
   "open_questions": []
  },
  {
   "id": "3.6",
   "title": "Tokens",
   "department": "Design",
   "department_slug": "design",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "generated",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Colour, type, space, radius, motion for each direction, light and dark",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/tokens/bee",
    "markdown": "https://handbook.joinsquareup.com/design/tokens/bee.md",
    "json": "https://handbook.joinsquareup.com/design/tokens/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/design/tokens/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/design/tokens/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/design/tokens/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/design/tokens/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Buzz wears pollen yellow and two fonts, nothing else",
    "points": [
     {
      "icon": "spark",
      "text": "Hero colour #ffd60a for the character, main button and focus."
     },
     {
      "icon": "book",
      "text": "Shrikhand for headlines and Parkinsans for everything else."
     },
     {
      "icon": "check",
      "text": "Text contrast passes in light and dark; light focus is the lowest of the five."
     },
     {
      "icon": "lock",
      "text": "Never a card fill: the brand's own photos carry the colour."
     }
    ],
    "stat": {
     "value": "#ffd60a",
     "label": "Hero colour"
    },
    "decide": null,
    "mood": "solid"
   },
   "open_questions": []
  },
  {
   "id": "3.6",
   "title": "Tokens",
   "department": "Design",
   "department_slug": "design",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "generated",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Colour, type, space, radius, motion for each direction, light and dark",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/tokens/raccoon",
    "markdown": "https://handbook.joinsquareup.com/design/tokens/raccoon.md",
    "json": "https://handbook.joinsquareup.com/design/tokens/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/design/tokens/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/design/tokens/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/design/tokens/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/design/tokens/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Scoop wears tangerine and two fonts, nothing else",
    "points": [
     {
      "icon": "spark",
      "text": "Hero colour #ff7a1a for the character, main button and focus."
     },
     {
      "icon": "book",
      "text": "Gloock for headlines and Schibsted Grotesk for everything else."
     },
     {
      "icon": "check",
      "text": "Ink and muted text pass contrast on every surface, in light and dark."
     },
     {
      "icon": "lock",
      "text": "Never a card fill: the brand's own photos carry the colour."
     }
    ],
    "stat": {
     "value": "#ff7a1a",
     "label": "Hero colour"
    },
    "decide": null,
    "mood": "solid"
   },
   "open_questions": []
  },
  {
   "id": "3.6",
   "title": "Tokens",
   "department": "Design",
   "department_slug": "design",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "generated",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Colour, type, space, radius, motion for each direction, light and dark",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/tokens/octopus",
    "markdown": "https://handbook.joinsquareup.com/design/tokens/octopus.md",
    "json": "https://handbook.joinsquareup.com/design/tokens/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/design/tokens/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/design/tokens/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/design/tokens/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/design/tokens/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Ocho wears hot pink and two fonts, nothing else",
    "points": [
     {
      "icon": "spark",
      "text": "Hero colour #ff4fa3 for the character, main button and focus."
     },
     {
      "icon": "book",
      "text": "DynaPuff for headlines and Archivo for everything else."
     },
     {
      "icon": "check",
      "text": "Ink and muted text pass contrast, and the pink button label sits at 6.0 to 1."
     },
     {
      "icon": "lock",
      "text": "Never a card fill: the brand's own photos carry the colour."
     }
    ],
    "stat": {
     "value": "#ff4fa3",
     "label": "Hero colour"
    },
    "decide": null,
    "mood": "solid"
   },
   "open_questions": []
  },
  {
   "id": "3.6",
   "title": "Tokens",
   "department": "Design",
   "department_slug": "design",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "generated",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Colour, type, space, radius, motion for each direction, light and dark",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/tokens/cooker",
    "markdown": "https://handbook.joinsquareup.com/design/tokens/cooker.md",
    "json": "https://handbook.joinsquareup.com/design/tokens/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/design/tokens/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/design/tokens/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/design/tokens/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/design/tokens/octopus.json"
    }
   ],
   "tldr": {
    "headline": "Seeti wears chilli red and two fonts, nothing else",
    "points": [
     {
      "icon": "spark",
      "text": "Hero colour #ff3d2e for the character, main button and focus."
     },
     {
      "icon": "book",
      "text": "Bakbak One for headlines and Anek Latin for everything else."
     },
     {
      "icon": "check",
      "text": "Ink and muted text pass contrast, and the red button label sits at 5.1 to 1."
     },
     {
      "icon": "lock",
      "text": "Never a card fill: the brand's own photos carry the colour."
     }
    ],
    "stat": {
     "value": "#ff3d2e",
     "label": "Hero colour"
    },
    "decide": null,
    "mood": "solid"
   },
   "open_questions": []
  },
  {
   "id": "3.7",
   "title": "Patterns",
   "department": "Design",
   "department_slug": "design",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Need your yes, story viewer, Make it, hand off, versions, confirming a paid make",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/patterns",
    "markdown": "https://handbook.joinsquareup.com/design/patterns.md",
    "json": "https://handbook.joinsquareup.com/design/patterns.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Each recurring job gets exactly one way, on every screen",
    "points": [
     {
      "icon": "flag",
      "text": "One bottom bar, one main button: Make it on a pick, Hand it off after."
     },
     {
      "icon": "check",
      "text": "Reversible acts get an Undo toast; paid or outward acts get one confirm sheet."
     },
     {
      "icon": "money",
      "text": "A first button never shows a price; the sheet shows it once."
     },
     {
      "icon": "chat",
      "text": "Need your yes tops Today and replaces five lists of waiting things."
     },
     {
      "icon": "gear",
      "text": "Today: 16 ways into a jam, 10 hand off buttons. Tomorrow: one of each."
     }
    ],
    "stat": {
     "value": "16",
     "label": "Ways into a jam today"
    },
    "decide": "Is Me a hand off choice in v1, and does Slack lose its make button?",
    "mood": "waiting"
   },
   "open_questions": [
    "Should Undo stay reachable after the toast goes, for example from the item's menu? Proposal: no, three seconds plus Later in See everything is enough for v1.",
    "Do the keys show a small hint the first time on a laptop? Proposal: yes, one line under the first pick, once.",
    "The hand off sheet lists four choices but the kit words describe three. Is Me a choice in v1? Proposal: yes, Me ships Copy and open, which already exists.",
    "Should Slack keep its make button until the Next change? Proposal: remove it in v1 so every paid make starts at the one confirm sheet."
   ]
  },
  {
   "id": "3.8",
   "title": "States",
   "department": "Design",
   "department_slug": "design",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Empty, loading, error, offline, caught up, cap reached",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/states/dog",
    "markdown": "https://handbook.joinsquareup.com/design/states/dog.md",
    "json": "https://handbook.joinsquareup.com/design/states/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/design/states/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/design/states/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/design/states/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/design/states/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Six states, one look each, and Fetch goes sheepish when we break",
    "points": [
     {
      "icon": "flag",
      "text": "Every screen is empty, waiting, partial, error, full or done, with one way forward."
     },
     {
      "icon": "warn",
      "text": "Errors make Fetch sheepish, ears down, never sad or begging."
     },
     {
      "icon": "heart",
      "text": "A failed make says: Dropped that one. Your other versions are safe."
     },
     {
      "icon": "check",
      "text": "Week done says: That is the week. Every pick seen."
     },
     {
      "icon": "eye",
      "text": "Under reduced motion, Fetch holds still in every state."
     }
    ],
    "stat": {
     "value": "12",
     "label": "Loader kinds today"
    },
    "decide": "Empty and error slots stay on the small mark, or grow to 120 pixels?",
    "mood": "building"
   },
   "open_questions": [
    "Empty and error slots are 96 px, under the 120 px switch, so Fetch's empty and error poses never show in those slots. Raise those slots to 120 px or accept the small mark? Proposal: accept the small mark in the product and keep the full poses for marketing.",
    "The kit has no words for See everything filtered to nothing. Proposal: \"Nothing in this area this week.\" with Show all areas.",
    "Should the first heart celebration use Fetch's full celebrate pose rather than 40 px in the toast? Proposal: yes, once, at 120 px, then the toast for every later heart."
   ]
  },
  {
   "id": "3.8",
   "title": "States",
   "department": "Design",
   "department_slug": "design",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Empty, loading, error, offline, caught up, cap reached",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/states/bee",
    "markdown": "https://handbook.joinsquareup.com/design/states/bee.md",
    "json": "https://handbook.joinsquareup.com/design/states/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/design/states/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/design/states/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/design/states/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/design/states/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Six states, one look each, and a bumped window is no drama",
    "points": [
     {
      "icon": "flag",
      "text": "Every screen is empty, waiting, partial, error, full or done, with one way forward."
     },
     {
      "icon": "warn",
      "text": "Buzz owns the broken moment as Bumped the window, in headers, never the error line."
     },
     {
      "icon": "heart",
      "text": "A failed make says: Bumped the window. Earlier versions are safe."
     },
     {
      "icon": "check",
      "text": "Week done says: The hive is humming. That is the week."
     },
     {
      "icon": "eye",
      "text": "Under reduced motion, Buzz holds still in every state."
     }
    ],
    "stat": {
     "value": "12",
     "label": "Loader kinds today"
    },
    "decide": "Empty and error slots stay on the small mark, or grow to 120 pixels?",
    "mood": "building"
   },
   "open_questions": [
    "Empty and error slots are 96 px, under the 120 px switch, so Buzz's empty and error poses never show in those slots. Raise those slots to 120 px or accept the small mark? Proposal: accept the small mark in the product and keep the full poses for marketing.",
    "The kit has no words for See everything filtered to nothing. Proposal: \"Nothing in this area this week.\" with Show all areas.",
    "Should the first heart celebration use Buzz's full celebrate pose rather than 40 px in the toast? Proposal: yes, once, at 120 px, then the toast for every later heart."
   ]
  },
  {
   "id": "3.8",
   "title": "States",
   "department": "Design",
   "department_slug": "design",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Empty, loading, error, offline, caught up, cap reached",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/states/raccoon",
    "markdown": "https://handbook.joinsquareup.com/design/states/raccoon.md",
    "json": "https://handbook.joinsquareup.com/design/states/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/design/states/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/design/states/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/design/states/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/design/states/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Six states, one look each, and a tripped tail is quickly forgiven",
    "points": [
     {
      "icon": "flag",
      "text": "Every screen is empty, waiting, partial, error, full or done, with one way forward."
     },
     {
      "icon": "warn",
      "text": "Scoop's week done is All dished out, kept for headers, never the error line."
     },
     {
      "icon": "heart",
      "text": "A failed make says: Tripped over my tail. Try that again."
     },
     {
      "icon": "check",
      "text": "Week done ends: That is all the gossip this week. Back Monday."
     },
     {
      "icon": "eye",
      "text": "Under reduced motion, Scoop holds still in every state."
     }
    ],
    "stat": {
     "value": "12",
     "label": "Loader kinds today"
    },
    "decide": "Empty and error slots stay on the small mark, or grow to 120 pixels?",
    "mood": "building"
   },
   "open_questions": [
    "Empty and error slots are 96 px, under the 120 px switch, so Scoop's empty and error poses never show in those slots. Raise those slots to 120 px or accept the small mark? Proposal: accept the small mark in the product and keep the full poses for marketing.",
    "The kit has no words for See everything filtered to nothing. Proposal: \"Nothing in this area this week.\" with Show all areas.",
    "Should the first heart celebration use Scoop's full celebrate pose rather than 40 px in the toast? Proposal: yes, once, at 120 px, then the toast for every later heart."
   ]
  },
  {
   "id": "3.8",
   "title": "States",
   "department": "Design",
   "department_slug": "design",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Empty, loading, error, offline, caught up, cap reached",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/states/octopus",
    "markdown": "https://handbook.joinsquareup.com/design/states/octopus.md",
    "json": "https://handbook.joinsquareup.com/design/states/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/design/states/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/design/states/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/design/states/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/design/states/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Six states, one look each, and a knot is just a knot",
    "points": [
     {
      "icon": "flag",
      "text": "Every screen is empty, waiting, partial, error, full or done, with one way forward."
     },
     {
      "icon": "warn",
      "text": "Ocho owns the broken moment as Knot, in headers, never the error line."
     },
     {
      "icon": "heart",
      "text": "A failed make says: Smudged it. Your earlier versions are safe. Try again."
     },
     {
      "icon": "check",
      "text": "Week done says: Arms free. That is the week."
     },
     {
      "icon": "eye",
      "text": "Under reduced motion, Ocho holds still in every state."
     }
    ],
    "stat": {
     "value": "12",
     "label": "Loader kinds today"
    },
    "decide": "Empty and error slots stay on the small mark, or grow to 120 pixels?",
    "mood": "building"
   },
   "open_questions": [
    "Empty and error slots are 96 px, under the 120 px switch, so Ocho's empty and error poses never show in those slots. Raise those slots to 120 px or accept the small mark? Proposal: accept the small mark in the product and keep the full poses for marketing.",
    "The kit has no words for See everything filtered to nothing. Proposal: \"Nothing in this area this week.\" with Show all areas.",
    "Should the first heart celebration use Ocho's full celebrate pose rather than 40 px in the toast? Proposal: yes, once, at 120 px, then the toast for every later heart."
   ]
  },
  {
   "id": "3.8",
   "title": "States",
   "department": "Design",
   "department_slug": "design",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Empty, loading, error, offline, caught up, cap reached",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/states/cooker",
    "markdown": "https://handbook.joinsquareup.com/design/states/cooker.md",
    "json": "https://handbook.joinsquareup.com/design/states/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/design/states/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/design/states/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/design/states/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/design/states/octopus.json"
    }
   ],
   "tldr": {
    "headline": "Six states, one look each, and a boiled over pot is forgiven",
    "points": [
     {
      "icon": "flag",
      "text": "Every screen is empty, waiting, partial, error, full or done, with one way forward."
     },
     {
      "icon": "warn",
      "text": "Seeti owns the broken moment as Boiled over, in headers, never the error line."
     },
     {
      "icon": "heart",
      "text": "A failed make says: Stuck to the pan. Your other versions are safe."
     },
     {
      "icon": "check",
      "text": "Week done says: Kitchen's clean. Go on, lift the lid."
     },
     {
      "icon": "eye",
      "text": "Under reduced motion, Seeti holds still in every state."
     }
    ],
    "stat": {
     "value": "12",
     "label": "Loader kinds today"
    },
    "decide": "Empty and error slots stay on the small mark, or grow to 120 pixels?",
    "mood": "building"
   },
   "open_questions": [
    "Empty and error slots are 96 px, under the 120 px switch, so Seeti's empty and error poses never show in those slots. Raise those slots to 120 px or accept the small mark? Proposal: accept the small mark in the product and keep the full poses for marketing.",
    "The kit has no words for See everything filtered to nothing. Proposal: \"Nothing in this area this week.\" with Show all areas.",
    "Should the first heart celebration use Seeti's full celebrate pose rather than 40 px in the toast? Proposal: yes, once, at 120 px, then the toast for every later heart."
   ]
  },
  {
   "id": "3.9",
   "title": "Content design",
   "department": "Design",
   "department_slug": "design",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Card budgets, the glance rule, words per surface",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/content-design",
    "markdown": "https://handbook.joinsquareup.com/design/content-design.md",
    "json": "https://handbook.joinsquareup.com/design/content-design.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Every surface gets a word budget; cards must land in three seconds",
    "points": [
     {
      "icon": "eye",
      "text": "A closed card is five things, 25 words at most; today 60 to 90."
     },
     {
      "icon": "book",
      "text": "One plain word per concept, such as New version instead of Redo it."
     },
     {
      "icon": "chat",
      "text": "The character speaks around cards, never on them."
     },
     {
      "icon": "warn",
      "text": "Shortening card generation is a core change, so a card lint ships first."
     },
     {
      "icon": "check",
      "text": "Sentence case, no dashes, no exclamation marks, no emoji, status always a word."
     }
    ],
    "stat": {
     "value": "25",
     "label": "Words on a closed card"
    },
    "decide": "Shorten card generation to the 8 and 12 word budgets, or ship the lint first?",
    "mood": "waiting"
   },
   "open_questions": [
    "Our team's future name is open, and the kit strings still name the old company. What is the plain word for our team on screens? Proposal: \"our team\" until the name is picked, then one find and replace.",
    "Should card generation be shortened to the 8 and 12 word budgets, which is a core change? Proposal: ship the lint first, measure for two weeks, then decide.",
    "Today's feed end says \"You're done for today\" with Find more. Tomorrow says caught up for the week. Is the week the unit for every brand? Proposal: yes, five picks a week, See everything for the rest.",
    "Areas: are Social posts, Ads, Website, AI search, Email and WhatsApp the final five names? Proposal: accept them as written."
   ]
  },
  {
   "id": "3.10",
   "title": "Accessibility",
   "department": "Design",
   "department_slug": "design",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Contrast, tap targets, motion, screen readers, checks",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/accessibility",
    "markdown": "https://handbook.joinsquareup.com/design/accessibility.md",
    "json": "https://handbook.joinsquareup.com/design/accessibility.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "One accessibility bar for every screen, and the live product misses it",
    "points": [
     {
      "icon": "eye",
      "text": "The bar: 4.5 to 1 text contrast, visible focus, 44 px targets, reduced motion respected."
     },
     {
      "icon": "warn",
      "text": "The live third text colour fails contrast and is used 787 times."
     },
     {
      "icon": "check",
      "text": "Every direction's kit passes on ink and muted text in both themes."
     },
     {
      "icon": "flag",
      "text": "Four of five hero colours fall below 3 to 1 on the light page."
     },
     {
      "icon": "people",
      "text": "No screen reader pass has been run on the kit yet."
     }
    ],
    "stat": {
     "value": "787",
     "label": "Uses of failing text colour"
    },
    "decide": "Who runs the first screen reader pass, and when?",
    "mood": "waiting"
   },
   "open_questions": [
    "The 9.2 to 1 figure from the docs site audit has no file behind it, and recomputing the docs tokens gives 4.8 to 1 for muted text on Seeti light. Which elements did the audit measure? Proposal: rerun it, publish the script beside the docs and record ink and muted separately.",
    "Four directions' hero colours are below 3 to 1 on the light page. Is an edge or shape on hero indicators acceptable? Proposal: yes, add a 1 px ink edge to the unseen ring and the on switch in light themes.",
    "Should small buttons and chips grow to 44 px tall, or keep their look with a larger hit area? Proposal: a larger hit area, so rows stay quiet.",
    "Who runs the first screen reader pass and when? Proposal: Sai, on the chosen direction, before the restyle ships."
   ]
  },
  {
   "id": "3.11",
   "title": "Character usage",
   "department": "Design",
   "department_slug": "design",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Slots, poses, never on a control",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/character-usage/dog",
    "markdown": "https://handbook.joinsquareup.com/design/character-usage/dog.md",
    "json": "https://handbook.joinsquareup.com/design/character-usage/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/design/character-usage/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/design/character-usage/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/design/character-usage/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/design/character-usage/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Fetch the scruffy dog lives in seven slots, off every control",
    "points": [
     {
      "icon": "spark",
      "text": "Fetch fetches the week's ideas and drops them at your feet, around the brand's work."
     },
     {
      "icon": "lock",
      "text": "It never sits on a button, a card, a decision or a brand photo."
     },
     {
      "icon": "warn",
      "text": "Fetch never claims it posted your work or lifted your sales."
     },
     {
      "icon": "rocket",
      "text": "New abilities arrive as new props or poses, never a new character."
     }
    ],
    "stat": {
     "value": "18",
     "label": "Of 45 screens"
    },
    "decide": "Should the character layer start on or off for a new brand?",
    "mood": "waiting"
   },
   "open_questions": [
    "Fetch has extra poses for heart, drop and handoff that the kit never calls. Use them? Proposal: Use the heart pose on the first heart celebration at 120 px and drop on the Monday greeting; leave handoff for marketing.",
    "The felt plate is a book treatment. Should it sit behind Fetch in the product too? Proposal: No, keep the product calm; the plate stays in books, the site and marketing.",
    "The model puts the first heart in a 120 px celebration; the kit draws it at 40 px inside the toast. Which? Proposal: The first heart at 120 px once, later hearts in the toast.",
    "Should the character layer start on or off for a new brand? Proposal: On, with sound off, since the slots never block a control."
   ]
  },
  {
   "id": "3.11",
   "title": "Character usage",
   "department": "Design",
   "department_slug": "design",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Slots, poses, never on a control",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/character-usage/bee",
    "markdown": "https://handbook.joinsquareup.com/design/character-usage/bee.md",
    "json": "https://handbook.joinsquareup.com/design/character-usage/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/design/character-usage/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/design/character-usage/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/design/character-usage/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/design/character-usage/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Buzz the busy bee lives in seven slots, off every control",
    "points": [
     {
      "icon": "spark",
      "text": "Buzz does a whole hive's work, narrating the week around the brand's work."
     },
     {
      "icon": "lock",
      "text": "It never sits on a button, a card, a decision or a brand photo."
     },
     {
      "icon": "warn",
      "text": "Buzz never claims it posted your work or lifted your sales."
     },
     {
      "icon": "rocket",
      "text": "New abilities arrive as new props or poses, never a new character."
     }
    ],
    "stat": {
     "value": "18",
     "label": "Of 45 screens"
    },
    "decide": "Should the character layer start on or off for a new brand?",
    "mood": "waiting"
   },
   "open_questions": [
    "Buzz's light focus colour is #8a6a00 at 4.7 to 1 on the page, the lowest of the five. Keep it? Proposal: Keep it; it passes the 3 to 1 a focus ring needs.",
    "The sun disc is drawn only in dark. Does Buzz need it in light? Proposal: No, the ink limbs read on the light page.",
    "The model puts the first heart in a 120 px celebration; the kit draws it at 40 px inside the toast. Which? Proposal: The first heart at 120 px once, later hearts in the toast.",
    "Should the character layer start on or off for a new brand? Proposal: On, with sound off, since the slots never block a control."
   ]
  },
  {
   "id": "3.11",
   "title": "Character usage",
   "department": "Design",
   "department_slug": "design",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Slots, poses, never on a control",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/character-usage/raccoon",
    "markdown": "https://handbook.joinsquareup.com/design/character-usage/raccoon.md",
    "json": "https://handbook.joinsquareup.com/design/character-usage/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/design/character-usage/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/design/character-usage/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/design/character-usage/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/design/character-usage/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Scoop the nosy raccoon lives in seven slots, off every control",
    "points": [
     {
      "icon": "spark",
      "text": "Scoop goes through everything said about your store and brings back the gossip."
     },
     {
      "icon": "lock",
      "text": "It never sits on a button, a card, a decision or a brand photo."
     },
     {
      "icon": "warn",
      "text": "Scoop never claims it posted your work or lifted your sales."
     },
     {
      "icon": "rocket",
      "text": "No props are drawn yet for doing and reporting."
     }
    ],
    "stat": {
     "value": "18",
     "label": "Of 45 screens"
    },
    "decide": "Should the character layer start on or off for a new brand?",
    "mood": "waiting"
   },
   "open_questions": [
    "The system file says the small mark is for anything under 48 px, the kit swaps at 120 px. Which? Proposal: Follow the kit: under 120 px, so the 96 px empty and error slots show the mark.",
    "Scoop has a gasp pose for the reveal, but the kit draws the reveal with the celebrate pose. Switch? Proposal: Yes, use char-gasp.svg at 160 px on the reveal.",
    "No props are drawn yet for doing and reporting. Which ones? Proposal: A rubber stamp for doing in v2 and a tally card for reporting in v3, drawn from the master.",
    "The model puts the first heart in a 120 px celebration; the kit draws it at 40 px inside the toast. Which? Proposal: The first heart at 120 px once, later hearts in the toast.",
    "Should the character layer start on or off for a new brand? Proposal: On, with sound off, since the slots never block a control."
   ]
  },
  {
   "id": "3.11",
   "title": "Character usage",
   "department": "Design",
   "department_slug": "design",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Slots, poses, never on a control",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/character-usage/octopus",
    "markdown": "https://handbook.joinsquareup.com/design/character-usage/octopus.md",
    "json": "https://handbook.joinsquareup.com/design/character-usage/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/design/character-usage/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/design/character-usage/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/design/character-usage/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/design/character-usage/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Ocho the octopus lives in seven slots, arms off every control",
    "points": [
     {
      "icon": "spark",
      "text": "Ocho does eight things at once for your store, around the brand's work."
     },
     {
      "icon": "lock",
      "text": "It never sits on a button, a card, a decision or a brand photo."
     },
     {
      "icon": "warn",
      "text": "Ocho never claims it posted your work or lifted your sales."
     },
     {
      "icon": "rocket",
      "text": "New abilities arrive as new props or poses, never a new character."
     }
    ],
    "stat": {
     "value": "18",
     "label": "Of 45 screens"
    },
    "decide": "Does the print shadow on full poses pass the no soft shadow rule?",
    "mood": "waiting"
   },
   "open_questions": [
    "The print shadow on full poses is a drop shadow filter. Does it pass the no soft shadow rule? Proposal: Yes, it has no blur; keep it.",
    "Ocho's main button label is 6.0 to 1 on pink. Darker pink for light theme? Proposal: Keep #ff4fa3 in both themes; the label passes.",
    "The model puts the first heart in a 120 px celebration; the kit draws it at 40 px inside the toast. Which? Proposal: The first heart at 120 px once, later hearts in the toast.",
    "Should the character layer start on or off for a new brand? Proposal: On, with sound off, since the slots never block a control."
   ]
  },
  {
   "id": "3.11",
   "title": "Character usage",
   "department": "Design",
   "department_slug": "design",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Slots, poses, never on a control",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/character-usage/cooker",
    "markdown": "https://handbook.joinsquareup.com/design/character-usage/cooker.md",
    "json": "https://handbook.joinsquareup.com/design/character-usage/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/design/character-usage/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/design/character-usage/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/design/character-usage/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/design/character-usage/octopus.json"
    }
   ],
   "tldr": {
    "headline": "Seeti the pressure cooker lives in seven slots, off every control",
    "points": [
     {
      "icon": "spark",
      "text": "Seeti toots three times when the week is ready, around the brand's work."
     },
     {
      "icon": "lock",
      "text": "It never sits on a button, a card, a decision or a brand photo."
     },
     {
      "icon": "warn",
      "text": "Seeti never claims it posted your work or lifted your sales."
     },
     {
      "icon": "rocket",
      "text": "Chilli red covers under ten percent of a screen."
     }
    ],
    "stat": {
     "value": "18",
     "label": "Of 45 screens"
    },
    "decide": "Should the character layer start on or off for a new brand?",
    "mood": "waiting"
   },
   "open_questions": [
    "Seeti's reading line for AI answers names ChatGPT, Gemini, Perplexity and Claude, and the model bans vendor names in front of a founder. Rewrite it? Proposal: Yes: \"Asking AI answers about you.\"",
    "The system file sets ticket labels in uppercase, which the writing rules ban. Keep tickets for books only? Proposal: Yes, order tickets and uppercase stay out of the product.",
    "The model puts the first heart in a 120 px celebration; the kit draws it at 40 px inside the toast. Which? Proposal: The first heart at 120 px once, later hearts in the toast.",
    "Should the character layer start on or off for a new brand? Proposal: On, with sound off, since the slots never block a control."
   ]
  },
  {
   "id": "3.12",
   "title": "Web and phone layouts",
   "department": "Design",
   "department_slug": "design",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Rail and two-pane Make it on the web, bottom bar on a phone",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/web-and-phone-layouts",
    "markdown": "https://handbook.joinsquareup.com/design/web-and-phone-layouts.md",
    "json": "https://handbook.joinsquareup.com/design/web-and-phone-layouts.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Phone first, with three widths replacing today's twenty one breakpoints",
    "points": [
     {
      "icon": "map",
      "text": "Under 600 px: three bottom tabs and one column."
     },
     {
      "icon": "eye",
      "text": "600 to 1024 px: two columns of cards and a sheet from the right."
     },
     {
      "icon": "gear",
      "text": "Over 1024 px: left rail, side peek and a two pane Make it."
     },
     {
      "icon": "warn",
      "text": "The kit has no tablet frame yet; one at 820 by 1180 is proposed."
     },
     {
      "icon": "flag",
      "text": "No sideways page scroll at any width."
     }
    ],
    "stat": {
     "value": "21",
     "label": "Breakpoints in the live CSS"
    },
    "decide": "Draw a tablet frame before tablet ships, and keep 1024 for the rail?",
    "mood": "building"
   },
   "open_questions": [
    "Tablet has no kit frame. Draw one at 820 by 1180 before tablet ships? Proposal: yes, in v1, since the rules exist.",
    "Does the Shopify admin frame need a slimmer top bar? Proposal: test it against Shopify's App Bridge rules after the app review clears.",
    "Is 1024 the right switch to the rail, given today's most common break is 700? Proposal: keep 1024 from the model, and use two columns of cards between 600 and 1024."
   ]
  },
  {
   "id": "3.13",
   "title": "Design QA checklist",
   "department": "Design",
   "department_slug": "design",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "What every screen passes before it ships",
   "urls": {
    "html": "https://handbook.joinsquareup.com/design/design-qa-checklist",
    "markdown": "https://handbook.joinsquareup.com/design/design-qa-checklist.md",
    "json": "https://handbook.joinsquareup.com/design/design-qa-checklist.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Forty checks, and one fail sends a screen back",
    "points": [
     {
      "icon": "check",
      "text": "A screen ships only when it passes all 40 checks in both themes."
     },
     {
      "icon": "map",
      "text": "Checks run at phone and laptop width, on at least three real brands."
     },
     {
      "icon": "lock",
      "text": "Truth checks: every number has a source chip, and a price shows once."
     },
     {
      "icon": "heart",
      "text": "Fix each fail in the kit part, so every brand and screen gets the fix."
     },
     {
      "icon": "flag",
      "text": "Last step before production is the clean gate: no dummy or test data."
     }
    ],
    "stat": {
     "value": "40",
     "label": "Numbered checks"
    },
    "decide": "One gate for everything, or a fast gate for small changes?",
    "mood": "building"
   },
   "open_questions": [
    "Should 40 checks be one gate, or split into a fast gate for small changes and the full list for new screens? Proposal: a fast gate of checks 1, 2, 6, 9, 12, 20, 25, 36, 38 and 40 for small changes, the full list for new screens.",
    "Where does the QA sheet live? Proposal: one row per screen and check in the handbook, linked from Every screen.",
    "Is a headless audit worth building for checks 14, 36 and 38? Proposal: yes, reuse the loader audit approach with puppeteer."
   ]
  },
  {
   "id": "4.3",
   "title": "Naming",
   "department": "Brand",
   "department_slug": "brand",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "The rename: criteria, shortlist, trademark and domain checks",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/naming",
    "markdown": "https://handbook.joinsquareup.com/brand/naming.md",
    "json": "https://handbook.joinsquareup.com/brand/naming.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "The product needs a new name, and nobody has picked one yet",
    "points": [
     {
      "icon": "flag",
      "text": "Rename began on 25 Oct; Brew stays only as the internal name for now."
     },
     {
      "icon": "gear",
      "text": "Customer-facing copy reads one constant, PRODUCT_NAME, so the rename is one line."
     },
     {
      "icon": "check",
      "text": "A name must be one or two syllables, easy in every accent, with a free domain."
     },
     {
      "icon": "lock",
      "text": "The character name is never the product name."
     },
     {
      "icon": "warn",
      "text": "No trademark or domain check has started for any name."
     }
    ],
    "stat": {
     "value": "87",
     "label": "mentions of Brew in app.js"
    },
    "decide": "Name it right after the character pick, before any screen is reskinned?",
    "mood": "waiting"
   },
   "open_questions": [
    "**When do we name it?** Proposal: right after the character pick, before any screen is reskinned, so the slot is filled once.",
    "**Which tests must a name pass?** Proposal: accept the tests above as they are: one or two syllables, easy in every accent, says the job or sits well beside the character, not a known app, a free domain, a clean India trademark search.",
    "**Does the character name ever become the product name?** Proposal: no. Every brand book already says the character is never the product, and a character can be swapped later without renaming the product.",
    "**Who does the trademark check?** Proposal: a quick search by our team for the shortlist, then one paid opinion from a trademark lawyer in India on the final two, before any domain is bought.",
    "**Does the product move off joinsquareup.com?** Proposal: yes, to a domain on the new name once it clears; keep feed.joinsquareup.com redirecting so design partners' links keep working.",
    "**Which character alternates stay live?** Proposal: keep the two alternates only for the picked character, as a fallback if its name fails clearance, and archive the rest with their folders."
   ]
  },
  {
   "id": "4.4",
   "title": "The five directions",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Side by side, strengths, scores",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/the-five-directions/dog",
    "markdown": "https://handbook.joinsquareup.com/brand/the-five-directions/dog.md",
    "json": "https://handbook.joinsquareup.com/brand/the-five-directions/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/brand/the-five-directions/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/brand/the-five-directions/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/brand/the-five-directions/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/brand/the-five-directions/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Five characters, one pick, and Fetch wants you to throw it",
    "points": [
     {
      "icon": "spark",
      "text": "Fetch is the product in one picture: throw your store, it brings ideas back."
     },
     {
      "icon": "heart",
      "text": "The weekly loop is a game every dog plays: throw, run, drop, again."
     },
     {
      "icon": "warn",
      "text": "Gives up novelty, some sharpness and gravitas, and the product holds it at five picks."
     },
     {
      "icon": "eye",
      "text": "No critic has scored Fetch yet, because it was built after round 3."
     },
     {
      "icon": "flag",
      "text": "No direction is picked, and the five founder tests have not run."
     }
    ],
    "stat": {
     "value": "45",
     "label": "screens to skin if picked"
    },
    "decide": "Should a fresh critic score Fetch against the bar before the pick?",
    "mood": "waiting"
   },
   "open_questions": [
    "Should Fetch get a critic round before the pick, as three others did? Proposal: yes, one fresh critic scores Fetch and Buzz against the bar and Octalysis, so all five are compared on the same footing.",
    "Is a happy dog sharp enough, after a generic friendly dog was turned down? Proposal: decide on the bad day and ten second tests with five founders, not on the drawing alone.",
    "Who are the deciders and by when? Proposal: Param, Sai and Arvind answer the Monday question alone this week, and Param picks after the founder tests."
   ]
  },
  {
   "id": "4.4",
   "title": "The five directions",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Side by side, strengths, scores",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/the-five-directions/bee",
    "markdown": "https://handbook.joinsquareup.com/brand/the-five-directions/bee.md",
    "json": "https://handbook.joinsquareup.com/brand/the-five-directions/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/brand/the-five-directions/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/brand/the-five-directions/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/brand/the-five-directions/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/brand/the-five-directions/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Five characters, one pick, and Buzz says the best bloom wins",
    "points": [
     {
      "icon": "spark",
      "text": "The waggle dance is the ranked feed: Buzz points you at the best pick."
     },
     {
      "icon": "eye",
      "text": "A yellow ball with two stripes reads as a bee at 16 pixels."
     },
     {
      "icon": "check",
      "text": "Yellow is free: none of the five agent colours is yellow."
     },
     {
      "icon": "warn",
      "text": "Gives up novelty, and some people flinch at bees."
     },
     {
      "icon": "flag",
      "text": "Buzz has no bar score or Octalysis score yet."
     }
    ],
    "stat": {
     "value": "16",
     "label": "pixels where the mark reads"
    },
    "decide": "Should a fresh critic score Buzz before the pick, ahead of any founder test?",
    "mood": "waiting"
   },
   "open_questions": [
    "Should Buzz be scored by a fresh critic before the pick, like Seeti, Ocho and Scoop were? Proposal: yes, one round against the eleven point bar and Octalysis, written to bee/review.md, before any founder test.",
    "Is Buzz the final character name, given Bumble is a well known app and Buzz is a common word? Proposal: keep Buzz as the character name, since it is never the product name and does not need a trademark alone.",
    "Do we run the five founder tests before the pick or skip them? Proposal: run them with five design partner founders, about 15 minutes each, using the existing pages and sounds."
   ]
  },
  {
   "id": "4.4",
   "title": "The five directions",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Side by side, strengths, scores",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/the-five-directions/raccoon",
    "markdown": "https://handbook.joinsquareup.com/brand/the-five-directions/raccoon.md",
    "json": "https://handbook.joinsquareup.com/brand/the-five-directions/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/brand/the-five-directions/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/brand/the-five-directions/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/brand/the-five-directions/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/brand/the-five-directions/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Five characters auditioning, and Scoop has the gossip on every one",
    "points": [
     {
      "icon": "chat",
      "text": "The read is the hero: the first screen feels like news about you."
     },
     {
      "icon": "lock",
      "text": "The trust rule is a catchphrase: for your read, I only look at what's public."
     },
     {
      "icon": "chart",
      "text": "Scoop scored 9.5 of 11 on the bar and 6 of 10 on Octalysis."
     },
     {
      "icon": "warn",
      "text": "Gives up some trust: it can read as a bin thief, and gossip can tip mean."
     },
     {
      "icon": "flag",
      "text": "Five founder tests exist and none has been run."
     }
    ],
    "stat": {
     "value": "9.5",
     "label": "bar score out of 11"
    },
    "decide": "Is gossip the right frame for the product, or does Scoop get dropped?",
    "mood": "waiting"
   },
   "open_questions": [
    "Is gossip the right frame for the product? Proposal: yes if the ten second test gets raccoon plus reviews or gossip from most founders, else drop Scoop.",
    "Should every direction be scored again on its current art before the pick? Proposal: yes, one fresh critic round for all five, including Fetch and Buzz for the first time.",
    "Shared questions that do not block the pick: the product name, My team or Your team on the who sheet, the read cap number, read time inside Shopify. Proposal: decide the name first after the pick, the rest during the redo."
   ]
  },
  {
   "id": "4.4",
   "title": "The five directions",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Side by side, strengths, scores",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/the-five-directions/octopus",
    "markdown": "https://handbook.joinsquareup.com/brand/the-five-directions/octopus.md",
    "json": "https://handbook.joinsquareup.com/brand/the-five-directions/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/brand/the-five-directions/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/brand/the-five-directions/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/brand/the-five-directions/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/brand/the-five-directions/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Five characters auditioning, and Ocho already has arms full",
    "points": [
     {
      "icon": "heart",
      "text": "A founder doing eight jobs at once is an octopus with its arms full."
     },
     {
      "icon": "map",
      "text": "The areas are literal: paintbrush for posts, megaphone for ads, bag for website."
     },
     {
      "icon": "chart",
      "text": "Ocho scored 10.5 of 11 on the bar and 7 of 10 on Octalysis."
     },
     {
      "icon": "warn",
      "text": "Gives up calm, and busy arms could imply it posts."
     },
     {
      "icon": "check",
      "text": "Pink is free: none of the five agent colours is pink."
     }
    ],
    "stat": {
     "value": "10.5",
     "label": "bar score out of 11"
    },
    "decide": "Run one critic round for all five on the redrawn art before the pick?",
    "mood": "waiting"
   },
   "open_questions": [
    "Should Fetch and Buzz be scored by a fresh critic before the pick, so all five compare on the same bar? Proposal: yes, one critic round for all five on the redrawn art, then pick.",
    "Is Ocho the final name if it is picked? Proposal: keep Ocho, Spanish for eight, and run the trademark check with the product name.",
    "Will you run the five founder tests before choosing? Proposal: yes, with five design partner founders in one week, results logged in the decisions log."
   ]
  },
  {
   "id": "4.4",
   "title": "The five directions",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Side by side, strengths, scores",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/the-five-directions/cooker",
    "markdown": "https://handbook.joinsquareup.com/brand/the-five-directions/cooker.md",
    "json": "https://handbook.joinsquareup.com/brand/the-five-directions/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/brand/the-five-directions/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/brand/the-five-directions/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/brand/the-five-directions/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/brand/the-five-directions/octopus.json"
    }
   ],
   "tldr": {
    "headline": "Five characters in the kitchen, and Seeti is already cooking",
    "points": [
     {
      "icon": "spark",
      "text": "The product is a kitchen: the read is cooking and the brief is the order ticket."
     },
     {
      "icon": "chat",
      "text": "A cooker whistles and people stop, so the sound is the notification."
     },
     {
      "icon": "chart",
      "text": "Seeti scored 11 of 11 on the bar and 8 of 10 on Octalysis."
     },
     {
      "icon": "warn",
      "text": "Gives up cuddliness, and the whistle needs one sentence outside India."
     },
     {
      "icon": "flag",
      "text": "No direction is picked, and no founder test has run."
     }
    ],
    "stat": {
     "value": "11",
     "label": "bar score out of 11"
    },
    "decide": "A few whistles or three whistles in Seeti's tagline?",
    "mood": "waiting"
   },
   "open_questions": [
    "Which direction wins? Proposal: run the five tests with five founders this week, then pick. If the brand must start in India, Seeti leads.",
    "Should Fetch and Buzz be scored by a critic before the pick, so all five compare on the same bar? Proposal: yes, one fresh critic round for all five after the art push, so no score is stale.",
    "A few whistles or three whistles in Seeti's tagline? Proposal: three whistles, because the sonic logo is three toots and the line then matches the sound.",
    "If Seeti wins, who redraws the master art? Proposal: one paid illustrator for the master and the 24 pixel mark, everything else rebuilt from that rig."
   ]
  },
  {
   "id": "4.5",
   "title": "Fetch character bible",
   "department": "Brand",
   "department_slug": "brand",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Who it is, how it is drawn, poses, its world, its lines",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/fetch-character-bible",
    "markdown": "https://handbook.joinsquareup.com/brand/fetch-character-bible.md",
    "json": "https://handbook.joinsquareup.com/brand/fetch-character-bible.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "How Fetch looks, acts and talks, so anyone can draw it",
    "points": [
     {
      "icon": "spark",
      "text": "Fetch is a scruffy, happy dog: green ears, three scruff tufts, a ball."
     },
     {
      "icon": "heart",
      "text": "Its flaw is eagerness: it sneaks one more thing in, usually its own ball."
     },
     {
      "icon": "lock",
      "text": "Never says it posted, sent or scheduled anything, and never makes up a pick."
     },
     {
      "icon": "eye",
      "text": "Below 120 pixels only the small mark shows, the head with both green ears."
     },
     {
      "icon": "flag",
      "text": "Not picked, and no critic has scored it."
     }
    ],
    "stat": {
     "value": "24",
     "label": "pixel check for small mark"
    },
    "decide": "Is Fetch sharp enough, after a generic friendly dog was turned down before?",
    "mood": "building"
   },
   "open_questions": [
    "Is Fetch sharp enough after a generic friendly dog was turned down before? Proposal: run the ten second and bad day tests with five founders and a critic round against the bar before the pick.",
    "Is Fetch the final name, given it cannot be owned as a trademark alone? Proposal: keep Fetch as the character name, since it is never the product name, and hold Scruff as the alternate.",
    "Who redraws the final art? Proposal: brief one illustrator from the rig and this bible after the pick, keeping the rig as the source for every product frame.",
    "Which motion values win where the books disagree? Proposal: the system file values, 1 s celebrate and 2.4 s error, and fix the motion page to match."
   ]
  },
  {
   "id": "4.6",
   "title": "Buzz character bible",
   "department": "Brand",
   "department_slug": "brand",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Who it is, how it is drawn, poses, its world, its lines",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/buzz-character-bible",
    "markdown": "https://handbook.joinsquareup.com/brand/buzz-character-bible.md",
    "json": "https://handbook.joinsquareup.com/brand/buzz-character-bible.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Buzz in one place: shape, stripes, voice and the two tells",
    "points": [
     {
      "icon": "spark",
      "text": "A round yellow bee with exactly two stripes, never three."
     },
     {
      "icon": "eye",
      "text": "Two tells in every frame: the kinked left feeler and one pollen ball."
     },
     {
      "icon": "lock",
      "text": "Never stings, swarms, chases or guilts, and never claims it posted."
     },
     {
      "icon": "gear",
      "text": "Every frame is vector code from one rig, never an image model."
     },
     {
      "icon": "flag",
      "text": "If this and a book disagree, bee/system.md wins."
     }
    ],
    "stat": {
     "value": "19",
     "label": "poses in the svg folder"
    },
    "decide": "Is Buzz the final name, with Waggle kept as the fallback?",
    "mood": "building"
   },
   "open_questions": [
    "Is Buzz the final name? Proposal: yes, Buzz, with Waggle kept as the fallback if a clash turns up.",
    "Who redraws the final art if Buzz is picked? Proposal: one illustrator redraws from the rig and model sheet, keeping the two tells, and the rig is updated to match.",
    "Which wait timing is right, 3.2 or 3.4 seconds? Proposal: 3.2 seconds, the value the screen kit already runs.",
    "Two kit skin lines, `handedOffMe` and `workNewIntro`, use the word the Plays rule bans. Proposal: change them to Over to you and These changed."
   ]
  },
  {
   "id": "4.7",
   "title": "Scoop character bible",
   "department": "Brand",
   "department_slug": "brand",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Who it is, how it is drawn, poses, its world, its lines",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/scoop-character-bible",
    "markdown": "https://handbook.joinsquareup.com/brand/scoop-character-bible.md",
    "json": "https://handbook.joinsquareup.com/brand/scoop-character-bible.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Scoop the raccoon: how it looks, acts, talks and grows",
    "points": [
     {
      "icon": "chat",
      "text": "A nosy raccoon who comes back with the gossip, never mean."
     },
     {
      "icon": "lock",
      "text": "Only reads what is public, and never names rivals or mocks anyone."
     },
     {
      "icon": "eye",
      "text": "Five shapes, a knotted bandana, and a tail with exactly three tangerine stripes."
     },
     {
      "icon": "chart",
      "text": "Dials: nosiness 9 of 10, drama 7, warmth 8, meanness 0."
     },
     {
      "icon": "clock",
      "text": "Adviser in v1, doer in v2, reporter in v3."
     }
    ],
    "stat": {
     "value": "25",
     "label": "notepad entries before the tail"
    },
    "decide": "Is gossip the right frame, and do we test it before deciding?",
    "mood": "building"
   },
   "open_questions": [
    "Is gossip the right frame for the product? Proposal: keep it, because the read is our real edge and the public pages line turns the trust rule into a catchphrase, and test it with the five founder tests before deciding.",
    "Is Scoop the final name, over Tidbit and Rummage? Proposal: keep Scoop, since the character and the weekly picks share one word.",
    "Who redraws the final art? Proposal: brief one human illustrator with this bible, the master and the turnaround, and keep the generated set as reference only.",
    "The redrawn hero and icon have not been scored. Proposal: run one fresh critic round on the new art before the pick."
   ]
  },
  {
   "id": "4.8",
   "title": "Ocho character bible",
   "department": "Brand",
   "department_slug": "brand",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Who it is, how it is drawn, poses, its world, its lines",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/ocho-character-bible",
    "markdown": "https://handbook.joinsquareup.com/brand/ocho-character-bible.md",
    "json": "https://handbook.joinsquareup.com/brand/ocho-character-bible.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Ocho: one pink octopus, eight arms, and its stress always its own",
    "points": [
     {
      "icon": "spark",
      "text": "An overcommitted hot pink octopus doing eight things at once."
     },
     {
      "icon": "check",
      "text": "Eight arms in every frame. Only the 16 pixel head shows none."
     },
     {
      "icon": "lock",
      "text": "Never claims it posted. Never guilts you. Panics near you, never at you."
     },
     {
      "icon": "heart",
      "text": "Frantic goes up on Monday and down for errors and money."
     },
     {
      "icon": "flag",
      "text": "The redrawn art is a job for one illustrator."
     }
    ],
    "stat": {
     "value": "8",
     "label": "arms in every frame"
    },
    "decide": "Is Ocho the final name, with Inka as the fallback?",
    "mood": "building"
   },
   "open_questions": [
    "Is Ocho the final character name? Proposal: keep Ocho, since it says the job in two syllables and works in every accent, and keep Inka as the fallback if a trademark clash appears.",
    "Who redraws the art, and when? Proposal: if Ocho is picked, brief one illustrator to redraw only the master, the small mark and the ten poses from the rig before any marketing goes out.",
    "Does the frantic expression stay out of the product entirely? Proposal: yes, frantic lives in marketing and on the stage only, as the books already say."
   ]
  },
  {
   "id": "4.9",
   "title": "Seeti character bible",
   "department": "Brand",
   "department_slug": "brand",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Who it is, how it is drawn, poses, its world, its lines",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/seeti-character-bible",
    "markdown": "https://handbook.joinsquareup.com/brand/seeti-character-bible.md",
    "json": "https://handbook.joinsquareup.com/brand/seeti-character-bible.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Seeti the cooker: bossy, dramatic, whistles, and scolds only ideas",
    "points": [
     {
      "icon": "spark",
      "text": "A squat steel pressure cooker with a chilli red whistle and long handle."
     },
     {
      "icon": "heart",
      "text": "Bossy and impatient, but it scolds ideas, never people."
     },
     {
      "icon": "lock",
      "text": "Never shames you, names a rival, invents a number or says your work is burnt."
     },
     {
      "icon": "eye",
      "text": "Below 120 pixels the small mark keeps lid, whistle, eyes and the whole long handle."
     },
     {
      "icon": "chat",
      "text": "The name is Hindi for whistle, said see tee."
     }
    ],
    "stat": {
     "value": "4",
     "label": "minute read it dramatizes"
    },
    "decide": "Should Seeti stay it, or become she, since the voice is a woman?",
    "mood": "building"
   },
   "open_questions": [
    "Is Seeti the final character name? Proposal: keep Seeti, with Whistle as the fallback if a trademark clash turns up.",
    "Should Seeti stay it, or become she, since the voice is a woman? Proposal: it in every line we write, and let fans say she.",
    "Who redraws the master if Seeti wins, and with what budget? Proposal: one illustrator for the master, the 24 pixel mark and the turnaround, then rebuild every frame from the rig.",
    "Is boss, once a week, warm or too familiar outside India? Proposal: keep it once a week and test it in the bad day test."
   ]
  },
  {
   "id": "4.10",
   "title": "Voice and words",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "generated",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Writing rules, plain words, per-direction voice, never-say lines",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/voice-and-words/dog",
    "markdown": "https://handbook.joinsquareup.com/brand/voice-and-words/dog.md",
    "json": "https://handbook.joinsquareup.com/brand/voice-and-words/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/brand/voice-and-words/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/brand/voice-and-words/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/brand/voice-and-words/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/brand/voice-and-words/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Plain words on the buttons, Fetch's words only around them",
    "points": [
     {
      "icon": "chat",
      "text": "Fact first, joke second, and one joke a line at most."
     },
     {
      "icon": "book",
      "text": "Plain on the button, Fetch's word around it: Hand it off becomes Drop it."
     },
     {
      "icon": "check",
      "text": "Say draft, pick, brief, copy. Post, send or schedule only about Later."
     },
     {
      "icon": "lock",
      "text": "Voice dials down to off for errors, money, privacy and apologies."
     },
     {
      "icon": "warn",
      "text": "Never says I posted it, or that your sales went up after my picks."
     }
    ],
    "stat": null,
    "decide": null,
    "mood": "solid"
   },
   "open_questions": []
  },
  {
   "id": "4.10",
   "title": "Voice and words",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "generated",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Writing rules, plain words, per-direction voice, never-say lines",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/voice-and-words/bee",
    "markdown": "https://handbook.joinsquareup.com/brand/voice-and-words/bee.md",
    "json": "https://handbook.joinsquareup.com/brand/voice-and-words/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/brand/voice-and-words/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/brand/voice-and-words/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/brand/voice-and-words/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/brand/voice-and-words/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Plain words on the buttons, Buzz buzzes only around them",
    "points": [
     {
      "icon": "chat",
      "text": "Fact first, buzz second. Quick, bright, warm, short clauses."
     },
     {
      "icon": "book",
      "text": "Plain on the button, Buzz's word around it: Hand it off becomes Pass the pollen."
     },
     {
      "icon": "flag",
      "text": "Bee puns at most once per screen, never in errors about money or privacy."
     },
     {
      "icon": "check",
      "text": "Never more than two sentences in the product."
     },
     {
      "icon": "warn",
      "text": "Never claims it posted anything, and never says a rival is stinging you."
     }
    ],
    "stat": null,
    "decide": null,
    "mood": "solid"
   },
   "open_questions": []
  },
  {
   "id": "4.10",
   "title": "Voice and words",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "generated",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Writing rules, plain words, per-direction voice, never-say lines",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/voice-and-words/raccoon",
    "markdown": "https://handbook.joinsquareup.com/brand/voice-and-words/raccoon.md",
    "json": "https://handbook.joinsquareup.com/brand/voice-and-words/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/brand/voice-and-words/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/brand/voice-and-words/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/brand/voice-and-words/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/brand/voice-and-words/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Plain on the buttons. Scoop whispers the gossip around them",
    "points": [
     {
      "icon": "chat",
      "text": "Talks about you and your store, and about itself for four words at most."
     },
     {
      "icon": "lock",
      "text": "Says what the read looks at: public pages, and read only connections if any."
     },
     {
      "icon": "eye",
      "text": "Describes rivals by patterns in a category, with no names or logos."
     },
     {
      "icon": "heart",
      "text": "Delights in ideas and never mocks a customer or a reviewer."
     },
     {
      "icon": "warn",
      "text": "A person, never Scoop, handles money, privacy and anyone upset."
     }
    ],
    "stat": null,
    "decide": null,
    "mood": "solid"
   },
   "open_questions": []
  },
  {
   "id": "4.10",
   "title": "Voice and words",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "generated",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Writing rules, plain words, per-direction voice, never-say lines",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/voice-and-words/octopus",
    "markdown": "https://handbook.joinsquareup.com/brand/voice-and-words/octopus.md",
    "json": "https://handbook.joinsquareup.com/brand/voice-and-words/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/brand/voice-and-words/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/brand/voice-and-words/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/brand/voice-and-words/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/brand/voice-and-words/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Plain on the buttons. Ocho. Short clauses. Arms full",
    "points": [
     {
      "icon": "chat",
      "text": "Fact first, joke second. Short clauses, many full stops."
     },
     {
      "icon": "book",
      "text": "Plain on the button, Ocho's word around it: Hand it off becomes Free an arm."
     },
     {
      "icon": "check",
      "text": "Never more than two sentences in the product."
     },
     {
      "icon": "lock",
      "text": "Voice dials to off for errors, money, privacy and apologies."
     },
     {
      "icon": "warn",
      "text": "Never says it is stressed because of you, or that a rival is crushing you."
     }
    ],
    "stat": null,
    "decide": null,
    "mood": "solid"
   },
   "open_questions": []
  },
  {
   "id": "4.10",
   "title": "Voice and words",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "generated",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Writing rules, plain words, per-direction voice, never-say lines",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/voice-and-words/cooker",
    "markdown": "https://handbook.joinsquareup.com/brand/voice-and-words/cooker.md",
    "json": "https://handbook.joinsquareup.com/brand/voice-and-words/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/brand/voice-and-words/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/brand/voice-and-words/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/brand/voice-and-words/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/brand/voice-and-words/octopus.json"
    }
   ],
   "tldr": {
    "headline": "Short sentences. Plain buttons. Seeti brings the kitchen around them",
    "points": [
     {
      "icon": "chat",
      "text": "Two word sentences, never more than two sentences a line."
     },
     {
      "icon": "book",
      "text": "Plain on the button, Seeti's word around it: Hand it off becomes Order ticket."
     },
     {
      "icon": "spark",
      "text": "Seeti counts: whistles, specials, batches, weeks."
     },
     {
      "icon": "flag",
      "text": "One kitchen word a line. If a line needs two puns, cut one."
     },
     {
      "icon": "lock",
      "text": "People write apologies, privacy answers and money talk. Seeti stays out."
     }
    ],
    "stat": null,
    "decide": null,
    "mood": "solid"
   },
   "open_questions": []
  },
  {
   "id": "4.11",
   "title": "Visual identity",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Logo and wordmark slot, colour, type, photography, illustration",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/visual-identity/dog",
    "markdown": "https://handbook.joinsquareup.com/brand/visual-identity/dog.md",
    "json": "https://handbook.joinsquareup.com/brand/visual-identity/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/brand/visual-identity/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/brand/visual-identity/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/brand/visual-identity/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/brand/visual-identity/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Fetch's look: tennis ball green, a quiet dark yard, photos in charge",
    "points": [
     {
      "icon": "spark",
      "text": "One owned colour, tennis ball green #aee32f, on the main button, focus, active tab and Fetch."
     },
     {
      "icon": "eye",
      "text": "The brand's own photos carry the colour and are never tinted or covered."
     },
     {
      "icon": "book",
      "text": "Grandstander for display, Commissioner for every control, never Shantell Sans in the product."
     },
     {
      "icon": "check",
      "text": "Ink on green holds 11.8 to 1, so the main button reads clearly."
     },
     {
      "icon": "flag",
      "text": "A dashed wordmark slot stays wherever the name goes, until it is picked."
     }
    ],
    "stat": {
     "value": "11.8",
     "label": "contrast, ink on green"
    },
    "decide": "Clear space round the lockup: one ear width on every side?",
    "mood": "building"
   },
   "open_questions": [
    "What is the clear space around the lockup? Proposal: one ear width on every side, matching how the other directions set it by a body part.",
    "Should the product light theme use the kraft book colours or the neutral kit light set? Proposal: keep the neutral kit set in the product and kraft for books and marketing, as the system file says.",
    "When the name is picked, which face sets the wordmark? Proposal: Grandstander at 700, so the name and the headings share one voice."
   ]
  },
  {
   "id": "4.11",
   "title": "Visual identity",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Logo and wordmark slot, colour, type, photography, illustration",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/visual-identity/bee",
    "markdown": "https://handbook.joinsquareup.com/brand/visual-identity/bee.md",
    "json": "https://handbook.joinsquareup.com/brand/visual-identity/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/brand/visual-identity/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/brand/visual-identity/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/brand/visual-identity/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/brand/visual-identity/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Buzz's look: pollen yellow, ink stripes, and honeycomb when it counts",
    "points": [
     {
      "icon": "spark",
      "text": "One owned colour, pollen yellow #ffd60a, for Buzz, the main button, focus and active tab."
     },
     {
      "icon": "check",
      "text": "Bee ink on pollen yellow holds about 13 to 1."
     },
     {
      "icon": "warn",
      "text": "Yellow never carries text on light; dark honey #7a5800 does links."
     },
     {
      "icon": "book",
      "text": "Shrikhand for big words, Parkinsans for every control and every word you read."
     },
     {
      "icon": "flag",
      "text": "The wordmark slot stays dashed until the product is named."
     }
    ],
    "stat": {
     "value": "13",
     "label": "to 1: ink on yellow"
    },
    "decide": "Shrikhand on phone headers too, or only on big words?",
    "mood": "building"
   },
   "open_questions": [
    "Does the product use Shrikhand on phone headers too, or only on big words? Proposal: big words only, such as the greeting and empty states; tab titles stay in Parkinsans.",
    "Should the wordmark slot hold a placeholder name in mocks before the name is picked? Proposal: no, keep the dashed slot until the name is chosen."
   ]
  },
  {
   "id": "4.11",
   "title": "Visual identity",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Logo and wordmark slot, colour, type, photography, illustration",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/visual-identity/raccoon",
    "markdown": "https://handbook.joinsquareup.com/brand/visual-identity/raccoon.md",
    "json": "https://handbook.joinsquareup.com/brand/visual-identity/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/brand/visual-identity/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/brand/visual-identity/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/brand/visual-identity/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/brand/visual-identity/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Scoop's look: tangerine, a two ink tabloid print, no gloss",
    "points": [
     {
      "icon": "spark",
      "text": "One owned colour, tangerine #ff7a1a: the notepad, pencil, tail stripes and one focus per screen."
     },
     {
      "icon": "book",
      "text": "Gloock for display and Schibsted Grotesk for body, with Kalam in books."
     },
     {
      "icon": "eye",
      "text": "The character prints as a two ink tabloid page with halftone greys."
     },
     {
      "icon": "warn",
      "text": "White on tangerine is about 2.6 to 1, so it never carries text."
     },
     {
      "icon": "flag",
      "text": "A wordmark slot stays dashed until the name is picked."
     }
    ],
    "stat": {
     "value": "6.8",
     "label": "contrast, ink on tangerine"
    },
    "decide": "Which token set is final: the calm product skin or the warmer book skin?",
    "mood": "building"
   },
   "open_questions": [
    "Which token set is final, the calm product skin or the warmer book skin with paper #f6efe3? Proposal: product skin in the app, book skin in marketing and print only.",
    "Do area tags keep their five colours in Scoop's skin? Proposal: draw them neutral with their shape, because storefront orange crowds tangerine.",
    "Is Kalam allowed inside the product at all? Proposal: yes, one line of Scoop's notes per screen, never on a control."
   ]
  },
  {
   "id": "4.11",
   "title": "Visual identity",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Logo and wordmark slot, colour, type, photography, illustration",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/visual-identity/octopus",
    "markdown": "https://handbook.joinsquareup.com/brand/visual-identity/octopus.md",
    "json": "https://handbook.joinsquareup.com/brand/visual-identity/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/brand/visual-identity/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/brand/visual-identity/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/brand/visual-identity/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/brand/visual-identity/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Ocho's look: hot pink, quiet screens, and suckers as the print",
    "points": [
     {
      "icon": "spark",
      "text": "One owned colour, hot pink #ff4fa3, on the main button, focus, active tab and Ocho."
     },
     {
      "icon": "eye",
      "text": "The founder's own photos carry the colour on quiet dark or light screens."
     },
     {
      "icon": "book",
      "text": "DynaPuff for display and Archivo for body, with Mali in books only."
     },
     {
      "icon": "warn",
      "text": "White on pink is never text, and contrast pairs need a checker first."
     },
     {
      "icon": "flag",
      "text": "A wordmark slot stays dashed wherever the open product name goes."
     }
    ],
    "stat": {
     "value": "4.5",
     "label": "to 1 text contrast target"
    },
    "decide": "Is hot pink the colour you want to own for years?",
    "mood": "building"
   },
   "open_questions": [
    "Is hot pink the colour you want to own for years, given it reads playful in serious rooms? Proposal: yes inside the product and marketing, and turn Ocho down to the small mark in investor and partner decks.",
    "Should Mali stay as the books' hand face, or should the product keep a hand face for margin notes like Caveat today? Proposal: keep Mali in books only and set margin notes in Archivo, as the system file says.",
    "Who confirms contrast before the build? Proposal: Arvind runs one contrast check over the kit skin and logs the pairs here."
   ]
  },
  {
   "id": "4.11",
   "title": "Visual identity",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Logo and wordmark slot, colour, type, photography, illustration",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/visual-identity/cooker",
    "markdown": "https://handbook.joinsquareup.com/brand/visual-identity/cooker.md",
    "json": "https://handbook.joinsquareup.com/brand/visual-identity/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/brand/visual-identity/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/brand/visual-identity/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/brand/visual-identity/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/brand/visual-identity/octopus.json"
    }
   ],
   "tldr": {
    "headline": "Seeti's look: steel, chilli and ink, with chilli the only loud colour",
    "points": [
     {
      "icon": "spark",
      "text": "Chilli red #ff3d2e is the only loud colour, on the whistle, grips and main button."
     },
     {
      "icon": "eye",
      "text": "The brand's own product photos bring every other colour."
     },
     {
      "icon": "book",
      "text": "Bakbak One for display, Anek Latin for body, Fragment Mono only on tickets and counts."
     },
     {
      "icon": "check",
      "text": "Ink on chilli is measured at 5.4 to 1."
     },
     {
      "icon": "flag",
      "text": "The wordmark slot stays dashed until the product is named."
     }
    ],
    "stat": {
     "value": "5.4",
     "label": "contrast, ink on chilli"
    },
    "decide": "Which neutral set wins: the product skin or the warmer book skin?",
    "mood": "building"
   },
   "open_questions": [
    "Which neutral set wins, the product skin or the warmer book skin? Proposal: the product skin from kit-skin.js, with the book's ticket paper and flame kept as accents.",
    "Keep Fragment Mono for tickets, or use Anek Latin narrow? Proposal: keep Fragment Mono, only on tickets and counts.",
    "Does the kitchen tile grid belong in the product or only in books and marketing? Proposal: books and marketing only, so the product stays quiet."
   ]
  },
  {
   "id": "4.12",
   "title": "Sound and motion",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Cues, levels, when they play, motion slots",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/sound-and-motion/dog",
    "markdown": "https://handbook.joinsquareup.com/brand/sound-and-motion/dog.md",
    "json": "https://handbook.joinsquareup.com/brand/sound-and-motion/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/brand/sound-and-motion/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/brand/sound-and-motion/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/brand/sound-and-motion/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/brand/sound-and-motion/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Fetch squeaks, ruffs and bounces, then stays quiet until asked",
    "points": [
     {
      "icon": "spark",
      "text": "Sonic logo: two toy squeaks, a ruff, and a ball bouncing twice."
     },
     {
      "icon": "gear",
      "text": "Five short cues and seven voice lines sit on the 29 cues the product already plays."
     },
     {
      "icon": "lock",
      "text": "Sound starts off, and no sad dog sounds, ever. No sound for a missed week."
     },
     {
      "icon": "check",
      "text": "One cue per moment, never stacked. Celebrations are a hop, never confetti."
     },
     {
      "icon": "warn",
      "text": "Fetch's files are not yet levelled by the product's small speaker rule."
     }
    ],
    "stat": {
     "value": "29",
     "label": "cues the product already plays"
    },
    "decide": "Sound off by default, with Fetch's cues replacing today's heart, ready and error?",
    "mood": "building"
   },
   "open_questions": [
    "Should sound stay on by default as it is today, or start off as the Fetch books say? Proposal: off by default, on with one switch in Settings.",
    "Do Fetch's cues replace today's heart, ready and error cues, or play beside them? Proposal: replace, so one tap is still one sound.",
    "Is the voice used in the product at all? Proposal: only the paste line during onboarding, once, and never again in the product."
   ]
  },
  {
   "id": "4.12",
   "title": "Sound and motion",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Cues, levels, when they play, motion slots",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/sound-and-motion/bee",
    "markdown": "https://handbook.joinsquareup.com/brand/sound-and-motion/bee.md",
    "json": "https://handbook.joinsquareup.com/brand/sound-and-motion/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/brand/sound-and-motion/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/brand/sound-and-motion/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/brand/sound-and-motion/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/brand/sound-and-motion/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Buzz sounds like a wing zip landing on wood, never an alarm",
    "points": [
     {
      "icon": "spark",
      "text": "Sonic logo: a bee zips upward and lands on two marimba notes."
     },
     {
      "icon": "gear",
      "text": "Five Buzz cues replace today's files at the matching moments, one tap one sound."
     },
     {
      "icon": "warn",
      "text": "Buzz files sit near minus 16 LUFS, louder than today's minus 23 to minus 38."
     },
     {
      "icon": "lock",
      "text": "Sound off by default, and never a sting, buzzer or sound for a loss."
     },
     {
      "icon": "check",
      "text": "Every motion sits inside a reduced motion check."
     }
    ],
    "stat": {
     "value": "29",
     "label": "product cues already playing"
    },
    "decide": "Off by default, with a one time prompt after the first win to turn sound on?",
    "mood": "building"
   },
   "open_questions": [
    "Off by default or on by default? Today it is on. Proposal: off by default as the bee book says, with a one time prompt after the first win to turn it on.",
    "Should Buzz's cues replace today's files or sit on top as a character layer? Proposal: replace only the five matching files, so one tap is still one sound.",
    "Buzz files are levelled to about minus 16 LUFS, louder than today's minus 23 to minus 38. Proposal: re-level the five Buzz cues to the product's targets before they ship."
   ]
  },
  {
   "id": "4.12",
   "title": "Sound and motion",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Cues, levels, when they play, motion slots",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/sound-and-motion/raccoon",
    "markdown": "https://handbook.joinsquareup.com/brand/sound-and-motion/raccoon.md",
    "json": "https://handbook.joinsquareup.com/brand/sound-and-motion/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/brand/sound-and-motion/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/brand/sound-and-motion/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/brand/sound-and-motion/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/brand/sound-and-motion/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Scoop sounds like paper and breath, and keeps quiet until invited",
    "points": [
     {
      "icon": "spark",
      "text": "Sonic logo: paws through crisp paper, then two breathy notes rising."
     },
     {
      "icon": "lock",
      "text": "Scoop's rules say sound starts off; today the product has it on."
     },
     {
      "icon": "gear",
      "text": "It sits over the product's 29 cues, and the small speaker loudness rule wins."
     },
     {
      "icon": "eye",
      "text": "The sonic logo plays on the stage, home page, reels and first read reveal only."
     },
     {
      "icon": "flag",
      "text": "Voice lines stay in marketing and the stage in v1."
     }
    ],
    "stat": {
     "value": "29",
     "label": "product cues underneath"
    },
    "decide": "Sound off on a first visit, with the logo playing once only after a tap?",
    "mood": "building"
   },
   "open_questions": [
    "Sound on or off by default? Today it is on. Scoop's rules say off. Proposal: off on a first visit, the sonic logo plays once on the reveal only after the person taps to hear it.",
    "Do voice lines ship in the product at all in v1? Proposal: no, voice stays in marketing and the stage until a setting exists.",
    "Which loudness rule wins, minus 16 LUFS or today's small speaker levels? Proposal: today's small speaker rule, since it was built to fix cues that did not play on phones."
   ]
  },
  {
   "id": "4.12",
   "title": "Sound and motion",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Cues, levels, when they play, motion slots",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/sound-and-motion/octopus",
    "markdown": "https://handbook.joinsquareup.com/brand/sound-and-motion/octopus.md",
    "json": "https://handbook.joinsquareup.com/brand/sound-and-motion/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/brand/sound-and-motion/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/brand/sound-and-motion/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/brand/sound-and-motion/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/brand/sound-and-motion/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Ocho sounds wet and bubbly, with a suction cup letting go",
    "points": [
     {
      "icon": "spark",
      "text": "Sonic logo: a suction cup lets go of glass, a pop, a few bubbles."
     },
     {
      "icon": "gear",
      "text": "Five wet cues map onto today's moments, and the voice is rare."
     },
     {
      "icon": "lock",
      "text": "Sound starts off, offered once after the first heart."
     },
     {
      "icon": "check",
      "text": "One body bobs, squashes and hops in fixed slots, all off for reduced motion."
     },
     {
      "icon": "warn",
      "text": "Describe sound only: wet, rubbery, bubbly or paper, under two seconds."
     }
    ],
    "stat": {
     "value": "29",
     "label": "cues in the live product"
    },
    "decide": "Should sound start off and be offered once after the first heart?",
    "mood": "building"
   },
   "open_questions": [
    "Should sound start off, as Ocho's books say, or stay on as the product does today? Proposal: start off, and offer it once after the first heart.",
    "Do Ocho's five cues replace today's heart, ready, tick, error and win, or play alongside them? Proposal: replace them on those five moments only and keep the crisp set for everything else.",
    "Should the voice ever play inside the product? Proposal: once, on the first read, then text only."
   ]
  },
  {
   "id": "4.12",
   "title": "Sound and motion",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Cues, levels, when they play, motion slots",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/sound-and-motion/cooker",
    "markdown": "https://handbook.joinsquareup.com/brand/sound-and-motion/cooker.md",
    "json": "https://handbook.joinsquareup.com/brand/sound-and-motion/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/brand/sound-and-motion/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/brand/sound-and-motion/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/brand/sound-and-motion/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/brand/sound-and-motion/octopus.json"
    }
   ],
   "tldr": {
    "headline": "Seeti whistles three rising toots, and only when the week is ready",
    "points": [
     {
      "icon": "spark",
      "text": "Sonic logo: three rising whistle toots, the third held, about 1.8 seconds."
     },
     {
      "icon": "gear",
      "text": "Seeti's five cues replace today's product cues at five moments."
     },
     {
      "icon": "chart",
      "text": "One, two, three whistles act as a progress bar nobody reads as a number."
     },
     {
      "icon": "lock",
      "text": "Sound starts off, with one line on the first read offering the whistle."
     },
     {
      "icon": "check",
      "text": "The whistle is for moments and the crisp kit stays for small taps."
     }
    ],
    "stat": {
     "value": "29",
     "label": "product cues already live"
    },
    "decide": "Should the Monday whistle play inside the product once a week, if sound is on?",
    "mood": "building"
   },
   "open_questions": [
    "Should sound start off, as Seeti's book says, or on, as the product does today? Proposal: off on a first visit, with one line on the first read offering to turn the whistle on.",
    "Should the Monday drop sonic logo play inside the product, or only in the Monday email and marketing? Proposal: in the product, once a week, only if sound is on.",
    "Keep the crisp kit cues for small taps alongside Seeti's five? Proposal: yes, the whistle is for moments, the kit is for taps."
   ]
  },
  {
   "id": "4.13",
   "title": "The Brand Book we give brands",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "What a partner's Brand Book holds and exports",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/dog",
    "markdown": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/dog.md",
    "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Every brand gets a Brand Book, and Fetch only signs the foot",
    "points": [
     {
      "icon": "book",
      "text": "Each read builds a book: story, voice, look, products, best work and a never say list."
     },
     {
      "icon": "lock",
      "text": "No evidence means an empty field that says add it, never a guess."
     },
     {
      "icon": "link",
      "text": "It exports as a page, brand.md, brand.json, llms.txt, a PDF and a kit zip."
     },
     {
      "icon": "eye",
      "text": "The brand's colours, fonts and photos lead; Fetch never sits on a chapter."
     },
     {
      "icon": "heart",
      "text": "Fetch's one line: Fetched for you. Over to you now."
     }
    ],
    "stat": {
     "value": "32",
     "label": "pixel sign off mark"
    },
    "decide": "Does Fetch sign the public Brand Book, or only the in product view?",
    "mood": "building"
   },
   "open_questions": [
    "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."
   ]
  },
  {
   "id": "4.13",
   "title": "The Brand Book we give brands",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "What a partner's Brand Book holds and exports",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/bee",
    "markdown": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/bee.md",
    "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/cooker.json"
    }
   ],
   "tldr": {
    "headline": "The brand's whole book, pressed like honey, Buzz signs the foot",
    "points": [
     {
      "icon": "book",
      "text": "Every read builds the brand's whole profile from its own public evidence."
     },
     {
      "icon": "lock",
      "text": "Nothing is invented, and members only data never reaches share or public."
     },
     {
      "icon": "link",
      "text": "Exports: a page, brand.md, brand.json, llms.txt, a PDF and a kit zip."
     },
     {
      "icon": "eye",
      "text": "Never any pollen yellow on the partner's chapters; their accent leads."
     },
     {
      "icon": "heart",
      "text": "Buzz signs once: Drafted by Buzz. Over to you."
     }
    ],
    "stat": {
     "value": "32",
     "label": "pixel sign off mark"
    },
    "decide": "Should Buzz appear in the partner's Brand Book at all, beyond the sign off?",
    "mood": "building"
   },
   "open_questions": [
    "Should Buzz appear in the partner's Brand Book at all? Proposal: only the 32 pixel sign off at the foot, the same rule as the brief page.",
    "Should the PDF and kit carry the sign off too? Proposal: the PDF yes, at the foot of the last page; the kit files no, they stay pure data for AI tools."
   ]
  },
  {
   "id": "4.13",
   "title": "The Brand Book we give brands",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "What a partner's Brand Book holds and exports",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/raccoon",
    "markdown": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/raccoon.md",
    "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/cooker.json"
    }
   ],
   "tldr": {
    "headline": "The brand's dossier, read from public pages, Scoop signs the foot",
    "points": [
     {
      "icon": "book",
      "text": "Every partner gets a Brand Book, built from public pages plus whatever the team adds."
     },
     {
      "icon": "lock",
      "text": "Scoop never appears in brand.md, brand.json, llms.txt, the PDF or the kit zip."
     },
     {
      "icon": "eye",
      "text": "The book wears the partner's colours, never tangerine."
     },
     {
      "icon": "chat",
      "text": "One sign off at the foot: Read by Scoop. Shipped by you."
     },
     {
      "icon": "link",
      "text": "When AI search finds a gap, Scoop points to the book as the fix."
     }
    ],
    "stat": {
     "value": "32",
     "label": "pixel sign off mark"
    },
    "decide": "Should Scoop sign the shared page at all, with one 32 pixel sign off?",
    "mood": "building"
   },
   "open_questions": [
    "Should Scoop sign the shared page at all? Proposal: yes, one 32 px sign off at the foot only, since the brand leads every other part.",
    "Does the dossier replace Brand Book as the user word in Scoop's direction? Proposal: no, Brand Book stays the plain word on every control, the dossier lives only in Scoop's sentence."
   ]
  },
  {
   "id": "4.13",
   "title": "The Brand Book we give brands",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "What a partner's Brand Book holds and exports",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/octopus",
    "markdown": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/octopus.md",
    "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/cooker.json"
    }
   ],
   "tldr": {
    "headline": "One arm made you a brand book while seven read",
    "points": [
     {
      "icon": "book",
      "text": "Every read builds the brand's whole book, and the brand leads every page."
     },
     {
      "icon": "lock",
      "text": "Nothing private ever reaches share or public."
     },
     {
      "icon": "eye",
      "text": "No pink, no DynaPuff, no sucker print on the book itself."
     },
     {
      "icon": "chat",
      "text": "Ocho appears once, at the end: Drafted by Ocho. Over to you."
     },
     {
      "icon": "warn",
      "text": "Ocho's lines never claim the book is verified, approved or guaranteed."
     }
    ],
    "stat": {
     "value": "32",
     "label": "pixel sign off mark"
    },
    "decide": "Brand book or brand sheet: which name wins everywhere?",
    "mood": "building"
   },
   "open_questions": [
    "Brand book or brand sheet: the shared IA says brand sheet, your 25 October rule says brand book. Proposal: brand book everywhere, and update the shared IA and product model to match.",
    "Should Ocho sign off the public book page at all? Proposal: yes, the 32 pixel small mark and one line at the very end, so the book is clearly a gift from us and still the brand's own."
   ]
  },
  {
   "id": "4.13",
   "title": "The Brand Book we give brands",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "What a partner's Brand Book holds and exports",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/cooker",
    "markdown": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/cooker.md",
    "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/octopus.json"
    }
   ],
   "tldr": {
    "headline": "Every brand's recipe, written down, with Seeti signing only the foot",
    "points": [
     {
      "icon": "book",
      "text": "Every read makes the partner a Brand Book, shareable with people and AI tools."
     },
     {
      "icon": "eye",
      "text": "The partner's colour, type and photos lead: no chilli, no steel, no Bakbak One."
     },
     {
      "icon": "lock",
      "text": "In files an AI reads, there are no characters and no kitchen words."
     },
     {
      "icon": "chat",
      "text": "Seeti signs once: Cooked by Seeti. Over to you."
     },
     {
      "icon": "flag",
      "text": "House recipe is Seeti's word for the book and for the memory page."
     }
    ],
    "stat": {
     "value": "32",
     "label": "pixel sign off mark"
    },
    "decide": "Use house recipe as one word for both the Brand Book and the memory page?",
    "mood": "building"
   },
   "open_questions": [
    "Does Seeti sign the shared Brand Book page at all? Proposal: yes, the 32 pixel sign off only, and nothing in the files an AI reads.",
    "Seeti's word for it: house recipe is also the word for What we know about you. Use one word for both? Proposal: yes, house recipe for both, since the Brand Book is that memory written down.",
    "Should the free kit for brands only read, not on the product, carry the sign off? Proposal: yes, the same 32 pixel sign off, so the gift says who made it."
   ]
  },
  {
   "id": "4.14",
   "title": "Asset library",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Every logo, character pose, sound, font and template file, where it lives, how to use it",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/asset-library/dog",
    "markdown": "https://handbook.joinsquareup.com/brand/asset-library/dog.md",
    "json": "https://handbook.joinsquareup.com/brand/asset-library/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/brand/asset-library/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/brand/asset-library/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/brand/asset-library/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/brand/asset-library/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Every Fetch file in one yard, so nobody redraws anything",
    "points": [
     {
      "icon": "box",
      "text": "Marks, ten poses, eight faces, five props, six sounds and eight voice lines."
     },
     {
      "icon": "gear",
      "text": "Every frame is drawn from one rig, so Fetch is the same dog everywhere."
     },
     {
      "icon": "check",
      "text": "Below 120 pixels use the head mark; at 16 pixels the heavier one."
     },
     {
      "icon": "warn",
      "text": "Never edit a built SVG or page by hand; change _src and rebuild."
     },
     {
      "icon": "flag",
      "text": "Still missing: final illustrator art and a sticker for design partners."
     }
    ],
    "stat": {
     "value": "54",
     "label": "screen kit captures per theme"
    },
    "decide": "Who draws the final art and the sticker, and when?",
    "mood": "building"
   },
   "open_questions": [
    "Who draws the final art and the sticker? Proposal: one illustrator after the pick, working from the rig, with a sticker sheet in the same brief.",
    "Where do brand assets live once picked: brand-directions/dog or brew/public? Proposal: the rig stays in brand-directions, and only the built SVGs and mp3 files are copied into brew/public."
   ]
  },
  {
   "id": "4.14",
   "title": "Asset library",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Every logo, character pose, sound, font and template file, where it lives, how to use it",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/asset-library/bee",
    "markdown": "https://handbook.joinsquareup.com/brand/asset-library/bee.md",
    "json": "https://handbook.joinsquareup.com/brand/asset-library/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/brand/asset-library/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/brand/asset-library/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/brand/asset-library/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/brand/asset-library/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Every Buzz file in one hive, so nobody redraws or re-records",
    "points": [
     {
      "icon": "box",
      "text": "Marks, twelve poses, eight faces, five area props, five cues and eight voice lines."
     },
     {
      "icon": "gear",
      "text": "Every frame comes from buzz.py, the only way to make a new one."
     },
     {
      "icon": "warn",
      "text": "Gaps: no illustrator art, no sticker, no app icon set, no re-levelled cues."
     },
     {
      "icon": "check",
      "text": "Use the 16 pixel mark under 20 pixels, with no wing and one eye."
     },
     {
      "icon": "link",
      "text": "Every invented example uses the sample candle store, labelled Sample."
     }
    ],
    "stat": {
     "value": "54",
     "label": "screen shots per theme folder"
    },
    "decide": "Who makes the final Buzz art and app icons if Buzz is picked?",
    "mood": "building"
   },
   "open_questions": [
    "Who makes the final Buzz art and app icons if Buzz is picked? Proposal: one paid illustrator redraws the master, mark and twelve poses from the rig, then the rig is matched to the redraw.",
    "Should the books' screen shots in img/kit be kept after the pick? Proposal: keep them as history, regenerate from the real product once skinned."
   ]
  },
  {
   "id": "4.14",
   "title": "Asset library",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Every logo, character pose, sound, font and template file, where it lives, how to use it",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/asset-library/raccoon",
    "markdown": "https://handbook.joinsquareup.com/brand/asset-library/raccoon.md",
    "json": "https://handbook.joinsquareup.com/brand/asset-library/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/brand/asset-library/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/brand/asset-library/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/brand/asset-library/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/brand/asset-library/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Every Scoop file filed on the case board, with where it lives",
    "points": [
     {
      "icon": "box",
      "text": "Logos, character frames, sounds, fonts and templates, plus today's product assets."
     },
     {
      "icon": "warn",
      "text": "No final illustrator art: base art was generated, traced and redrawn."
     },
     {
      "icon": "flag",
      "text": "No designed area tag set exists for Scoop's skin."
     },
     {
      "icon": "check",
      "text": "Proposed v1 set: char-icon.svg, char.svg, eight poses and five cues."
     },
     {
      "icon": "gear",
      "text": "Today's product ships 29 cues; Scoop's replace them one for one."
     }
    ],
    "stat": {
     "value": "29",
     "label": "product cues shipping today"
    },
    "decide": "Which files make the product set, and do we pay an illustrator before the name?",
    "mood": "building"
   },
   "open_questions": [
    "Which files make the product set? Proposal: `char-icon.svg`, `char.svg`, the eight `char-*.svg` poses and the five cues, nothing else in v1.",
    "Do we pay an illustrator before or after the name is picked? Proposal: after the character pick and before the name, since the name does not change the drawing."
   ]
  },
  {
   "id": "4.14",
   "title": "Asset library",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Every logo, character pose, sound, font and template file, where it lives, how to use it",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/asset-library/octopus",
    "markdown": "https://handbook.joinsquareup.com/brand/asset-library/octopus.md",
    "json": "https://handbook.joinsquareup.com/brand/asset-library/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/brand/asset-library/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/brand/asset-library/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/brand/asset-library/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/brand/asset-library/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Every Ocho file, filed on one arm each, plus what is missing",
    "points": [
     {
      "icon": "box",
      "text": "Marks, the master, expressions, poses, props, sounds, fonts and templates."
     },
     {
      "icon": "gear",
      "text": "Every frame is drawn from one rig that insists on exactly eight arms."
     },
     {
      "icon": "warn",
      "text": "Gaps remain before Ocho can ship, starting with final art."
     },
     {
      "icon": "link",
      "text": "Proposal: copy final svgs and mp3s into brew, so the product skips the brand folder."
     },
     {
      "icon": "check",
      "text": "The product's own assets today sit beside Ocho's, so nothing is redrawn."
     }
    ],
    "stat": {
     "value": "29",
     "label": "product cues shipping today"
    },
    "decide": "Who makes the final art, and by when?",
    "mood": "building"
   },
   "open_questions": [
    "Who makes the final art, and by when? Proposal: one illustrator redraws the rig and the ten poses, under the same file names, before the first marketing post.",
    "Should Ocho's files live in brew or be served from the brand folder? Proposal: copy the final svgs and mp3s into brew so the product never depends on the brand folder."
   ]
  },
  {
   "id": "4.14",
   "title": "Asset library",
   "department": "Brand",
   "department_slug": "brand",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Every logo, character pose, sound, font and template file, where it lives, how to use it",
   "urls": {
    "html": "https://handbook.joinsquareup.com/brand/asset-library/cooker",
    "markdown": "https://handbook.joinsquareup.com/brand/asset-library/cooker.md",
    "json": "https://handbook.joinsquareup.com/brand/asset-library/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/brand/asset-library/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/brand/asset-library/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/brand/asset-library/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/brand/asset-library/octopus.json"
    }
   ],
   "tldr": {
    "headline": "Every Seeti file on the rail, plus the gaps before anything ships",
    "points": [
     {
      "icon": "box",
      "text": "Logo, character frames, sounds, fonts and templates, with where each one lives."
     },
     {
      "icon": "gear",
      "text": "Every frame is built from one set of vector parts."
     },
     {
      "icon": "lock",
      "text": "Proposal: our team owns the master art files outright, written into the brief."
     },
     {
      "icon": "warn",
      "text": "Check the ElevenLabs voice terms before using it in the product or ads."
     },
     {
      "icon": "link",
      "text": "Self host the three fonts so the product loads nothing outside."
     }
    ],
    "stat": {
     "value": "29",
     "label": "product cues shipping today"
    },
    "decide": "Is the ElevenLabs voice cleared for use in the product and ads?",
    "mood": "building"
   },
   "open_questions": [
    "Who owns the master art files after an illustrator redraws Seeti? Proposal: our team owns the source files outright, written into the brief before work starts.",
    "Is the ElevenLabs voice cleared for use in the product and in ads? Proposal: check the plan's commercial terms before recording more, and keep the voice out of the product until then.",
    "Self host the three fonts or load them from Google Fonts? Proposal: self host, so the product loads no outside font."
   ]
  },
  {
   "id": "5.1",
   "title": "Architecture",
   "department": "Engineering",
   "department_slug": "engineering",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Services, web and worker roles, queue, leases, storage, diagram",
   "urls": {
    "html": "https://handbook.joinsquareup.com/engineering/architecture",
    "markdown": "https://handbook.joinsquareup.com/engineering/architecture.md",
    "json": "https://handbook.joinsquareup.com/engineering/architecture.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "One Node codebase, two production services, and exactly one paid background worker",
    "points": [
     {
      "icon": "gear",
      "text": "Production runs brew-web and brew-worker on Cloud Run over Cloud SQL Postgres."
     },
     {
      "icon": "lock",
      "text": "Only one worker holds the background lease, so paid work never runs twice."
     },
     {
      "icon": "box",
      "text": "Staging is a single instance, and the demo uses a bucket only."
     },
     {
      "icon": "chart",
      "text": "Web scales from 2 to 10 instances behind one load balancer."
     },
     {
      "icon": "warn",
      "text": "Alerts fire when the worker loses its lease or jobs wait over 10 minutes."
     }
    ],
    "stat": {
     "value": "160",
     "label": "Postgres connection alert level"
    },
    "decide": "When do we run more than one worker? Proposal: when over 3 brands wait 30 minutes.",
    "mood": "solid"
   },
   "open_questions": [
    "**When do we run more than one worker?** Proposal: stay on one worker until a build queue of more than 3 brands waits over 30 minutes, then build per-brand leases.",
    "**When does staging stop mirroring to the bucket?** Proposal: turn `OBJECTS_MIRROR` and `OBJECTS_READTHROUGH` off on 25 Nov 2026 if no rollback to the bucket happened.",
    "**Should the demo move to Postgres?** Proposal: yes, in v2, on its own small database, so the demo tests the same storage as production."
   ]
  },
  {
   "id": "5.2",
   "title": "Codebase map",
   "department": "Engineering",
   "department_slug": "engineering",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Every top-level module, what it owns, its tests",
   "urls": {
    "html": "https://handbook.joinsquareup.com/engineering/codebase-map",
    "markdown": "https://handbook.joinsquareup.com/engineering/codebase-map.md",
    "json": "https://handbook.joinsquareup.com/engineering/codebase-map.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Every module on origin/main, with who owns what and what tests it",
    "points": [
     {
      "icon": "map",
      "text": "The repo holds 1,027 tracked files, 153 of them top level modules."
     },
     {
      "icon": "check",
      "text": "The suite has 215 test files, run free with AI_MOCK and on every push."
     },
     {
      "icon": "warn",
      "text": "13 modules have no test that imports them directly."
     },
     {
      "icon": "book",
      "text": "Find the file that owns a behaviour here before you change anything."
     },
     {
      "icon": "gear",
      "text": "The biggest file, feed-service.js, is 340 KB and wants splitting."
     }
    ],
    "stat": {
     "value": "862",
     "label": "commits on origin/main"
    },
    "decide": "Split the big four files before v2? Proposal: feed-service.js first, one area per week.",
    "mood": "solid"
   },
   "open_questions": [
    "**Should the big four files be split before v2?** Proposal: split `feed-service.js` first (feed, jam routes, Slack in), one area per week, each behind the existing tests.",
    "**Should `jam2/` be renamed now that the v2 screen is gone?** Proposal: rename to `studio/` in v2 with the v2-only routes removed in the same change."
   ]
  },
  {
   "id": "5.3",
   "title": "Data model",
   "department": "Engineering",
   "department_slug": "engineering",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Postgres tables, doc parts, bucket mirror, what lives where",
   "urls": {
    "html": "https://handbook.joinsquareup.com/engineering/data-model",
    "markdown": "https://handbook.joinsquareup.com/engineering/data-model.md",
    "json": "https://handbook.joinsquareup.com/engineering/data-model.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Everything lives in Postgres rows, with only binaries left in the bucket",
    "points": [
     {
      "icon": "box",
      "text": "The objects table holds every structured file; big documents split into doc_parts."
     },
     {
      "icon": "people",
      "text": "A brand pack is shared by the team; a workspace belongs to one viewer."
     },
     {
      "icon": "gear",
      "text": "Real tables exist for jobs, counters, sessions, access log and deletions."
     },
     {
      "icon": "warn",
      "text": "Connections, secrets, Plays and jams are still objects rows, not real tables."
     },
     {
      "icon": "chart",
      "text": "Parity checks that no bucket object is newer than its row."
     }
    ],
    "stat": {
     "value": "85",
     "label": "percent disk alert"
    },
    "decide": "Which domain tables come next? Proposal: connections and secrets, then jams.",
    "mood": "building"
   },
   "open_questions": [
    "**Which domain tables come next?** Proposal: connections and secrets first (they carry the protected-connection rule), then jams.",
    "**How long do we keep `_deleted/` archives and `raw/` fetches?** Proposal: 30 days for `_deleted/`, 90 days for `raw/`, by bucket lifecycle rules."
   ]
  },
  {
   "id": "5.4",
   "title": "Environments",
   "department": "Engineering",
   "department_slug": "engineering",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Production, staging, demo, local; who uses each; what moves between them",
   "urls": {
    "html": "https://handbook.joinsquareup.com/engineering/environments",
    "markdown": "https://handbook.joinsquareup.com/engineering/environments.md",
    "json": "https://handbook.joinsquareup.com/engineering/environments.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Four places Brew runs, and each brand has exactly one home",
    "points": [
     {
      "icon": "map",
      "text": "Production, staging, the demo and a laptop, each with its own release path."
     },
     {
      "icon": "people",
      "text": "All five partners call production home since 25 Oct."
     },
     {
      "icon": "lock",
      "text": "Demo mode, AI mock and open sign in never run on production."
     },
     {
      "icon": "warn",
      "text": "Two code comments still say Arata's home is staging."
     },
     {
      "icon": "rocket",
      "text": "Production is released only by promote.sh, behind the clean gate."
     }
    ],
    "stat": {
     "value": "5",
     "label": "partners homed on production"
    },
    "decide": "Is Arata's home production or staging? Proposal: production, and fix the two comments.",
    "mood": "solid"
   },
   "open_questions": [
    "**Is Arata's home production or staging?** The settings say production; two comments say staging. Proposal: production, and fix the two comments.",
    "**When does production get its own domain?** Proposal: keep feed.joinsquareup.com until the brand name is picked, then move with a redirect.",
    "**Should Sloosh finals run on production?** Proposal: no until the Sloosh workspace has paid credits and Param approves the first quote there."
   ]
  },
  {
   "id": "5.5",
   "title": "The read",
   "department": "Engineering",
   "department_slug": "engineering",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Stages in order, what each reads, healing, versions",
   "urls": {
    "html": "https://handbook.joinsquareup.com/engineering/the-read",
    "markdown": "https://handbook.joinsquareup.com/engineering/the-read.md",
    "json": "https://handbook.joinsquareup.com/engineering/the-read.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "A pasted store address becomes a sourced profile in seven stages",
    "points": [
     {
      "icon": "eye",
      "text": "Stages run in order: open, brand, catalog, reviews, ads, site, answers."
     },
     {
      "icon": "clock",
      "text": "Each stage has a deadline and one retry; paid answers come from cache."
     },
     {
      "icon": "check",
      "text": "Check what we read waits up to 15 minutes for the team's corrections."
     },
     {
      "icon": "lock",
      "text": "A brand's first read writes Plays only after someone opens the feed."
     },
     {
      "icon": "book",
      "text": "Bump a stage version whenever its output shape changes, so saved reads heal."
     }
    ],
    "stat": {
     "value": "15",
     "label": "minutes the check waits"
    },
    "decide": "What does a read cost on Gemini today? Proposal: measure the next Cozy re-read.",
    "mood": "building"
   },
   "open_questions": [
    "**What does a read cost on Gemini today?** Proposal: measure the next Cozy re-read and record it here.",
    "**Should a signed-out visitor still start a read?** Today non-official emails cannot start a new read. Proposal: keep it so; the demo is the place for prospects. [src: memory brew-access-rules]"
   ]
  },
  {
   "id": "5.6",
   "title": "Plays engine",
   "department": "Engineering",
   "department_slug": "engineering",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Specs, the first ten, rewrites, caps, cadence families",
   "urls": {
    "html": "https://handbook.joinsquareup.com/engineering/plays-engine",
    "markdown": "https://handbook.joinsquareup.com/engineering/plays-engine.md",
    "json": "https://handbook.joinsquareup.com/engineering/plays-engine.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Plays are written from the brief and ledger, then fact checked",
    "points": [
     {
      "icon": "book",
      "text": "66 specs: the index, 50 core, and 15 that wait for listening evidence."
     },
     {
      "icon": "spark",
      "text": "Each Play gets the house prompt, a skill file, the brief and an Arata exemplar."
     },
     {
      "icon": "check",
      "text": "A verify step scans numbers against the ledger and runs a claims check."
     },
     {
      "icon": "money",
      "text": "Plays run on Gemini 3.1 Pro on a capped weekly budget."
     },
     {
      "icon": "gear",
      "text": "Weekly cadence Plays start at 1001 and are never reused."
     }
    ],
    "stat": {
     "value": "66",
     "label": "Play specs"
    },
    "decide": "Which model writes Plays at launch? Proposal: Opus if credit exists, after a fair test.",
    "mood": "building"
   },
   "open_questions": [
    "**Which model writes Plays at launch?** Proposal: Opus when Anthropic credit exists, since the 20 Oct comparison favoured it; run the fair 5-Play test first (about $1).",
    "**Should an unverified Play show to the brand?** Proposal: yes, with \"N claims to review\" as today, never hidden."
   ]
  },
  {
   "id": "5.7",
   "title": "Cards and the feed",
   "department": "Engineering",
   "department_slug": "engineering",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Generation, ranking, rings, tuning",
   "urls": {
    "html": "https://handbook.joinsquareup.com/engineering/cards-and-the-feed",
    "markdown": "https://handbook.joinsquareup.com/engineering/cards-and-the-feed.md",
    "json": "https://handbook.joinsquareup.com/engineering/cards-and-the-feed.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Cards come from seven sources and are fact checked first",
    "points": [
     {
      "icon": "box",
      "text": "Sources: Plays, the read, listening, ideas, stories, watchers, statics and accounts."
     },
     {
      "icon": "check",
      "text": "Fact gate: every money amount and percent must be in the fact sheet."
     },
     {
      "icon": "eye",
      "text": "A shield opens Why this, with proof built from facts, no AI."
     },
     {
      "icon": "heart",
      "text": "One take per card, then Redo it; six Plays saying one thing show once."
     },
     {
      "icon": "chart",
      "text": "Audit result on 22 Oct: no wrong medium or empty asset cards."
     }
    ],
    "stat": null,
    "decide": "Are the ranking weights right? Proposal: freeze each partner's top 20 as a test, then tune.",
    "mood": "solid"
   },
   "open_questions": [
    "**Are the ranking weights right?** Proposal: build fixtures from the five partners and freeze the top 20 per brand as a test, then tune.",
    "**Should Storefront come back for v2?** Proposal: yes for Shopify brands with a connected store only."
   ]
  },
  {
   "id": "5.8",
   "title": "The jam and Studio",
   "department": "Engineering",
   "department_slug": "engineering",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Remix, engines, make, checks, finals, versions",
   "urls": {
    "html": "https://handbook.joinsquareup.com/engineering/the-jam-and-studio",
    "markdown": "https://handbook.joinsquareup.com/engineering/the-jam-and-studio.md",
    "json": "https://handbook.joinsquareup.com/engineering/the-jam-and-studio.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "A jam turns a card into finished work, never paying twice",
    "points": [
     {
      "icon": "people",
      "text": "One jam per card, owned by the team, so a second person joins it."
     },
     {
      "icon": "gear",
      "text": "The stage is one bar: Draft, Make, Send, with one primary button."
     },
     {
      "icon": "money",
      "text": "Studio makes every picture and video behind a price and a yes."
     },
     {
      "icon": "lock",
      "text": "Guests may chat, edit the brief and draft; paid makes stay the team's."
     },
     {
      "icon": "warn",
      "text": "v2-only routes remain until the access log shows no hits for 14 days."
     }
    ],
    "stat": null,
    "decide": "Does Set-up v2 go to production? Proposal: yes, after one clean partner session on staging.",
    "mood": "building"
   },
   "open_questions": [
    "**When do the v2-only routes go?** Proposal: check the access log for `/p/` and `/brief/` hits over 14 days; remove them if there are none.",
    "**Does Set-up v2 go to production?** Proposal: yes after one partner session on staging with no layout findings."
   ]
  },
  {
   "id": "5.9",
   "title": "Briefs and hand-off",
   "department": "Engineering",
   "department_slug": "engineering",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Team brief, jam brief, hand-off page, recipients, send routes",
   "urls": {
    "html": "https://handbook.joinsquareup.com/engineering/briefs-and-hand-off",
    "markdown": "https://handbook.joinsquareup.com/engineering/briefs-and-hand-off.md",
    "json": "https://handbook.joinsquareup.com/engineering/briefs-and-hand-off.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Every jam ends in a brief someone else can work from",
    "points": [
     {
      "icon": "book",
      "text": "Three documents: the jam brief, a team brief per deliverable, and a signed read only page."
     },
     {
      "icon": "people",
      "text": "The Send to sheet names one of seven recipients."
     },
     {
      "icon": "lock",
      "text": "Brew emails a brief only to our team; it never posts or runs anything."
     },
     {
      "icon": "box",
      "text": "Also a PDF, a publish pack, and Gmail, Mail or Outlook drafts."
     },
     {
      "icon": "gear",
      "text": "Bump TB_V when briefs are written differently, and all saved ones rewrite."
     }
    ],
    "stat": null,
    "decide": "Should shared links expire? Proposal: 30 days by default, with revoke on the jam.",
    "mood": "solid"
   },
   "open_questions": [
    "**Should shared links expire?** Proposal: 30 days by default, with revoke on the jam.",
    "**Does the recipient \"our team\" stay now that Brew is kept independent?** Proposal: keep it as is, add nothing new tied to it. [src: memory brew-qa-round2-2026-10-24]"
   ]
  },
  {
   "id": "5.10",
   "title": "Connectors",
   "department": "Engineering",
   "department_slug": "engineering",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Each account, scopes, refresh, protected connections",
   "urls": {
    "html": "https://handbook.joinsquareup.com/engineering/connectors",
    "markdown": "https://handbook.joinsquareup.com/engineering/connectors.md",
    "json": "https://handbook.joinsquareup.com/engineering/connectors.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Read only connectors on a fixed cadence, with Arata's protected in code",
    "points": [
     {
      "icon": "link",
      "text": "Shopify, Meta, Google Ads, GA4, Klaviyo, Judge.me and Slack; Marketplaces stay off."
     },
     {
      "icon": "clock",
      "text": "Reads run every 3 to 12 hours, plus a re-read when a member opens the brand."
     },
     {
      "icon": "warn",
      "text": "After 3 failures or four missed cadences, numbers go stale and stop being evidence."
     },
     {
      "icon": "lock",
      "text": "Tokens are encrypted, and Arata's live connections are never disconnected."
     },
     {
      "icon": "flag",
      "text": "Connected numbers are the team's source of truth, for the team only."
     }
    ],
    "stat": {
     "value": "3",
     "label": "failed reads mark data stale"
    },
    "decide": "Who joins Arata on the protected list? Proposal: every partner once an account connects.",
    "mood": "solid"
   },
   "open_questions": [
    "**When should Marketplaces become real?** Proposal: after Meta App Review, starting with Amazon seller data for India.",
    "**Who besides Arata goes on the protected list?** Proposal: every design partner once their first account connects."
   ]
  },
  {
   "id": "5.11",
   "title": "Learnings and memory",
   "department": "Engineering",
   "department_slug": "engineering",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Brand memory, learnings, taste, tuning, Brand Book",
   "urls": {
    "html": "https://handbook.joinsquareup.com/engineering/learnings-and-memory",
    "markdown": "https://handbook.joinsquareup.com/engineering/learnings-and-memory.md",
    "json": "https://handbook.joinsquareup.com/engineering/learnings-and-memory.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Five memory layers teach Brew more about each store weekly",
    "points": [
     {
      "icon": "book",
      "text": "Layers: brand memory, learnings, Brand Book, workspace taste and each member's feed."
     },
     {
      "icon": "chat",
      "text": "A drop runs learnings: the team reviews the draft, then saves."
     },
     {
      "icon": "spark",
      "text": "High and medium impact learnings rewrite Plays within a $30 cap."
     },
     {
      "icon": "lock",
      "text": "A member's own preferences never reach the brand's memory."
     },
     {
      "icon": "heart",
      "text": "Plans from anyone are taken as context, never filtered by who proposed them."
     }
    ],
    "stat": {
     "value": "5",
     "label": "layers of memory"
    },
    "decide": "Should brand memory and Brand Book rules merge? Proposal: not in v1, revisit in v2.",
    "mood": "building"
   },
   "open_questions": [
    "**Should brand memory and Brand Book rules merge?** Proposal: not in v1; in v2 make memory lines that are rules become Brand Book rules after a team confirm.",
    "**Should a member's preferences ever reach the brand's memory?** Proposal: no, they stay personal."
   ]
  },
  {
   "id": "5.12",
   "title": "Testing and QA",
   "department": "Engineering",
   "department_slug": "engineering",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "The suite, honesty tests, layout audit, QA rounds",
   "urls": {
    "html": "https://handbook.joinsquareup.com/engineering/testing-and-qa",
    "markdown": "https://handbook.joinsquareup.com/engineering/testing-and-qa.md",
    "json": "https://handbook.joinsquareup.com/engineering/testing-and-qa.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "One free test suite guards every deploy, and audits check every brand",
    "points": [
     {
      "icon": "check",
      "text": "215 test files run free with AI_MOCK, and deploy.sh refuses on a failure."
     },
     {
      "icon": "gear",
      "text": "GitHub Actions runs the same gate on every push and pull request."
     },
     {
      "icon": "eye",
      "text": "Audit tools check saved data for every brand, not just one."
     },
     {
      "icon": "flag",
      "text": "A QV round runs after each phase, before the next begins."
     },
     {
      "icon": "money",
      "text": "Paid probes run only on purpose, with Param's yes."
     }
    ],
    "stat": {
     "value": "215",
     "label": "test files"
    },
    "decide": "Should a red CI run block a deploy? Proposal: yes, deploy.sh stops on red.",
    "mood": "solid"
   },
   "open_questions": [
    "**Should a red CI run block a deploy?** Proposal: yes, `deploy.sh` checks the commit's Actions status first and stops on red.",
    "**Who owns QA rounds once Sai and Arvind work in the code?** Proposal: whoever ships a phase runs its QV round; Param signs off the three final rounds."
   ]
  },
  {
   "id": "5.13",
   "title": "Release and promote",
   "department": "Engineering",
   "department_slug": "engineering",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Deploy, promote, the clean gate, rollback",
   "urls": {
    "html": "https://handbook.joinsquareup.com/engineering/release-and-promote",
    "markdown": "https://handbook.joinsquareup.com/engineering/release-and-promote.md",
    "json": "https://handbook.joinsquareup.com/engineering/release-and-promote.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Staging ships any time, production only through one guarded promote script",
    "points": [
     {
      "icon": "rocket",
      "text": "./deploy.sh puts tested code on staging and keeps the newest 3 revisions."
     },
     {
      "icon": "lock",
      "text": "Production takes staging's exact image, after backup, migrations, smoke test and clean gate."
     },
     {
      "icon": "check",
      "text": "Promote rolls back by itself if any step fails."
     },
     {
      "icon": "gear",
      "text": "A deploy never waits for background work; runs resume on the next instance."
     },
     {
      "icon": "warn",
      "text": "Memory says production ran 0285592 on 25 Oct; nothing prints the live sha yet."
     }
    ],
    "stat": {
     "value": "8",
     "label": "promote steps"
    },
    "decide": "Who may run a promote? Proposal: Param, or a session Param asks in chat, one at a time.",
    "mood": "solid"
   },
   "open_questions": [
    "**Who may run a promote?** Proposal: Param, or a session Param asks in chat, one at a time.",
    "**Is there a release freeze during a partner session?** Proposal: no promotes during a booked partner call; staging stays free.",
    "**What does production run now?** Memory says 0285592 on 25 Oct. Proposal: print the serving sha on `/api/config` so this page can read it."
   ]
  },
  {
   "id": "5.14",
   "title": "Parallel sessions",
   "department": "Engineering",
   "department_slug": "engineering",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Worktrees, staging only your own lines, deploying from a clean tree",
   "urls": {
    "html": "https://handbook.joinsquareup.com/engineering/parallel-sessions",
    "markdown": "https://handbook.joinsquareup.com/engineering/parallel-sessions.md",
    "json": "https://handbook.joinsquareup.com/engineering/parallel-sessions.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Sessions edit brew in parallel, so each ships only its own lines",
    "points": [
     {
      "icon": "people",
      "text": "Commit only your own lines, and push to origin/main before deploying."
     },
     {
      "icon": "box",
      "text": "Deploy from a clean detached worktree of origin/main, never a local main."
     },
     {
      "icon": "warn",
      "text": "16 and 19 Oct: unpushed or swept in code was shipped or dropped."
     },
     {
      "icon": "lock",
      "text": "Never edit a tree or script while it is deploying."
     },
     {
      "icon": "gear",
      "text": "deploy.sh refuses a dirty tree, and one promote runs at a time."
     }
    ],
    "stat": null,
    "decide": "Should sessions move to branches and pull requests? Proposal: yes for changes over 200 lines.",
    "mood": "solid"
   },
   "open_questions": [
    "**Should sessions move to branches and pull requests now?** Proposal: yes for any change over 200 lines; small fixes stay on main.",
    "**Should long paid runs block deploys?** Proposal: no; keep resumable runs and never re-add a deploy wait."
   ]
  },
  {
   "id": "5.15",
   "title": "Decision records",
   "department": "Engineering",
   "department_slug": "engineering",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "One per big technical call",
   "urls": {
    "html": "https://handbook.joinsquareup.com/engineering/decision-records",
    "markdown": "https://handbook.joinsquareup.com/engineering/decision-records.md",
    "json": "https://handbook.joinsquareup.com/engineering/decision-records.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Big technical calls written down, so nobody re-decides without new facts",
    "points": [
     {
      "icon": "flag",
      "text": "DR-1: a realistic prototype, cut to read, Plays, feed, jam and brief."
     },
     {
      "icon": "lock",
      "text": "DR-2: read only connectors built by us, with no vendor."
     },
     {
      "icon": "money",
      "text": "DR-3: Gemini Flash for most work, Gemini Pro for Plays, on Google credits."
     },
     {
      "icon": "clock",
      "text": "DR-4: deploys never wait; runs resume on the next instance."
     },
     {
      "icon": "warn",
      "text": "The launch model for Plays is still open."
     }
    ],
    "stat": {
     "value": "2028-05-19",
     "label": "Google credits end"
    },
    "decide": "Which model writes Plays at launch? Proposal: Opus with credit, after a blind test.",
    "mood": "building"
   },
   "open_questions": [
    "**Which model writes Plays at launch?** Proposal: Opus with Anthropic credit, after a 5-Play blind test against Pro (about $1).",
    "**Should DR-17 also cover Sloosh finals on production?** Proposal: yes, keep finals on Gemini on production until Param says otherwise."
   ]
  },
  {
   "id": "5.16",
   "title": "Tech debt",
   "department": "Engineering",
   "department_slug": "engineering",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Known debt, its risk, the fix",
   "urls": {
    "html": "https://handbook.joinsquareup.com/engineering/tech-debt",
    "markdown": "https://handbook.joinsquareup.com/engineering/tech-debt.md",
    "json": "https://handbook.joinsquareup.com/engineering/tech-debt.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Known debt, ranked by risk, with the riskiest paid first",
    "points": [
     {
      "icon": "warn",
      "text": "D-1: the default compute service account holds project wide secret access."
     },
     {
      "icon": "lock",
      "text": "D-2 and D-3: shared links never expire, and no route table tests who may call what."
     },
     {
      "icon": "box",
      "text": "D-7 to D-10: one worker, no domain tables, and the demo on a second storage path."
     },
     {
      "icon": "chart",
      "text": "Debt today: 3 High, 16 Medium and 11 Low."
     },
     {
      "icon": "flag",
      "text": "Pay one item a week and strike it with a commit."
     }
    ],
    "stat": {
     "value": "3",
     "label": "high risk debts"
    },
    "decide": "Which High item first? Proposal: D-1 this week, then D-3.",
    "mood": "urgent"
   },
   "open_questions": [
    "**Which High item first, now that CI runs?** Proposal: D-1 this week, then D-3.",
    "**Can D-1 be fixed without breaking the other services?** Proposal: list the 15 services and give each its own account first, then remove the default grants."
   ]
  },
  {
   "id": "5.17",
   "title": "Changelog",
   "department": "Engineering",
   "department_slug": "engineering",
   "direction": null,
   "branded": false,
   "status": "generated",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "What shipped, by date",
   "urls": {
    "html": "https://handbook.joinsquareup.com/engineering/changelog",
    "markdown": "https://handbook.joinsquareup.com/engineering/changelog.md",
    "json": "https://handbook.joinsquareup.com/engineering/changelog.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "884 changes since 12 October, newest first, straight from git",
    "points": [
     {
      "icon": "rocket",
      "text": "26 Oct: the jam page was rebuilt as the approved prototype."
     },
     {
      "icon": "box",
      "text": "26 Oct: all 228 deliverables now open as a jam on any card."
     },
     {
      "icon": "check",
      "text": "26 Oct: GitHub CI now runs the deploy test gate on every push."
     },
     {
      "icon": "lock",
      "text": "26 Oct: Postgres brand reset and data request deletion became brew-ops jobs."
     },
     {
      "icon": "gear",
      "text": "Generated on every build, so change the source, never this list."
     }
    ],
    "stat": {
     "value": "884",
     "label": "changes since 12 October"
    },
    "decide": null,
    "mood": "solid"
   },
   "open_questions": []
  },
  {
   "id": "5.18",
   "title": "Engineering rules",
   "department": "Engineering",
   "department_slug": "engineering",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Every brand, heal saved data, errors never shown as zero, dummies marked",
   "urls": {
    "html": "https://handbook.joinsquareup.com/engineering/engineering-rules",
    "markdown": "https://handbook.joinsquareup.com/engineering/engineering-rules.md",
    "json": "https://handbook.joinsquareup.com/engineering/engineering-rules.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "The rules every change follows, each one earned by a past hurt",
    "points": [
     {
      "icon": "flag",
      "text": "Truth: no invented numbers, and a check that did not run is never shown as none."
     },
     {
      "icon": "check",
      "text": "Every brand: a fix works for any brand, with a test and healed saved data."
     },
     {
      "icon": "lock",
      "text": "Dummies carry a tag in three places, and none reaches production."
     },
     {
      "icon": "book",
      "text": "Never re-add a cut feature without a product decision."
     },
     {
      "icon": "gear",
      "text": "Enforce in CI where possible, starting with the Dummy marker check."
     }
    ],
    "stat": {
     "value": "15",
     "label": "files carry DUMMY markers today"
    },
    "decide": "Should CI enforce these rules? Proposal: yes, start with the Dummy marker check.",
    "mood": "solid"
   },
   "open_questions": [
    "**Should these rules be enforced in CI where possible?** Proposal: yes; start with the Dummy-marker check and a ban on brand slugs in code outside tests and data."
   ]
  },
  {
   "id": "5.19",
   "title": "Performance and reliability",
   "department": "Engineering",
   "department_slug": "engineering",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Page speed, load test results, caches, timeouts, what we promise on uptime",
   "urls": {
    "html": "https://handbook.joinsquareup.com/engineering/performance-and-reliability",
    "markdown": "https://handbook.joinsquareup.com/engineering/performance-and-reliability.md",
    "json": "https://handbook.joinsquareup.com/engineering/performance-and-reliability.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Fast today, with no written uptime promise to partners yet",
    "points": [
     {
      "icon": "chart",
      "text": "Load test on production: p50 9 ms, p95 20 ms, p99 259 ms, 0 errors."
     },
     {
      "icon": "rocket",
      "text": "The signed in feed went from 2,160 ms warm to 192 ms."
     },
     {
      "icon": "gear",
      "text": "Caches, change notices and a boot warm up keep pages quick."
     },
     {
      "icon": "warn",
      "text": "First load after a release is still slow, noted and not measured."
     },
     {
      "icon": "clock",
      "text": "Proposed target: feed under 500 ms at p95."
     }
    ],
    "stat": {
     "value": "259",
     "label": "p99 milliseconds under load"
    },
    "decide": "What uptime do we promise partners? Proposal: 99.5% a month, as a target, not a guarantee.",
    "mood": "waiting"
   },
   "open_questions": [
    "**What uptime do we promise design partners?** Proposal: 99.5% a month for the feed, measured by the `/healthz/ready` check, stated in the partner terms as a target, not a guarantee.",
    "**What page speed is good enough?** Proposal: feed under 500 ms at p95 and brand page first paint under 2 s on a phone, both checked after each promote.",
    "**Should we load test again before more brands join?** Proposal: yes, at 3 times the 25 Oct rate (about 90 requests a second) before the next onboarding wave."
   ]
  },
  {
   "id": "6.1",
   "title": "Model policy",
   "department": "AI and models",
   "department_slug": "ai-and-models",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Which model does what, Pro or Flash, the fallback, when to switch",
   "urls": {
    "html": "https://handbook.joinsquareup.com/ai-and-models/model-policy",
    "markdown": "https://handbook.joinsquareup.com/ai-and-models/model-policy.md",
    "json": "https://handbook.joinsquareup.com/ai-and-models/model-policy.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Pro writes the Plays, Flash does the rest, Claude waits for credit",
    "points": [
     {
      "icon": "gear",
      "text": "One switch, AI_PROVIDER, sends every text call to Claude or to Gemini."
     },
     {
      "icon": "rocket",
      "text": "Plays alone run on Gemini Pro; brief, ideas, cards and jam stay on Flash."
     },
     {
      "icon": "money",
      "text": "Anthropic credit ran out on 20 Oct, so live moved to Gemini that day."
     },
     {
      "icon": "check",
      "text": "Failed calls fall back down a chain and billing failures pause callers for 15 minutes."
     },
     {
      "icon": "chart",
      "text": "Opus Plays were clearly richer than Pro, but the test was confounded by an audit upload."
     }
    ],
    "stat": {
     "value": "54",
     "label": "Arata Plays compared"
    },
    "decide": "Switch Plays back to Opus once Anthropic is topped up, after a fair 5-Play bake-off?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Back to Claude for Plays?** Proposal: top up Anthropic, run the fair bake-off from the Evals document on 5 Arata Plays, about $5 to $10, and switch Plays back to Opus medium only if Opus wins most blind pairs.",
    "**Is Claude on Vertex covered by the Google credits?** It has never been used [src: memory brew-gemini-provider]. Proposal: one small paid probe on Vertex with your yes, then decide whether Claude runs on the credits.",
    "**Brief and ideas on Flash.** They asked for Opus high and get Flash today. Proposal: move the brief to Pro alongside Plays, since every Play reads it.",
    "**Jam spend has no dollar meter.** Jam calls count only as daily units [src: brew/server.js:146-171]. Proposal: meter them through ai.js so cost per brand includes the jam."
   ]
  },
  {
   "id": "6.2",
   "title": "Prompts registry",
   "department": "AI and models",
   "department_slug": "ai-and-models",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Every prompt, where it lives, what it feeds, its guard",
   "urls": {
    "html": "https://handbook.joinsquareup.com/ai-and-models/prompts-registry",
    "markdown": "https://handbook.joinsquareup.com/ai-and-models/prompts-registry.md",
    "json": "https://handbook.joinsquareup.com/ai-and-models/prompts-registry.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Every Brew model call, with its guard, on one list",
    "points": [
     {
      "icon": "book",
      "text": "Each AI call has a tag, a file and line, a tier and what runs today."
     },
     {
      "icon": "lock",
      "text": "A guard checks the output before anyone sees it: claims, fact gate, check copy."
     },
     {
      "icon": "gear",
      "text": "Opus, Plays, Sonnet, Jam and Haiku are tiers; today Flash answers all except Plays."
     },
     {
      "icon": "warn",
      "text": "Jam calls have no dollar meter, and a few research calls have no tag."
     },
     {
      "icon": "rocket",
      "text": "In v2 the list becomes a data file the code reads, so it cannot drift."
     }
    ],
    "stat": {
     "value": "98",
     "label": "AI call sites, about"
    },
    "decide": "Should the registry become code in v2, and should the brief and ideas move to Pro?",
    "mood": "building"
   },
   "open_questions": [
    "**Should the registry become code?** Proposal: yes, a `data/prompts.json` read by ai.js and server.js, in v2, with a test that every call site is listed.",
    "**Which tags need a stronger tier first?** Proposal: brief and `ideas:write` move to Pro with the Plays, because they asked for Opus and every Play reads the brief."
   ]
  },
  {
   "id": "6.3",
   "title": "Guards",
   "department": "AI and models",
   "department_slug": "ai-and-models",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Claims, copy, image guard, look judge, writer slips and mend",
   "urls": {
    "html": "https://handbook.joinsquareup.com/ai-and-models/guards",
    "markdown": "https://handbook.joinsquareup.com/ai-and-models/guards.md",
    "json": "https://handbook.joinsquareup.com/ai-and-models/guards.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Nothing a model invents reaches a shopper without a guard looking first",
    "points": [
     {
      "icon": "lock",
      "text": "Five kinds of claim are flagged: codes, guarantees, timed results, absolutes and efficacy."
     },
     {
      "icon": "eye",
      "text": "Every picture gets a product check and a look judge; a second failure is held back."
     },
     {
      "icon": "check",
      "text": "Fact gate, Play check and proof sheet keep every number tied to a source."
     },
     {
      "icon": "gear",
      "text": "Guard tests run on every deploy, and a failing suite stops it."
     },
     {
      "icon": "warn",
      "text": "Nobody counts how often each guard fires yet."
     }
    ],
    "stat": {
     "value": "47",
     "label": "of 54 pictures were fine"
    },
    "decide": "Log one daily line per brand with flags, mends, redos and holds?",
    "mood": "solid"
   },
   "open_questions": [
    "**Count the guards.** Nothing records how often each guard fires. Proposal: one daily line per brand in the ops page with flags, mends, redos and holds.",
    "**Judge model.** The picture checks ask for Haiku and run on Flash today. Proposal: keep Flash until the eval set shows judge agreement with a person below 90%, then move the judge to Claude.",
    "**Video spelling remake.** Proposal: keep it manual in v1, and in v2 offer one priced remake."
   ]
  },
  {
   "id": "6.4",
   "title": "Evals",
   "department": "AI and models",
   "department_slug": "ai-and-models",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "What we measure on outputs, test sets, cadence",
   "urls": {
    "html": "https://handbook.joinsquareup.com/ai-and-models/evals",
    "markdown": "https://handbook.joinsquareup.com/ai-and-models/evals.md",
    "json": "https://handbook.joinsquareup.com/ai-and-models/evals.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "We test the code, but nothing yet scores what the models write",
    "points": [
     {
      "icon": "warn",
      "text": "No eval suite exists; only guard tests, audits, QA rounds and one Pro vs Opus comparison."
     },
     {
      "icon": "box",
      "text": "Plan: five frozen test brands, read-only copies, never touching a live brand."
     },
     {
      "icon": "chart",
      "text": "Blind pairs decide Plays: a new model must win or tie 60 percent."
     },
     {
      "icon": "clock",
      "text": "Guard corpus runs every deploy for free; the Play bake-off runs monthly."
     },
     {
      "icon": "money",
      "text": "Bake-off costs about 5 to 10 dollars; budget proposed at 20 a month."
     }
    ],
    "stat": {
     "value": "211",
     "label": "test files, none scoring output"
    },
    "decide": "Accept this eval set and run the first Play bake-off on 5 Arata Plays?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Accept this eval set?** Proposal: accept as written, run the first Play bake-off on 5 Arata Plays across Opus, Pro and Flash before deciding the Plays model.",
    "**Who scores blind pairs?** Proposal: Param and one of Sai or Arvind each score every pair; a tie between them counts as a tie.",
    "**Open models in the bake-off?** Proposal: leave them out of the first run; add one when the gates need a cheaper classifier.",
    "**Use real partner packs?** Proposal: yes, as frozen read-only copies that never leave our machines and never write back.",
    "**Eval budget.** Proposal: $20 a month while building, from the Google credits for Gemini runs, with your yes before any Claude run."
   ]
  },
  {
   "id": "6.5",
   "title": "Image and video makers",
   "department": "AI and models",
   "department_slug": "ai-and-models",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Engines, styles, costs, strengths",
   "urls": {
    "html": "https://handbook.joinsquareup.com/ai-and-models/image-and-video-makers",
    "markdown": "https://handbook.joinsquareup.com/ai-and-models/image-and-video-makers.md",
    "json": "https://handbook.joinsquareup.com/ai-and-models/image-and-video-makers.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Drafts are cheap and automatic; finals are quoted and need a yes",
    "points": [
     {
      "icon": "box",
      "text": "Three tiers: free automatic drafts, Studio makes on a shown price, Sloosh finals."
     },
     {
      "icon": "gear",
      "text": "Partner order lives in engines.json, so swapping a maker needs no code change."
     },
     {
      "icon": "rocket",
      "text": "Higgsfield kept a three-item kit exact where Gemini did not, but its keys are not live."
     },
     {
      "icon": "money",
      "text": "Higgsfield was funded with 100 dollars on 23 Oct; keys still need Secret Manager."
     },
     {
      "icon": "warn",
      "text": "Veo filters react to people, words and fast action, so some clips get deleted."
     }
    ],
    "stat": {
     "value": "0.04",
     "label": "dollars per draft picture"
    },
    "decide": "Add the Higgsfield keys to Secret Manager so Studio runs on its first choice?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Higgsfield keys.** Proposal: add `HF_API_KEY_ID` and `HF_API_KEY_SECRET` to Secret Manager so Studio runs on its first choice, with the existing per-make price and yes.",
    "**What is a Sloosh credit in dollars?** No source gives it. Proposal: write the plan price into Finance and show finals in dollars to the team.",
    "**Sloosh or Higgsfield for finals?** Both make finals-grade work. Proposal: run the partner bench on 10 briefs and keep the cheaper one that passes the eval bar.",
    "**Higgsfield Enterprise for the CLI-only tools?** Needs a word with Higgsfield sales before Brew wires Marketing Studio video or audio. Waits on Param [src: memory brew-higgsfield-wiring]."
   ]
  },
  {
   "id": "6.6",
   "title": "Outside data rules",
   "department": "AI and models",
   "department_slug": "ai-and-models",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "treg, Apify, Ad Library, fallbacks, caching, never repeat a paid call",
   "urls": {
    "html": "https://handbook.joinsquareup.com/ai-and-models/outside-data-rules",
    "markdown": "https://handbook.joinsquareup.com/ai-and-models/outside-data-rules.md",
    "json": "https://handbook.joinsquareup.com/ai-and-models/outside-data-rules.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Pay for outside data once, cap every source, never hide errors",
    "points": [
     {
      "icon": "money",
      "text": "treg first, Apify only for gaps, and a free fallback wherever one exists."
     },
     {
      "icon": "box",
      "text": "Every paid answer is cached and shared, so the same call is paid once per window."
     },
     {
      "icon": "lock",
      "text": "Daily, monthly and per-run caps sit on every source."
     },
     {
      "icon": "warn",
      "text": "A failure is never shown as a fact: found, truly none, or could not check."
     },
     {
      "icon": "link",
      "text": "The brew-external-data skill lives outside the repo, so not every session sees it."
     }
    ],
    "stat": {
     "value": "40",
     "label": "dollar daily treg cap"
    },
    "decide": "Rotate the Apify token pasted in chat on 21 Oct, and put the skill in the repo?",
    "mood": "waiting"
   },
   "open_questions": [
    "**The skill is not in the repo.** It lives in the parent folder, not on brew origin/main. Proposal: move it into brew/.claude/skills so every Brew session loads it.",
    "**One cap per brand.** treg is capped per day for all brands, Apify per brand per month. Proposal: add a per-brand monthly treg cap of $15 beside Apify's $10, both shown on the watch page.",
    "**The Apify token was pasted in chat on 21 Oct.** Proposal: rotate it [src: memory brew-viral-remakes]."
   ]
  },
  {
   "id": "6.7",
   "title": "Cost per brand",
   "department": "AI and models",
   "department_slug": "ai-and-models",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Read, plays, drafts, makes, finals, with caps",
   "urls": {
    "html": "https://handbook.joinsquareup.com/ai-and-models/cost-per-brand",
    "markdown": "https://handbook.joinsquareup.com/ai-and-models/cost-per-brand.md",
    "json": "https://handbook.joinsquareup.com/ai-and-models/cost-per-brand.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Stage by stage costs are known; the monthly total is not",
    "points": [
     {
      "icon": "money",
      "text": "Plays cost 18 cents each on Pro and 83 cents on Opus, median on Arata."
     },
     {
      "icon": "lock",
      "text": "Every stage has a cap, from a 45 dollar build to a 30 dollar learnings upload."
     },
     {
      "icon": "chart",
      "text": "A first build on Pro is proposed at about 18 dollars; on Opus about 80."
     },
     {
      "icon": "warn",
      "text": "No brand has a measured monthly total, and jam calls have no dollar meter."
     },
     {
      "icon": "box",
      "text": "Drafts are free to the team; Studio makes and finals show a price first."
     }
    ],
    "stat": {
     "value": "6.40",
     "label": "Cozy, 65 Plays on Flash"
    },
    "decide": "Measure one real month for Arata, Nutrova and Cozy by adding AI dollars to the spend file?",
    "mood": "building"
   },
   "open_questions": [
    "**Measure one real month.** No brand has a measured monthly total. Proposal: add AI dollars per brand to the spend file, then report October and November for Arata, Nutrova and Cozy.",
    "**What is a Sloosh credit in dollars?** Proposal: write the Pro plan price into Finance and convert finals on the ops page.",
    "**Read cost.** The first read has no single figure. Proposal: tag every read call `reader-<slug>` and sum it on the next new brand.",
    "**Cap for Plays on Opus.** Proposal: if Plays go back to Opus, set `BUILD_CAP_USD` to $90 for that deploy."
   ]
  },
  {
   "id": "6.8",
   "title": "Safety and refusals",
   "department": "AI and models",
   "department_slug": "ai-and-models",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "What the makers refuse, what we refuse, how we explain it",
   "urls": {
    "html": "https://handbook.joinsquareup.com/ai-and-models/safety-and-refusals",
    "markdown": "https://handbook.joinsquareup.com/ai-and-models/safety-and-refusals.md",
    "json": "https://handbook.joinsquareup.com/ai-and-models/safety-and-refusals.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "When a maker says no, we explain it in one plain sentence",
    "points": [
     {
      "icon": "lock",
      "text": "Brew refuses invented claims, fake experts, fake reviews and rival pictures passed off as ours."
     },
     {
      "icon": "chat",
      "text": "Every refusal says what happened, whether anything was charged and what to do next."
     },
     {
      "icon": "gear",
      "text": "Refused jobs fall back to the next partner, within 1.5 times the price shown."
     },
     {
      "icon": "flag",
      "text": "Nothing posts, sends, schedules or spends in v1 without a person's yes."
     },
     {
      "icon": "warn",
      "text": "Some messages still name Brew or Higgsfield, and refusals live only in memory."
     }
    ],
    "stat": {
     "value": "15",
     "label": "minute pause, credit used up"
    },
    "decide": "Run one copy pass over every refusal and budget message to drop product and vendor names?",
    "mood": "building"
   },
   "open_questions": [
    "**Product name in messages.** Some messages say \"Brew\", and some name Higgsfield, while product rules say no product name and no vendor names on founder screens [src: brew/drafts.js:183] [src: brew/jam2/studio.js:301] [src: AGENTS.md rule 6]. Proposal: one copy pass over every refusal and budget message.",
    "**Refusal log.** Refusals are kept only in memory on one instance. Proposal: store them per brand and month beside the spend file."
   ]
  },
  {
   "id": "6.9",
   "title": "AI search visibility",
   "department": "AI and models",
   "department_slug": "ai-and-models",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Reading and improving what AI answers say about a brand",
   "urls": {
    "html": "https://handbook.joinsquareup.com/ai-and-models/ai-search-visibility",
    "markdown": "https://handbook.joinsquareup.com/ai-and-models/ai-search-visibility.md",
    "json": "https://handbook.joinsquareup.com/ai-and-models/ai-search-visibility.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "We ask the AIs about a brand, then propose the page fix",
    "points": [
     {
      "icon": "eye",
      "text": "Eight shopper questions, at least five unbranded, asked from the brand's own market."
     },
     {
      "icon": "chat",
      "text": "ChatGPT, Gemini and Perplexity are asked through treg; Claude sits out while we run on Gemini."
     },
     {
      "icon": "check",
      "text": "Only real answers count; a tool that failed is never scored as not named."
     },
     {
      "icon": "spark",
      "text": "Each gap gets one fix: a comparison, a proof block or an FAQ."
     },
     {
      "icon": "clock",
      "text": "The weekly check costs about 50 cents a brand and retries after 6 hours on failure."
     }
    ],
    "stat": {
     "value": "8",
     "label": "shopper questions per brand"
    },
    "decide": "Ask Claude through the Anthropic key for this one check, about 8 short calls a week?",
    "mood": "building"
   },
   "open_questions": [
    "**Claude in the check.** Claude sits out while Brew runs on Gemini, so the check shows three tools. Proposal: ask Claude through the Anthropic key for this one check even while the rest runs on Gemini, about 8 short calls a week a brand.",
    "**Weekly check across many brands.** About $0.50 a brand a week. Proposal: keep it weekly for design partners and monthly for brands that only had a read.",
    "**Google AI overviews.** Not asked today. Proposal: probe one treg endpoint for AI overviews on one brand with your yes, then add it if it answers reliably."
   ]
  },
  {
   "id": "7.1",
   "title": "Metric definitions",
   "department": "Data and analytics",
   "department_slug": "data-and-analytics",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Every number the product and company use, defined once",
   "urls": {
    "html": "https://handbook.joinsquareup.com/data-and-analytics/metric-definitions",
    "markdown": "https://handbook.joinsquareup.com/data-and-analytics/metric-definitions.md",
    "json": "https://handbook.joinsquareup.com/data-and-analytics/metric-definitions.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Every number defined once, and the company ones wait for your yes",
    "points": [
     {
      "icon": "book",
      "text": "Brand numbers are defined in code: orders, repeat rate, sessions, conversion and more."
     },
     {
      "icon": "warn",
      "text": "The company numbers are proposed only, and nothing counts them yet."
     },
     {
      "icon": "flag",
      "text": "The north star is weekly hand-off stores: active brands that handed off a Play."
     },
     {
      "icon": "lock",
      "text": "Staff, demo and test brands never count, and no targets until four weeks of partner data."
     }
    ],
    "stat": {
     "value": "27",
     "label": "Defined numbers on 26 Oct"
    },
    "decide": "Accept the proposed company definitions, with any hand-off counting toward the north star?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Accept the proposed company definitions?** Proposal: yes as written, with the north star counting any hand-off, to the brand's team or to an outside maker.",
    "**Does staff activity ever count?** Proposal: never; our team's opens and makes are counted apart.",
    "**Cost per active brand: include Google credits?** Proposal: yes, count credits as money, so the number holds once credits end in 2028."
   ]
  },
  {
   "id": "7.2",
   "title": "Measurement engine",
   "department": "Data and analytics",
   "department_slug": "data-and-analytics",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Families, grades, attribution by design",
   "urls": {
    "html": "https://handbook.joinsquareup.com/data-and-analytics/measurement-engine",
    "markdown": "https://handbook.joinsquareup.com/data-and-analytics/measurement-engine.md",
    "json": "https://handbook.joinsquareup.com/data-and-analytics/measurement-engine.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Every card joins a family; results earn grades from A to D",
    "points": [
     {
      "icon": "book",
      "text": "v1 keeps the families and the brief's measurement plan; the engine that reads results is cut."
     },
     {
      "icon": "chart",
      "text": "A is a holdout, B launched against untouched, C tagged sales only, D before and after."
     },
     {
      "icon": "flag",
      "text": "Each family has one decide day, and an early read is never shown as a result."
     },
     {
      "icon": "rocket",
      "text": "The results engine returns in v3, reading the brand's own connected accounts."
     },
     {
      "icon": "link",
      "text": "A new kind of Play joins a family or Other, never new engine code."
     }
    ],
    "stat": {
     "value": "13",
     "label": "Families in the data file"
    },
    "decide": "Which grades teach the feed: A and B only, or more?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Which grades teach the feed?** Proposal: A and B only; C and D show to the team. [src: handbook content/company-and-strategy/open-questions.md:37]",
    "**Keep How we measure it in v1 briefs?** Proposal: keep it, renamed How your team measures it. [src: handbook content/company-and-strategy/open-questions.md:40]",
    "**Approve Other proposals without a route?** Proposal: leave them stored until v3 brings the engine back."
   ]
  },
  {
   "id": "7.3",
   "title": "Tracking plan",
   "department": "Data and analytics",
   "department_slug": "data-and-analytics",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Events, properties, where they fire",
   "urls": {
    "html": "https://handbook.joinsquareup.com/data-and-analytics/tracking-plan",
    "markdown": "https://handbook.joinsquareup.com/data-and-analytics/tracking-plan.md",
    "json": "https://handbook.joinsquareup.com/data-and-analytics/tracking-plan.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "No analytics today; here are the events to log ourselves",
    "points": [
     {
      "icon": "warn",
      "text": "The product has no usage analytics and no outside trackers."
     },
     {
      "icon": "box",
      "text": "One Postgres table called events, written by the server, never by a third party script."
     },
     {
      "icon": "flag",
      "text": "The v1 events cover reads, hearts, makes, hand-offs and corrected facts."
     },
     {
      "icon": "lock",
      "text": "Staff and demo acts are tagged apart, and a store's customers are never logged."
     }
    ],
    "stat": {
     "value": "21",
     "label": "Event names defined 26 Oct"
    },
    "decide": "Approve the v1 event list, and who builds it?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Approve the event list?** Proposal: yes, the v1 rows only, built as one change by engineering before the redesign.",
    "**Our own table or an analytics vendor?** Proposal: our own table in Postgres, so no new subprocessor and no cookie banner.",
    "**Track the future public site?** Proposal: the marketing site may use the Setup Analytics pattern; the product itself never does, and the privacy page says which is which."
   ]
  },
  {
   "id": "7.4",
   "title": "The 68 data sources",
   "department": "Data and analytics",
   "department_slug": "data-and-analytics",
   "direction": null,
   "branded": false,
   "status": "generated",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Every source, cadence, status, cost",
   "urls": {
    "html": "https://handbook.joinsquareup.com/data-and-analytics/the-68-data-sources",
    "markdown": "https://handbook.joinsquareup.com/data-and-analytics/the-68-data-sources.md",
    "json": "https://handbook.joinsquareup.com/data-and-analytics/the-68-data-sources.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "All 68 things the product reads, how often, and whether live",
    "points": [
     {
      "icon": "eye",
      "text": "Seven groups: your store, your accounts, what people say, where you sell, and more."
     },
     {
      "icon": "link",
      "text": "Account links like Shopify and Meta are read only, every 3 to 12 hours."
     },
     {
      "icon": "chat",
      "text": "Public talk from Reddit, TikTok, X and more is swept every 8 hours."
     },
     {
      "icon": "clock",
      "text": "Rival ads on Meta are read every 2 hours, yours every 12."
     },
     {
      "icon": "gear",
      "text": "This page is generated on every build, so change the source, never the file."
     }
    ],
    "stat": {
     "value": "68",
     "label": "Data sources read"
    },
    "decide": null,
    "mood": "solid"
   },
   "open_questions": []
  },
  {
   "id": "7.5",
   "title": "Dashboards",
   "department": "Data and analytics",
   "department_slug": "data-and-analytics",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "What each shows and who reads it",
   "urls": {
    "html": "https://handbook.joinsquareup.com/data-and-analytics/dashboards",
    "markdown": "https://handbook.joinsquareup.com/data-and-analytics/dashboards.md",
    "json": "https://handbook.joinsquareup.com/data-and-analytics/dashboards.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "No company dashboard yet, just alert emails and a few admin pages",
    "points": [
     {
      "icon": "eye",
      "text": "Today we read health from Cloud Monitoring, alert emails and a handful of admin routes."
     },
     {
      "icon": "warn",
      "text": "Nothing shows active brands, hand-offs, activation or cost per brand."
     },
     {
      "icon": "chart",
      "text": "Proposed: a weekly partner view, a company view and a health view, all in v1."
     },
     {
      "icon": "lock",
      "text": "One staff page at /ops/weekly, reading our own tables, no third party tool."
     }
    ],
    "stat": {
     "value": "11",
     "label": "Cloud Monitoring alert conditions"
    },
    "decide": "Build the weekly views in the product or in an outside tool?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Build the weekly views in the product or in a tool?** Proposal: a small staff page in the product, so data never leaves our database.",
    "**Who owns the Monday read?** Proposal: Sai prepares, Param decides.",
    "**Show partners their own view?** Proposal: not in v1; in v3 the brand gets its results view."
   ]
  },
  {
   "id": "7.6",
   "title": "Data quality",
   "department": "Data and analytics",
   "department_slug": "data-and-analytics",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Facts gate, numbers checked against data, freshness",
   "urls": {
    "html": "https://handbook.joinsquareup.com/data-and-analytics/data-quality",
    "markdown": "https://handbook.joinsquareup.com/data-and-analytics/data-quality.md",
    "json": "https://handbook.joinsquareup.com/data-and-analytics/data-quality.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Every number must trace to a fact, stay fresh, never fake",
    "points": [
     {
      "icon": "lock",
      "text": "Twelve gates stop unbacked, stale, retired and dummy numbers before a card shows them."
     },
     {
      "icon": "clock",
      "text": "Connectors are read every 3 to 12 hours; three failed reads make a number stale."
     },
     {
      "icon": "check",
      "text": "Every fix works for every brand, and honesty tests run before every deploy."
     },
     {
      "icon": "warn",
      "text": "One out of stock 15ml variant once flagged 54 of Arata's Plays by mistake."
     },
     {
      "icon": "spark",
      "text": "New: a nightly data check per brand, listing unbacked numbers and stale links."
     }
    ],
    "stat": {
     "value": "54",
     "label": "Plays wrongly flagged 16 Oct"
    },
    "decide": "Run a nightly data check, and how long may a Play stay flagged?",
    "mood": "building"
   },
   "open_questions": [
    "**Run a nightly data check?** Proposal: yes, one report to hello@ listing each partner's unbacked numbers and stale connections.",
    "**How long may a Play stay flagged?** Proposal: 7 days, then it leaves the feed until it is refreshed."
   ]
  },
  {
   "id": "7.7",
   "title": "Experiments",
   "department": "Data and analytics",
   "department_slug": "data-and-analytics",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Tests and holdouts in v3",
   "urls": {
    "html": "https://handbook.joinsquareup.com/data-and-analytics/experiments",
    "markdown": "https://handbook.joinsquareup.com/data-and-analytics/experiments.md",
    "json": "https://handbook.joinsquareup.com/data-and-analytics/experiments.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "No experiments in v1, but the fair-test maths is already built",
    "points": [
     {
      "icon": "lock",
      "text": "Measurement and sending to a brand's customers are both cut from v1."
     },
     {
      "icon": "chart",
      "text": "Every estimate is a difference with a seeded range, so it never wobbles on reload."
     },
     {
      "icon": "flag",
      "text": "Site and checkout tests wait for a sample of 1000, never before day 14."
     },
     {
      "icon": "rocket",
      "text": "v3 adds holdouts through the brand's own Klaviyo or WhatsApp tool."
     }
    ],
    "stat": {
     "value": "1000",
     "label": "Sample before site tests decide"
    },
    "decide": "Run holdouts through the brand's own tools, and at what default share?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Holdouts through the brand's own tools?** Proposal: yes, Klaviyo and the brand's WhatsApp tool first, never our own sending. [src: handbook content/company-and-strategy/open-questions.md:39]",
    "**Test our own product before v3?** Proposal: no; with five partners, compare weeks before and after a change and ask them.",
    "**Default holdout share?** Proposal: 10%, shown to the brand before launch."
   ]
  },
  {
   "id": "8.1",
   "title": "Runbook index",
   "department": "Ops and infrastructure",
   "department_slug": "ops-and-infrastructure",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Every runbook and when to use it",
   "urls": {
    "html": "https://handbook.joinsquareup.com/ops-and-infrastructure/runbook-index",
    "markdown": "https://handbook.joinsquareup.com/ops-and-infrastructure/runbook-index.md",
    "json": "https://handbook.joinsquareup.com/ops-and-infrastructure/runbook-index.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Every runbook in one list, so nobody runs a script from memory",
    "points": [
     {
      "icon": "book",
      "text": "Runbooks are grouped by releasing, restoring and checking, and wiping and resetting."
     },
     {
      "icon": "flag",
      "text": "Check which site a script names before running it; staging and production differ."
     },
     {
      "icon": "warn",
      "text": "tools/reset-jams.sh still edits the old bucket, though staging keeps records in Postgres."
     },
     {
      "icon": "rocket",
      "text": "New: a brew-prod-ops job for deletions on production, and retire three bucket scripts."
     }
    ],
    "stat": {
     "value": "1",
     "label": "Stale runbook today"
    },
    "decide": "Who may run production runbooks, and should the bucket scripts be deleted now?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Who may run production runbooks?** Today the scripts run with whoever's gcloud sign-in is on the Mac. Proposal: only Param runs `promote.sh` and the restore runbooks until a second person has done one restore test with him.",
    "**Should the bucket scripts be deleted now?** `tools/reset-brand.sh` and `tools/flush-live.sh` already stop on `STORAGE=pg`. Proposal: give `tools/reset-jams.sh` the same first lines, and delete all three once production has run on Postgres for a month."
   ]
  },
  {
   "id": "8.2",
   "title": "Deploy and promote",
   "department": "Ops and infrastructure",
   "department_slug": "ops-and-infrastructure",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Step by step, checks, rollback",
   "urls": {
    "html": "https://handbook.joinsquareup.com/ops-and-infrastructure/deploy-and-promote",
    "markdown": "https://handbook.joinsquareup.com/ops-and-infrastructure/deploy-and-promote.md",
    "json": "https://handbook.joinsquareup.com/ops-and-infrastructure/deploy-and-promote.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Staging takes every tested change; production only by promote",
    "points": [
     {
      "icon": "rocket",
      "text": "./deploy.sh puts a tested change on staging right away, without asking."
     },
     {
      "icon": "lock",
      "text": "tools/promote.sh ships staging's exact image after a backup and a clean gate."
     },
     {
      "icon": "check",
      "text": "If anything fails after traffic changes, promote puts production back by itself."
     },
     {
      "icon": "clock",
      "text": "Only one promote at a time; a lock older than 2 hours is taken over."
     },
     {
      "icon": "warn",
      "text": "Never edit promote.sh while it runs; that once caused a rollback."
     }
    ],
    "stat": {
     "value": "8",
     "label": "Steps printed during a promote"
    },
    "decide": "How often should production be promoted, and should staging smoke checks fail a deploy?",
    "mood": "waiting"
   },
   "open_questions": [
    "**How often should production be promoted?** No rhythm is written down; Next carries one pending promote of the 26 Oct jam fixes. Proposal: promote at most once a day, after Param has walked Arata and one other partner on staging.",
    "**Should staging smoke checks fail the deploy?** Today they only print codes. Proposal: yes, fail on any non-200 from `/` or `/api/config`."
   ]
  },
  {
   "id": "8.3",
   "title": "Restore",
   "department": "Ops and infrastructure",
   "department_slug": "ops-and-infrastructure",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Backups, restore steps, the restore test",
   "urls": {
    "html": "https://handbook.joinsquareup.com/ops-and-infrastructure/restore",
    "markdown": "https://handbook.joinsquareup.com/ops-and-infrastructure/restore.md",
    "json": "https://handbook.joinsquareup.com/ops-and-infrastructure/restore.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Backups exist for every site, so a restore is a routine",
    "points": [
     {
      "icon": "clock",
      "text": "Production keeps point-in-time recovery for 7 days and 14 daily backups."
     },
     {
      "icon": "box",
      "text": "A nightly export at 21:30 UTC lands in a separate bucket that survives deleting the instance."
     },
     {
      "icon": "check",
      "text": "The 25 Oct restore test passed: every brand's row counts matched live production."
     },
     {
      "icon": "warn",
      "text": "After a restore run the connector ping, and never reconnect Arata."
     },
     {
      "icon": "flag",
      "text": "The monthly test is due, and no later run is recorded."
     }
    ],
    "stat": {
     "value": "7",
     "label": "Days of point-in-time recovery"
    },
    "decide": "Who runs the monthly restore test, and on which day?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Who runs the monthly restore test, and on which day?** Proposal: Param, on the first Monday of each month, starting 2 Nov 2026, with Claude doing the steps and Param checking the counts.",
    "**Is staging data worth backing up?** The partners now live on production. Proposal: treat staging as rebuildable, keep only the bucket versioning, and say so here.",
    "**Is 7 days of point-in-time recovery enough?** Proposal: keep 7 days during the design partnership and revisit when the first partner pays."
   ]
  },
  {
   "id": "8.4",
   "title": "Wipe data and reset jams",
   "department": "Ops and infrastructure",
   "department_slug": "ops-and-infrastructure",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "What each wipes, what it never touches",
   "urls": {
    "html": "https://handbook.joinsquareup.com/ops-and-infrastructure/wipe-data-and-reset-jams",
    "markdown": "https://handbook.joinsquareup.com/ops-and-infrastructure/wipe-data-and-reset-jams.md",
    "json": "https://handbook.joinsquareup.com/ops-and-infrastructure/wipe-data-and-reset-jams.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Three ways to start over, and none of them touch connections",
    "points": [
     {
      "icon": "gear",
      "text": "Jam reset, brand reset and full flush each remove different things; all run as brew-ops jobs."
     },
     {
      "icon": "lock",
      "text": "Both brand tools are dry runs until --yes, and refuse while a job is running."
     },
     {
      "icon": "people",
      "text": "The five design partners are refused in code unless a partner override is given."
     },
     {
      "icon": "link",
      "text": "Resets keep connections byte for byte; Arata's are never deleted by the tool."
     },
     {
      "icon": "warn",
      "text": "There is no Postgres full flush; flushing means a brand reset per slug."
     }
    ],
    "stat": {
     "value": "5",
     "label": "Design partners protected from resets"
    },
    "decide": "May a brand reset run on production, and what clears cache and media?",
    "mood": "waiting"
   },
   "open_questions": [
    "**May a brand reset run on production?** The code allows it, with no archive. Proposal: no; production runs only `db/delete-brand.mjs` for a data request.",
    "**What clears the cache and made media on Postgres?** Proposal: add it to `db/reset-brand.mjs` behind a `--with-cache` flag, so \"wipe data\" is one job."
   ]
  },
  {
   "id": "8.5",
   "title": "DNS and domains",
   "department": "Ops and infrastructure",
   "department_slug": "ops-and-infrastructure",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Every domain, where it points, the Mac DNS lesson",
   "urls": {
    "html": "https://handbook.joinsquareup.com/ops-and-infrastructure/dns-and-domains",
    "markdown": "https://handbook.joinsquareup.com/ops-and-infrastructure/dns-and-domains.md",
    "json": "https://handbook.joinsquareup.com/ops-and-infrastructure/dns-and-domains.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "One load balancer, a few Cloudflare records, a two minute check",
    "points": [
     {
      "icon": "map",
      "text": "feed, brew and demo all point at one load balancer, DNS only, with no Cloudflare proxy."
     },
     {
      "icon": "clock",
      "text": "The proxy had added about half a second per request, so it is off."
     },
     {
      "icon": "warn",
      "text": "On 19 Oct the site was up; Param's Mac router resolver timed out for one name."
     },
     {
      "icon": "check",
      "text": "Before calling an outage, run three checks: two dig lookups and one pinned curl."
     },
     {
      "icon": "flag",
      "text": "Use one level under joinsquareup.com only, since Universal SSL skips deeper names."
     }
    ],
    "stat": {
     "value": "34.54.65.239",
     "label": "The load balancer address"
    },
    "decide": "Who owns the Cloudflare zone, and when does production leave feed.joinsquareup.com?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Who owns the Cloudflare account and the joinsquareup.com zone?** No note names it for this zone. Proposal: Param owns it, with Sai as a second admin so a lost login never locks the domain.",
    "**When do we move production off feed.joinsquareup.com?** Proposal: when the product name is picked, in one planned change with every callback URL checked from the list above."
   ]
  },
  {
   "id": "8.6",
   "title": "Secrets and keys",
   "department": "Ops and infrastructure",
   "department_slug": "ops-and-infrastructure",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Which secret, where, who rotates it",
   "urls": {
    "html": "https://handbook.joinsquareup.com/ops-and-infrastructure/secrets-and-keys",
    "markdown": "https://handbook.joinsquareup.com/ops-and-infrastructure/secrets-and-keys.md",
    "json": "https://handbook.joinsquareup.com/ops-and-infrastructure/secrets-and-keys.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Every key sits in Secret Manager; nobody owns rotation yet",
    "points": [
     {
      "icon": "lock",
      "text": "Services read secrets by name at deploy; production has its own copies of four."
     },
     {
      "icon": "warn",
      "text": "Never rotate the vault key by adding a version alone; it would break stored sign-ins."
     },
     {
      "icon": "flag",
      "text": "Staging, production and the demo share the Anthropic, OpenAI and treg keys."
     },
     {
      "icon": "warn",
      "text": "The default compute account has project-wide secret access, reaching about 15 services."
     },
     {
      "icon": "people",
      "text": "No source names an owner for any secret, so all of them are unowned today."
     }
    ],
    "stat": {
     "value": "15",
     "label": "Services the default account reaches"
    },
    "decide": "Who rotates which secret, and do production keys get split from staging's?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Who rotates which secret?** No source names anyone. Proposal: Param owns every secret for now; Claude may add versions only when Param asks in chat; a review every quarter starting January 2027.",
    "**Should production have its own AI and data keys?** Today staging, production and the demo share `ANTHROPIC_API_KEY`, `OPENAI_API_KEY` and `TREG_TOKEN`. Proposal: yes for treg and Anthropic before the first paying partner, so a staging leak or runaway test cannot spend production's balance.",
    "**Fix the default compute account's access?** Proposal: yes, remove project-wide secret accessor and give each of the 15 services its own account, in one planned session."
   ]
  },
  {
   "id": "8.7",
   "title": "Monitoring and alerts",
   "department": "Ops and infrastructure",
   "department_slug": "ops-and-infrastructure",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Uptime checks, alert policies, who gets them",
   "urls": {
    "html": "https://handbook.joinsquareup.com/ops-and-infrastructure/monitoring-and-alerts",
    "markdown": "https://handbook.joinsquareup.com/ops-and-infrastructure/monitoring-and-alerts.md",
    "json": "https://handbook.joinsquareup.com/ops-and-infrastructure/monitoring-and-alerts.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Two layers watch Brew and email you; nobody is on call",
    "points": [
     {
      "icon": "eye",
      "text": "Cloud Monitoring checks production from outside; the app's own alerts watch from inside."
     },
     {
      "icon": "chat",
      "text": "Both layers email param@ and hello@, and each app alert sends once a day."
     },
     {
      "icon": "warn",
      "text": "Staging and the demo have no Cloud Monitoring checks recorded."
     },
     {
      "icon": "check",
      "text": "Every promote checks six pages and rolls back if any fails."
     },
     {
      "icon": "clock",
      "text": "Proposed: a named person on call each week, with a first look within 2 hours."
     }
    ],
    "stat": {
     "value": "85",
     "label": "Percent disk use that alerts"
    },
    "decide": "Who reads hello@ and answers out of hours?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Who reads hello@ and who answers out of hours?** No source names anyone. Proposal: Param is on call every week, with Arvind as backup, until a second engineer joins; hello@ forwards to Param's phone; any alert gets a first look within 2 hours from 9 am to 10 pm IST.",
    "**Should staging have an uptime check?** Proposal: yes, one check on `/healthz/ready`, emailing hello@ only.",
    "**Should the Sloosh check run on production?** It is off there because Sloosh is not connected on production. Proposal: turn it on the day Sloosh is connected there."
   ]
  },
  {
   "id": "8.8",
   "title": "Incidents",
   "department": "Ops and infrastructure",
   "department_slug": "ops-and-infrastructure",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Calling one, roles, the postmortem template",
   "urls": {
    "html": "https://handbook.joinsquareup.com/ops-and-infrastructure/incidents",
    "markdown": "https://handbook.joinsquareup.com/ops-and-infrastructure/incidents.md",
    "json": "https://handbook.joinsquareup.com/ops-and-infrastructure/incidents.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "No incident process yet; here is one to accept",
    "points": [
     {
      "icon": "book",
      "text": "Ten past incidents from 15 to 25 Oct are logged, each with its lesson."
     },
     {
      "icon": "warn",
      "text": "No note names an incident lead, a severity scale or a postmortem habit."
     },
     {
      "icon": "flag",
      "text": "Proposed: three severity levels, with Param as lead for every Sev 1."
     },
     {
      "icon": "clock",
      "text": "Tell affected partners within an hour for Sev 1; postmortem within 2 working days."
     },
     {
      "icon": "lock",
      "text": "First 15 minutes: never disconnect Arata, and never wipe partner data to fix it."
     }
    ],
    "stat": {
     "value": "54",
     "label": "Plays wrongly marked 16 Oct"
    },
    "decide": "Accept the proposed incident process, and where do we talk during one?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Accept the proposed process above?** Proposal: accept as written; Param is the lead for every Sev 1 until a second engineer joins.",
    "**Where do we talk during an incident?** Proposal: a Slack channel `#incidents` in the joinsquareup workspace, plus a phone call for Sev 1.",
    "**What do we promise partners about incidents?** Proposal: for Sev 1, a message within an hour and a short written postmortem within 2 working days; nothing about uptime until we measure it."
   ]
  },
  {
   "id": "8.9",
   "title": "Costs and quotas",
   "department": "Ops and infrastructure",
   "department_slug": "ops-and-infrastructure",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Cloud, AI, data, credits, monthly spend",
   "urls": {
    "html": "https://handbook.joinsquareup.com/ops-and-infrastructure/costs-and-quotas",
    "markdown": "https://handbook.joinsquareup.com/ops-and-infrastructure/costs-and-quotas.md",
    "json": "https://handbook.joinsquareup.com/ops-and-infrastructure/costs-and-quotas.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Caps are set in code, but no monthly spend figure exists anywhere",
    "points": [
     {
      "icon": "money",
      "text": "Google credit left was $20,763 of $25,000 on 16 Oct, ending 2028-05-19."
     },
     {
      "icon": "lock",
      "text": "Caps cover texts, images, videos, builds, treg and Apify, per day and per brand."
     },
     {
      "icon": "warn",
      "text": "No monthly spend figure exists for any vendor in any source we read."
     },
     {
      "icon": "flag",
      "text": "Production's caps are staging's numbers copied, not tuned for five partners."
     },
     {
      "icon": "chart",
      "text": "One store read through treg costs about $6."
     }
    ],
    "stat": {
     "value": "$250",
     "label": "Daily cap on all builds"
    },
    "decide": "Who checks spend, how often, and what is the monthly ceiling?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Who checks spend, and how often?** Proposal: Param, on the 1st of each month, copying each vendor's last-month total into Numbers; Claude drafts the table from the billing pages he opens.",
    "**What is the monthly ceiling while we are pre-revenue?** Proposal: the ceilings proposed in [budget](/finance/budget): a Google Cloud budget alert at $1,000 a month, its cloud $400 plus AI $600, and $220 for treg and Apify together, both emailing hello@.",
    "**Do the production caps fit five partners?** The caps are the staging numbers copied. Proposal: keep them until the first month's spend is known, then set production's from real use.",
    "**Which vendors are we paying today, on which card?** Not recorded. Proposal: Param lists them once in Finance, and this page links there."
   ]
  },
  {
   "id": "8.10",
   "title": "Protected connections",
   "department": "Ops and infrastructure",
   "department_slug": "ops-and-infrastructure",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Arata's Meta and Shopify, the guard, never disconnect",
   "urls": {
    "html": "https://handbook.joinsquareup.com/ops-and-infrastructure/protected-connections",
    "markdown": "https://handbook.joinsquareup.com/ops-and-infrastructure/protected-connections.md",
    "json": "https://handbook.joinsquareup.com/ops-and-infrastructure/protected-connections.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Arata's Meta and Shopify are never disconnected, and code refuses to try",
    "points": [
     {
      "icon": "lock",
      "text": "PROTECTED_CONNECTIONS makes the code refuse disconnect, reconnect and re-select for listed brands."
     },
     {
      "icon": "link",
      "text": "Arata is connected on both sites because the vault was copied, never reconnected."
     },
     {
      "icon": "warn",
      "text": "The guard cannot stop revoking the app at Meta or Shopify itself."
     },
     {
      "icon": "check",
      "text": "Ping jobs read the sign-ins without printing any token."
     },
     {
      "icon": "people",
      "text": "Only Arata is protected today; the other four partners are not."
     }
    ],
    "stat": {
     "value": "22 Oct",
     "label": "Param's rule on Arata's Meta"
    },
    "decide": "Protect the other four partners too, and keep force on production?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Protect the other four partners too?** Today only Arata is listed. Proposal: add each partner the day it connects its first real account, starting with Nutrova.",
    "**Should `force` exist at all on production?** Proposal: keep it for Param only, log every use, and require a note saying why."
   ]
  },
  {
   "id": "8.11",
   "title": "Background jobs",
   "department": "Ops and infrastructure",
   "department_slug": "ops-and-infrastructure",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Watchers, cadences, leases, spend caps",
   "urls": {
    "html": "https://handbook.joinsquareup.com/ops-and-infrastructure/background-jobs",
    "markdown": "https://handbook.joinsquareup.com/ops-and-infrastructure/background-jobs.md",
    "json": "https://handbook.joinsquareup.com/ops-and-infrastructure/background-jobs.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "One worker, one lease, and every timer runs on the lease holder",
    "points": [
     {
      "icon": "gear",
      "text": "Production's brew-worker runs exactly one instance and holds a Postgres lease."
     },
     {
      "icon": "clock",
      "text": "Connector reads run every 3 to 12 hours; drafts and listening every 30 minutes."
     },
     {
      "icon": "money",
      "text": "Every paid job has a cap, such as $3 a brand a week for families."
     },
     {
      "icon": "warn",
      "text": "Never run a second production worker until per-brand leases exist."
     },
     {
      "icon": "flag",
      "text": "A new timer must use leaderOnly, carry a cap, and skip the other site's brands."
     }
    ],
    "stat": {
     "value": "$40",
     "label": "Cap on first connect rewrite"
    },
    "decide": "Are these building-time cadences right for paying partners?",
    "mood": "building"
   },
   "open_questions": [
    "**Are these cadences right for paying partners?** They were set during building. Proposal: keep them for the design partnership and review after a month of spend data.",
    "**Should weekly work on production run at a fixed hour?** Today each job's first run depends on when the worker started. Proposal: no change until a partner asks for a fixed time."
   ]
  },
  {
   "id": "8.12",
   "title": "Hosting map",
   "department": "Ops and infrastructure",
   "department_slug": "ops-and-infrastructure",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Every site and service: product, demo, docs, handbook",
   "urls": {
    "html": "https://handbook.joinsquareup.com/ops-and-infrastructure/hosting-map",
    "markdown": "https://handbook.joinsquareup.com/ops-and-infrastructure/hosting-map.md",
    "json": "https://handbook.joinsquareup.com/ops-and-infrastructure/hosting-map.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Everything runs in one Google Cloud project, with Cloudflare handling DNS",
    "points": [
     {
      "icon": "map",
      "text": "Production, staging and demo are separate Cloud Run services behind one load balancer."
     },
     {
      "icon": "box",
      "text": "Production stores in Cloud SQL brew-prod, regional HA, plus the gs://brew-prod bucket."
     },
     {
      "icon": "rocket",
      "text": "Each site has its own release tool; use only that one."
     },
     {
      "icon": "eye",
      "text": "The handbook has been public with no sign in since 26 Oct, at Param's call."
     },
     {
      "icon": "warn",
      "text": "Handbook comments are not deployed, so comments on pages do nothing for now."
     }
    ],
    "stat": {
     "value": "10",
     "label": "Max production web instances"
    },
    "decide": "Who besides Param gets into the handbook, and when do we clean old buckets?",
    "mood": "building"
   },
   "open_questions": [
    "**When does the handbook go live?** The deploy script already keeps the pages off public hosting and refuses a release if squareup-handbook.web.app, firebaseapp.com or run.app answer a signed-out request, but nothing is uploaded until Cloudflare Access is on. Proposal: Param switches on Access for handbook.joinsquareup.com this week and sends the team domain and audience tag, then the first release runs with the gate, never with `--skip-gate`.",
    "**Who besides Param gets into the handbook?** Proposal: Access allows Param, Sai and Arvind by email; the comments service's `ALLOWED_EMAILS` holds the same three.",
    "**Should we clean up the old buckets `gs://squareup-feed` and `gs://squareup-feed-demo`?** Proposal: export a copy to cold storage, then delete them after Param confirms nothing reads them."
   ]
  },
  {
   "id": "9.1",
   "title": "Privacy policy",
   "department": "Security, privacy and legal",
   "department_slug": "security-privacy-and-legal",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "The final policy, in plain words",
   "urls": {
    "html": "https://handbook.joinsquareup.com/security-privacy-and-legal/privacy-policy",
    "markdown": "https://handbook.joinsquareup.com/security-privacy-and-legal/privacy-policy.md",
    "json": "https://handbook.joinsquareup.com/security-privacy-and-legal/privacy-policy.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Our privacy page is a short preview, and the code does more",
    "points": [
     {
      "icon": "warn",
      "text": "Ten things the code does are missing from the page, like OpenAI and Higgsfield receiving data."
     },
     {
      "icon": "lock",
      "text": "Shopify customer names, emails, phones and addresses are never read; only totals are kept."
     },
     {
      "icon": "book",
      "text": "A 12-point plain-words final policy is drafted, naming Yellow Monk Technologies LLP."
     },
     {
      "icon": "flag",
      "text": "Meta's app settings still point the privacy URL at staging."
     },
     {
      "icon": "people",
      "text": "A lawyer must review the final policy before the product opens to everyone."
     }
    ],
    "stat": {
     "value": "10",
     "label": "policy gaps on 26 Oct"
    },
    "decide": "Who reviews the final policy, and before which brand signs up outside the five partners?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Who reviews the final policy, and when?** Proposal: a lawyer in India who knows the Digital Personal Data Protection Act, before the first brand outside the five partners signs up.",
    "**Which laws apply to brands outside India?** Cozy is a US store. Proposal: the lawyer confirms whether GDPR and US state laws need extra sections; until then, onboard only Indian brands to production.",
    "**Do we need a cookie banner?** Proposal: no, while the only cookies are the two sign in cookies and there are no trackers; the lawyer confirms.",
    "**Does the policy name the product?** The writing rules say no product name on customer pages. Proposal: the policy names the legal entity and says \"the service\" until the brand name is picked.",
    "**Should we keep the Anthropic key on production when nothing uses it?** Proposal: remove it, so the subprocessor list stays short and true."
   ]
  },
  {
   "id": "9.2",
   "title": "Terms of service",
   "department": "Security, privacy and legal",
   "department_slug": "security-privacy-and-legal",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "The final terms",
   "urls": {
    "html": "https://handbook.joinsquareup.com/security-privacy-and-legal/terms-of-service",
    "markdown": "https://handbook.joinsquareup.com/security-privacy-and-legal/terms-of-service.md",
    "json": "https://handbook.joinsquareup.com/security-privacy-and-legal/terms-of-service.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Seven preview paragraphs today, full terms drafted and waiting for a lawyer",
    "points": [
     {
      "icon": "book",
      "text": "The preview terms say: use it on your own store, it is free, check first."
     },
     {
      "icon": "warn",
      "text": "No legal entity, governing law, liability limit or billing terms yet."
     },
     {
      "icon": "lock",
      "text": "The service never changes a connected account, spends money or messages customers."
     },
     {
      "icon": "flag",
      "text": "Nothing records whether anyone accepted the terms; only the page shows them."
     },
     {
      "icon": "rocket",
      "text": "Fees and posting come in v2, results in v3, ads in v4, each adding clauses."
     }
    ],
    "stat": {
     "value": "12",
     "label": "month liability cap proposed"
    },
    "decide": "Show a line under sign in saying signing in accepts the terms, and store the date?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Do people accept the terms, or only see them?** Nothing records acceptance today. Proposal: one line under the sign in button, \"By signing in you accept the terms\", plus the date stored on the brand when its first admin claims it.",
    "**Which city's courts?** Proposal: the city on the LLP's registration; Param confirms.",
    "**Liability cap?** Proposal: fees paid in the last 12 months, and a fixed small amount during the free preview; the lawyer sets the number.",
    "**Who reviews, and when?** Proposal: the same lawyer as the privacy policy, in the same review, before the first brand outside the five partners."
   ]
  },
  {
   "id": "9.3",
   "title": "Data processing agreement",
   "department": "Security, privacy and legal",
   "department_slug": "security-privacy-and-legal",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "For partner brands",
   "urls": {
    "html": "https://handbook.joinsquareup.com/security-privacy-and-legal/data-processing-agreement",
    "markdown": "https://handbook.joinsquareup.com/security-privacy-and-legal/data-processing-agreement.md",
    "json": "https://handbook.joinsquareup.com/security-privacy-and-legal/data-processing-agreement.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "No partner has a data processing agreement, so we drafted one",
    "points": [
     {
      "icon": "warn",
      "text": "None of the five partners has a DPA, signed or drafted."
     },
     {
      "icon": "lock",
      "text": "Proposed promises: no training our own model, 72 hour breach notice, deletion within 7 days."
     },
     {
      "icon": "people",
      "text": "Only named staff should open brand data; today anyone at two email domains can."
     },
     {
      "icon": "link",
      "text": "Subprocessors get 14 days' notice, with the right to object and leave."
     },
     {
      "icon": "check",
      "text": "Every promise must already be true in code or a runbook, or we fix the code."
     }
    ],
    "stat": {
     "value": "72",
     "label": "hour breach notice proposed"
    },
    "decide": "Offer the DPA now with the partner agreement, since PUMA India is likely to ask?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Do we offer a DPA now, or only when a partner asks?** Proposal: now, with the partner agreement, because PUMA India is likely to ask.",
    "**Breach notice time?** Proposal: 72 hours from confirming, which is a common standard; the lawyer checks Indian law.",
    "**Backups after deletion?** Point in time recovery keeps 7 days and daily backups keep 14. Proposal: say backups roll off within 14 days and are never restored for a deleted brand.",
    "**Who signs for us?** Proposal: Param, as a designated partner of the LLP; he confirms he is one."
   ]
  },
  {
   "id": "9.4",
   "title": "Subprocessors",
   "department": "Security, privacy and legal",
   "department_slug": "security-privacy-and-legal",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Every vendor that touches data, why, where",
   "urls": {
    "html": "https://handbook.joinsquareup.com/security-privacy-and-legal/subprocessors",
    "markdown": "https://handbook.joinsquareup.com/security-privacy-and-legal/subprocessors.md",
    "json": "https://handbook.joinsquareup.com/security-privacy-and-legal/subprocessors.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Ten outside companies touch brand data; the privacy page names some",
    "points": [
     {
      "icon": "link",
      "text": "Google Cloud hosts everything in Mumbai; Vertex runs Gemini; OpenAI handles voice and images."
     },
     {
      "icon": "warn",
      "text": "Six vendors are missing from the privacy page."
     },
     {
      "icon": "map",
      "text": "Seven vendors still say region to confirm."
     },
     {
      "icon": "lock",
      "text": "Shopify, Meta, Google and the rest are the brand's own accounts, not subprocessors."
     },
     {
      "icon": "gear",
      "text": "Rule: add a vendor's row here and in the policy in the same change as code."
     }
    ],
    "stat": {
     "value": "10",
     "label": "vendors with brand data"
    },
    "decide": "Pin Vertex to asia-south1 where the model exists, and publish the vendor list publicly?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Which region does Vertex run Gemini in?** Proposal: pin it to asia-south1 where the model exists there, and say so on the page.",
    "**Is Higgsfield live on production?** Proposal: Param confirms whether `HF_API_KEY_SECRET` exists; if not, drop the row until it does.",
    "**Is the Cloudflare record proxied?** Proposal: keep it DNS only, so Cloudflare sees no traffic, and confirm in the dashboard.",
    "**Do we publish vendor names on a public page?** Proposal: yes, a short list with purpose and country, the way most software companies do."
   ]
  },
  {
   "id": "9.5",
   "title": "Retention and deletion",
   "department": "Security, privacy and legal",
   "department_slug": "security-privacy-and-legal",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "What we keep, how long, how to delete",
   "urls": {
    "html": "https://handbook.joinsquareup.com/security-privacy-and-legal/retention-and-deletion",
    "markdown": "https://handbook.joinsquareup.com/security-privacy-and-legal/retention-and-deletion.md",
    "json": "https://handbook.joinsquareup.com/security-privacy-and-legal/retention-and-deletion.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Most brand data is kept until someone asks us to delete it",
    "points": [
     {
      "icon": "warn",
      "text": "Six kinds of data have no end date, brand rows and the access log among them."
     },
     {
      "icon": "clock",
      "text": "Delete my data promises 7 days; the privacy page gives no time."
     },
     {
      "icon": "lock",
      "text": "The delete tool keeps no archive, only a record that a deletion happened."
     },
     {
      "icon": "box",
      "text": "Backups hold a deleted brand for up to 14 days, and are never restored for it."
     },
     {
      "icon": "flag",
      "text": "Production has no deletion job yet; it arrives with the next promote."
     }
    ],
    "stat": {
     "value": "7",
     "label": "day deletion promise"
    },
    "decide": "Set brand data to end after 12 months without a sign in, with an email first?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Brand data with no end date: do we set one?** Proposal: 12 months without any sign in, then an email to admins, then deletion 30 days later.",
    "**How long do we keep the access log?** Proposal: 12 months.",
    "**Do restored backups bring deleted brands back?** Proposal: keep a list of deleted slugs and delete them again after any restore."
   ]
  },
  {
   "id": "9.6",
   "title": "Access rules",
   "department": "Security, privacy and legal",
   "department_slug": "security-privacy-and-legal",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Who opens what: domains, invites, guests, staff",
   "urls": {
    "html": "https://handbook.joinsquareup.com/security-privacy-and-legal/access-rules",
    "markdown": "https://handbook.joinsquareup.com/security-privacy-and-legal/access-rules.md",
    "json": "https://handbook.joinsquareup.com/security-privacy-and-legal/access-rules.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "A brand opens only to its own people, and staff see everything",
    "points": [
     {
      "icon": "people",
      "text": "Eight roles, from root admin to demo visitor; outsiders see one wall pointing to the demo."
     },
     {
      "icon": "lock",
      "text": "A brand's work email, a 14 day invite or a jam guest link gets you in."
     },
     {
      "icon": "warn",
      "text": "Anyone at two whole staff domains can open every brand today."
     },
     {
      "icon": "flag",
      "text": "Arata's Meta and Shopify are protected from disconnect unless a root admin forces it."
     },
     {
      "icon": "check",
      "text": "Every new route must pass the role check and the closed-store gate."
     }
    ],
    "stat": {
     "value": "14",
     "label": "day invite life"
    },
    "decide": "Limit staff to a named address list on production and turn on STAFF_REQUIRE_HD?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Should every `shopos.ai` address see every brand?** Proposal: no; a named list of staff addresses on production, and the two domains only on staging.",
    "**Turn on `STAFF_REQUIRE_HD=1` on production?** Proposal: yes, so a personal Google account made with a staff address never counts as staff.",
    "**Should guest links expire?** Proposal: 30 days, with a Revoke button for brand admins."
   ]
  },
  {
   "id": "9.7",
   "title": "Platform compliance",
   "department": "Security, privacy and legal",
   "department_slug": "security-privacy-and-legal",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Shopify app review, Meta app review, Google OAuth scopes",
   "urls": {
    "html": "https://handbook.joinsquareup.com/security-privacy-and-legal/platform-compliance",
    "markdown": "https://handbook.joinsquareup.com/security-privacy-and-legal/platform-compliance.md",
    "json": "https://handbook.joinsquareup.com/security-privacy-and-legal/platform-compliance.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Google is verified, Shopify and Meta are still waiting on reviewers",
    "points": [
     {
      "icon": "check",
      "text": "Google sign in plus Ads and GA4 were verified on 21 Oct."
     },
     {
      "icon": "clock",
      "text": "Shopify app submitted 21 Oct; Meta Business Verification has sat in review since 16 Oct."
     },
     {
      "icon": "warn",
      "text": "Meta App Review is drafted but two screencasts are missing."
     },
     {
      "icon": "lock",
      "text": "Only read scopes everywhere; a new scope means a new review."
     },
     {
      "icon": "map",
      "text": "The Shopify app and Meta privacy URLs still point at staging."
     }
    ],
    "stat": {
     "value": "3",
     "label": "platform reviews open"
    },
    "decide": "Open a Business Help case if Meta verification is still in review on 30 Oct?",
    "mood": "urgent"
   },
   "open_questions": [
    "**Meta verification has been in review 10 days. Chase it?** Proposal: open a support case in Business Help if it is still in review on 30 Oct.",
    "**Move the Shopify app's URLs to production before approval?** Proposal: no, change nothing during review; move them the day it is approved.",
    "**Point Meta's privacy URL at production now?** Proposal: yes, feed.joinsquareup.com/privacy, since the page is the same and production is the brands' home."
   ]
  },
  {
   "id": "9.8",
   "title": "Claims policy",
   "department": "Security, privacy and legal",
   "department_slug": "security-privacy-and-legal",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "What claims a brand may make and why",
   "urls": {
    "html": "https://handbook.joinsquareup.com/security-privacy-and-legal/claims-policy",
    "markdown": "https://handbook.joinsquareup.com/security-privacy-and-legal/claims-policy.md",
    "json": "https://handbook.joinsquareup.com/security-privacy-and-legal/claims-policy.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "A draft may promise only what the brand can already prove",
    "points": [
     {
      "icon": "lock",
      "text": "Five kinds of claim are caught: codes, guarantees, timed results, health absolutes, measured results."
     },
     {
      "icon": "check",
      "text": "A claim being on the product page is not enough for health or measured claims."
     },
     {
      "icon": "gear",
      "text": "Every writer carries the rule, and every copyable surface runs checkCopy."
     },
     {
      "icon": "flag",
      "text": "Plays keep a flagged claim marked Proposed; unattended drafts drop the sentence."
     },
     {
      "icon": "people",
      "text": "The brand stays responsible for what it publishes."
     }
    ],
    "stat": {
     "value": "five",
     "label": "kinds of claim caught"
    },
    "decide": "Add an ad disclosure like hashtag ad by default to every creator draft?",
    "mood": "building"
   },
   "open_questions": [
    "**Who checks the claim rules against Indian advertising law?** Proposal: the same lawyer as the privacy policy reads this page and the category word lists once, before the first brand outside the partners.",
    "**Do creator drafts carry a disclosure by default?** Proposal: yes, \"#ad\" on any draft written for a creator to post for the brand.",
    "**Log every flag?** Proposal: yes, one row per flag with brand, kind and surface, so we can see what writers get wrong."
   ]
  },
  {
   "id": "9.9",
   "title": "Security practices",
   "department": "Security, privacy and legal",
   "department_slug": "security-privacy-and-legal",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Auth, sessions, secrets, least access, audits done",
   "urls": {
    "html": "https://handbook.joinsquareup.com/security-privacy-and-legal/security-practices",
    "markdown": "https://handbook.joinsquareup.com/security-privacy-and-legal/security-practices.md",
    "json": "https://handbook.joinsquareup.com/security-privacy-and-legal/security-practices.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Locks are solid for five partners; four loose ends remain",
    "points": [
     {
      "icon": "lock",
      "text": "Google sign in with PKCE, signed 30 day sessions, and keys encrypted in a vault."
     },
     {
      "icon": "check",
      "text": "Only the promote script releases production, with a clean gate and rollback on failure."
     },
     {
      "icon": "clock",
      "text": "Restore test passed on 25 Oct; backups run for 14 days plus a nightly export."
     },
     {
      "icon": "warn",
      "text": "The default compute account still has project wide secret access across about 15 services."
     },
     {
      "icon": "flag",
      "text": "Keys pasted in chat on 28 Sep are still waiting to be rotated."
     }
    ],
    "stat": {
     "value": "4",
     "label": "open security findings"
    },
    "decide": "Fix the default compute account this week, one service at a time?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Fix the default compute account now?** It touches other company services. Proposal: yes, this week, one service at a time, each moved to its own account first.",
    "**An outside penetration test?** Proposal: one after v1 ships to the first 20 brands, not before.",
    "**Rotate the keys pasted in chat on 28 Sep?** The SquareUp tracking keys share this Google project. Proposal: rotate them now. [src: memory squareup-tracking-structure]"
   ]
  },
  {
   "id": "9.10",
   "title": "Incident response",
   "department": "Security, privacy and legal",
   "department_slug": "security-privacy-and-legal",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Breach steps, who to tell, timelines",
   "urls": {
    "html": "https://handbook.joinsquareup.com/security-privacy-and-legal/incident-response",
    "markdown": "https://handbook.joinsquareup.com/security-privacy-and-legal/incident-response.md",
    "json": "https://handbook.joinsquareup.com/security-privacy-and-legal/incident-response.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "No breach runbook exists, so we drafted one with 72 hours",
    "points": [
     {
      "icon": "warn",
      "text": "Alerts exist, but no runbook, on call rota or list of whom to tell."
     },
     {
      "icon": "flag",
      "text": "Three levels proposed; level 1 is data seen outside its team or a leaked key."
     },
     {
      "icon": "clock",
      "text": "Level 1: team told in 1 hour, brands in 72 hours, write up in 7 days."
     },
     {
      "icon": "lock",
      "text": "Evidence is exported before logs roll off, and leaked keys are rotated and promoted."
     },
     {
      "icon": "check",
      "text": "No breach has happened; past incidents were a bad deploy and rollbacks."
     }
    ],
    "stat": {
     "value": "72",
     "label": "hours to tell affected brands"
    },
    "decide": "Promise brands 72 hours in the DPA, and rotate the 28 Sep keys now?",
    "mood": "urgent"
   },
   "open_questions": [
    "**Who is on call?** Proposal: Param in the day, Arvind as backup; one phone number each in the team channel.",
    "**Do we promise brands 72 hours?** Proposal: yes, in the DPA, after the lawyer confirms Indian law needs nothing shorter.",
    "**A security@ address?** Proposal: yes, forwarding to Param and hello@, named on the privacy page.",
    "**Rotate the 28 Sep keys now?** Proposal: yes, before any brand asks about security."
   ]
  },
  {
   "id": "9.11",
   "title": "Trademark and IP",
   "department": "Security, privacy and legal",
   "department_slug": "security-privacy-and-legal",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "The name, the characters, rights to generated art",
   "urls": {
    "html": "https://handbook.joinsquareup.com/security-privacy-and-legal/trademark-and-ip",
    "markdown": "https://handbook.joinsquareup.com/security-privacy-and-legal/trademark-and-ip.md",
    "json": "https://handbook.joinsquareup.com/security-privacy-and-legal/trademark-and-ip.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Nothing is trademarked yet, and the public name is still open",
    "points": [
     {
      "icon": "flag",
      "text": "No trademark search or filing exists for any of the five candidate names."
     },
     {
      "icon": "people",
      "text": "Who drew the character art, and whether the LLP owns it, is not recorded."
     },
     {
      "icon": "book",
      "text": "Proposed plan: clearance search, word mark first, then the character logo, owned by the LLP."
     },
     {
      "icon": "warn",
      "text": "A viral creator's clip used as a motion reference is our riskiest use of others' work."
     },
     {
      "icon": "lock",
      "text": "We never feed a rival's picture to a model; rivals appear only labelled as theirs."
     }
    ],
    "stat": {
     "value": "0",
     "label": "marks filed"
    },
    "decide": "Search all five candidate names now, so one that cannot be protected leaves early?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Search before or after the pick?** Proposal: a quick search on all five names now, so a name that cannot be protected leaves the audition early.",
    "**Who made the character art so far?** Proposal: Param lists each source; anything made by a freelancer gets a signed assignment.",
    "**Keep the viral clip as a motion reference?** Proposal: keep it on the partners only until the lawyer has reviewed it.",
    "**Which entity owns the marks?** Proposal: Yellow Monk Technologies LLP."
   ]
  },
  {
   "id": "9.12",
   "title": "Company entity and filings",
   "department": "Security, privacy and legal",
   "department_slug": "security-privacy-and-legal",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "The legal entity, registrations, GST, annual filings, who holds what",
   "urls": {
    "html": "https://handbook.joinsquareup.com/security-privacy-and-legal/company-entity-and-filings",
    "markdown": "https://handbook.joinsquareup.com/security-privacy-and-legal/company-entity-and-filings.md",
    "json": "https://handbook.joinsquareup.com/security-privacy-and-legal/company-entity-and-filings.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Yellow Monk Technologies LLP is on record; its filings mostly are not",
    "points": [
     {
      "icon": "book",
      "text": "Only the entity name and LLPIN AAY-1244 are recorded; address, partners, PAN and GSTIN are blank."
     },
     {
      "icon": "clock",
      "text": "Form 8 is usually due 30 October, which is 4 days away if it applies."
     },
     {
      "icon": "flag",
      "text": "Privacy and terms pages do not yet name the entity."
     },
     {
      "icon": "people",
      "text": "Param and the CA must fill the designated partners and registration facts."
     },
     {
      "icon": "money",
      "text": "GST registration should be checked with the CA before any paid plan."
     }
    ],
    "stat": {
     "value": "4",
     "label": "days to Form 8"
    },
    "decide": "Ask the CA today whether Form 8 for the year to March 2026 is filed?",
    "mood": "urgent"
   },
   "open_questions": [
    "**Is Form 8 for the year to 31 March 2026 filed?** It is usually due 30 October. Proposal: Param asks the CA today.",
    "**Who are the designated partners?** Proposal: Param fills the table; the same people sign contracts and the DPA.",
    "**Is the LLP registered for GST?** Proposal: ask the CA before any paid plan; register when the CA says the turnover or export of services needs it.",
    "**Is SquareUp a trading name of the LLP?** The domain is joinsquareup.com. Proposal: say \"Yellow Monk Technologies LLP, trading as SquareUp\" on legal pages if the CA agrees."
   ]
  },
  {
   "id": "9.13",
   "title": "Contracts register",
   "department": "Security, privacy and legal",
   "department_slug": "security-privacy-and-legal",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Every signed agreement: partners, vendors, contractors, NDAs, with renewal dates",
   "urls": {
    "html": "https://handbook.joinsquareup.com/security-privacy-and-legal/contracts-register",
    "markdown": "https://handbook.joinsquareup.com/security-privacy-and-legal/contracts-register.md",
    "json": "https://handbook.joinsquareup.com/security-privacy-and-legal/contracts-register.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "No signed agreement is on record with anyone, only online terms",
    "points": [
     {
      "icon": "warn",
      "text": "No design partner agreement, DPA, NDA or contractor agreement is recorded."
     },
     {
      "icon": "book",
      "text": "Thirteen vendor and platform accounts run under online terms, with no saved copies."
     },
     {
      "icon": "people",
      "text": "The five partners use the free preview under the preview terms only."
     },
     {
      "icon": "flag",
      "text": "Arata's promise that its team notes stay public on the demo was never written down."
     },
     {
      "icon": "check",
      "text": "Proposed: a row per agreement with signed date, renewal and notice period."
     }
    ],
    "stat": {
     "value": "13",
     "label": "vendors with no saved terms"
    },
    "decide": "Does any NDA, contractor or freelancer agreement exist that this page does not know of?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Are there agreements this page does not know of?** Proposal: Param lists any NDA, contractor or freelancer agreement, including anyone who made the character art.",
    "**Save copies of vendor terms?** Proposal: yes, a PDF of each vendor's terms on the day this register is filled, for the five vendors with brand data first: Google, OpenAI, Sloosh, Resend and treg.",
    "**Where is the signed copies folder?** Proposal: a shared drive folder named Contracts, owned by Param, read by Sai and Arvind."
   ]
  },
  {
   "id": "10.1",
   "title": "Go to market",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Who first, which channel, the motion, the first 100 brands",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/go-to-market",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/go-to-market.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/go-to-market.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Founders first, one offer, and a person who answers the same day",
    "points": [
     {
      "icon": "people",
      "text": "Founders who are their own marketing team come first, then marketers, then agencies."
     },
     {
      "icon": "spark",
      "text": "One ask in every post and DM: send us your store link for a capped read."
     },
     {
      "icon": "flag",
      "text": "Five real design partners are live on production; nothing about launch is decided."
     },
     {
      "icon": "lock",
      "text": "Pricing is parked, so nothing may be quoted in public."
     },
     {
      "icon": "link",
      "text": "The Shopify listing becomes a second door after approval, with the same cap."
     }
    ],
    "stat": {
     "value": "5",
     "label": "real design partners"
    },
    "decide": "India first, or global from day one, and when is the launch?",
    "mood": "waiting"
   },
   "open_questions": [
    "**India first, or global from day one?** Proposal: India first, because all five partners are Indian brands and the regional price is in rupees; copy stays in plain global English.",
    "**Who are the first 100 brands, and how do we reach them?** Proposal: a written list per six week cycle from our own networks, partner referrals and the Shopify listing, with 40 names in the first cycle, as the old plan suggested.",
    "**When is the launch?** Proposal: no date until every partner hands off at least once a week for four weeks in a row; then open reads in batches.",
    "**Who on the team owns outreach and the same day reply?** Proposal: Param owns both, with one named backup from Sai or Arvind.",
    "**Is Gully Labs still a design partner?** Proposal: no; the five on production are the list.",
    "**Do Shopify installs skip the cap?** Proposal: no; an install is a read ask like any other."
   ]
  },
  {
   "id": "10.2",
   "title": "Ideal customer",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "The store we are built for, and the ones we are not",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/ideal-customer",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/ideal-customer.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/ideal-customer.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "A founder led brand with its own products and its own store",
    "points": [
     {
      "icon": "check",
      "text": "Own products, own store, reviews and some ads, with one to a few people deciding."
     },
     {
      "icon": "warn",
      "text": "Marketplace only sellers, free mailboxes and many brand agencies are not a fit yet."
     },
     {
      "icon": "people",
      "text": "Two of five partners sit outside the written fit, so it is still a guess."
     },
     {
      "icon": "lock",
      "text": "Sign in needs an email at the brand's own domain."
     },
     {
      "icon": "eye",
      "text": "The read should say which step was thin, so a poor fit knows why."
     }
    ],
    "stat": {
     "value": "5",
     "label": "partners checked against the fit"
    },
    "decide": "Do large brands like Puma India count as a target, or learning partners only?",
    "mood": "building"
   },
   "open_questions": [
    "**Do large brands like Puma India count as a target, or a learning partner only?** Proposal: learning partner only; keep the written fit for outreach.",
    "**Do enquiry stores like Mana stay in scope?** Proposal: yes for partners already in, no new enquiry stores in outreach until v1 ships.",
    "**Is there a store size floor?** Proposal: no floor; measure the review count below which Plays get worse across the five partners, then decide.",
    "**India only for outreach?** Proposal: yes for the first cycle, as in [go to market](/marketing-and-growth/go-to-market)."
   ]
  },
  {
   "id": "10.3",
   "title": "Audiences and hooks",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Segments and the hook for each",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/audiences-and-hooks",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/audiences-and-hooks.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/audiences-and-hooks.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Three audiences, nine hooks, one test: who asks for a read",
    "points": [
     {
      "icon": "people",
      "text": "Founder, in house marketer, agency: each gets one first line and three hooks to test."
     },
     {
      "icon": "chat",
      "text": "The pains are samples until partners give us their words in writing."
     },
     {
      "icon": "check",
      "text": "A hook may only claim what this version does; later ideas are said as a plan."
     },
     {
      "icon": "warn",
      "text": "Landing sample cards carry real looking figures with no Sample label and must not be proof."
     },
     {
      "icon": "clock",
      "text": "A hook with no ask in two weeks retires."
     }
    ],
    "stat": {
     "value": "9",
     "label": "hooks to test"
    },
    "decide": "May we interview partners for their own words this cycle?",
    "mood": "building"
   },
   "open_questions": [
    "**May we interview partners for their own words this cycle?** Proposal: yes, five questions on the week one call, quoted only with written permission.",
    "**Do the landing sample cards stay?** Proposal: label them Sample now, and swap in one real partner finding once a partner agrees in writing.",
    "**Which audience gets the first paid test, if any?** Proposal: none until [paid acquisition](/marketing-and-growth/paid-acquisition) is decided; organic first."
   ]
  },
  {
   "id": "10.4",
   "title": "Website",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Pages, copy, the free read as the front door",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/website/dog",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/website/dog.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/website/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/website/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/website/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/website/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/website/cooker.json"
    }
   ],
   "tldr": {
    "headline": "One box, one promise: throw your link, get the week fetched",
    "points": [
     {
      "icon": "eye",
      "text": "Fetch signs off small, Fetched for you, and never sits on a button."
     },
     {
      "icon": "spark",
      "text": "A short scroll: Sniffing round, The drop, Chew on it, Drop it, then the capped read."
     },
     {
      "icon": "warn",
      "text": "Fetch is on no page yet, and asks still arrive by DM and email."
     },
     {
      "icon": "lock",
      "text": "No partner logos, customer counts or testimonials until we hold them in writing."
     },
     {
      "icon": "book",
      "text": "Grandstander type and tennis ball green; text is set by us, never baked into art."
     }
    ],
    "stat": {
     "value": "32",
     "label": "px brief page sign off"
    },
    "decide": "Do we show one finding before sign in, as the reveal?",
    "mood": "building"
   },
   "open_questions": [
    "**Which domain does the site live on?** Proposal: pick it with the name; until then keep feed.joinsquareup.com.",
    "**Are the home page and the ask page one page?** Proposal: one page; the ask is the last block, and a full cap swaps the box for Leave your link.",
    "**Do the landing's Sample cards stay, now that they are labelled?** Proposal: keep them until a partner lets us show a real finding.",
    "**When does the internal name leave the landing and the emails?** Proposal: the day the name is picked, in one change.",
    "**Do we show one finding before sign in?** Proposal: yes, as the reveal in v1, so a visitor sees value before giving an email."
   ]
  },
  {
   "id": "10.4",
   "title": "Website",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Pages, copy, the free read as the front door",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/website/bee",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/website/bee.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/website/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/website/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/website/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/website/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/website/cooker.json"
    }
   ],
   "tldr": {
    "headline": "One box, one promise: show Buzz your garden, get the best blooms",
    "points": [
     {
      "icon": "eye",
      "text": "Buzz hums small in the corner and never sits on a button."
     },
     {
      "icon": "spark",
      "text": "A short scroll: Buzzing round, Best blooms, Make honey, Pass the pollen, then the capped read."
     },
     {
      "icon": "warn",
      "text": "Buzz is on no page yet, and asks still arrive by DM and email."
     },
     {
      "icon": "lock",
      "text": "No partner logos, customer counts or testimonials until we hold them in writing."
     },
     {
      "icon": "book",
      "text": "Shrikhand type and pollen yellow; text is set by us, never baked into art."
     }
    ],
    "stat": {
     "value": "32",
     "label": "px brief page sign off"
    },
    "decide": "Do we show one finding before sign in, as the reveal?",
    "mood": "building"
   },
   "open_questions": [
    "**Which domain does the site live on?** Proposal: pick it with the name; until then keep feed.joinsquareup.com.",
    "**Are the home page and the ask page one page?** Proposal: one page; the ask is the last block, and a full cap swaps the box for Leave your link.",
    "**Do the landing's Sample cards stay, now that they are labelled?** Proposal: keep them until a partner lets us show a real finding.",
    "**When does the internal name leave the landing and the emails?** Proposal: the day the name is picked, in one change.",
    "**Do we show one finding before sign in?** Proposal: yes, as the reveal in v1, so a visitor sees value before giving an email."
   ]
  },
  {
   "id": "10.4",
   "title": "Website",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Pages, copy, the free read as the front door",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/website/raccoon",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/website/raccoon.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/website/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/website/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/website/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/website/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/website/cooker.json"
    }
   ],
   "tldr": {
    "headline": "One box, one promise: give Scoop the tip, get the scoop",
    "points": [
     {
      "icon": "eye",
      "text": "Scoop signs the note small, Read by Scoop, and never sits on a button."
     },
     {
      "icon": "spark",
      "text": "A short scroll: The rummage, The scoop, The scribble, Pass the note, then the capped read."
     },
     {
      "icon": "warn",
      "text": "Scoop is on no page yet, and asks still arrive by DM and email."
     },
     {
      "icon": "lock",
      "text": "No partner logos, customer counts or testimonials until we hold them in writing."
     },
     {
      "icon": "book",
      "text": "Gloock type and tangerine; text is set by us, never baked into art."
     }
    ],
    "stat": {
     "value": "32",
     "label": "px brief page sign off"
    },
    "decide": "Do we show one finding before sign in, as the reveal?",
    "mood": "building"
   },
   "open_questions": [
    "**Which domain does the site live on?** Proposal: pick it with the name; until then keep feed.joinsquareup.com.",
    "**Are the home page and the ask page one page?** Proposal: one page; the ask is the last block, and a full cap swaps the box for Leave your link.",
    "**Do the landing's Sample cards stay, now that they are labelled?** Proposal: keep them until a partner lets us show a real finding.",
    "**When does the internal name leave the landing and the emails?** Proposal: the day the name is picked, in one change.",
    "**Do we show one finding before sign in?** Proposal: yes, as the reveal in v1, so a visitor sees value before giving an email."
   ]
  },
  {
   "id": "10.4",
   "title": "Website",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Pages, copy, the free read as the front door",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/website/octopus",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/website/octopus.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/website/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/website/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/website/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/website/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/website/cooker.json"
    }
   ],
   "tldr": {
    "headline": "One box, one promise: pass it here, eight arms get to work",
    "points": [
     {
      "icon": "eye",
      "text": "Ocho waves one small arm in the corner, never on a button."
     },
     {
      "icon": "spark",
      "text": "A short scroll: Eight arms reading, Arms full, Ink it, Free an arm, capped read."
     },
     {
      "icon": "warn",
      "text": "Ocho is on no page yet, and asks still arrive by DM and email."
     },
     {
      "icon": "lock",
      "text": "No partner logos, customer counts or testimonials until we hold them in writing."
     },
     {
      "icon": "book",
      "text": "DynaPuff type and hot pink; text is set by us, never baked into art."
     }
    ],
    "stat": {
     "value": "32",
     "label": "px brief page sign off"
    },
    "decide": "Do we show one finding before sign in, as the reveal?",
    "mood": "building"
   },
   "open_questions": [
    "**Which domain does the site live on?** Proposal: pick it with the name; until then keep feed.joinsquareup.com.",
    "**Are the home page and the ask page one page?** Proposal: one page; the ask is the last block, and a full cap swaps the box for Leave your link.",
    "**Do the landing's Sample cards stay, now that they are labelled?** Proposal: keep them until a partner lets us show a real finding.",
    "**When does the internal name leave the landing and the emails?** Proposal: the day the name is picked, in one change.",
    "**Do we show one finding before sign in?** Proposal: yes, as the reveal in v1, so a visitor sees value before giving an email."
   ]
  },
  {
   "id": "10.4",
   "title": "Website",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Pages, copy, the free read as the front door",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/website/cooker",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/website/cooker.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/website/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/website/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/website/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/website/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/website/octopus.json"
    }
   ],
   "tldr": {
    "headline": "One box, one promise: link in, lid on, specials ready",
    "points": [
     {
      "icon": "eye",
      "text": "Seeti keeps a tiny steel sign off in the corner, never on a button."
     },
     {
      "icon": "spark",
      "text": "A short scroll: cooking, the specials, On the stove, Order ticket, then the capped read."
     },
     {
      "icon": "warn",
      "text": "Seeti is on no page yet, and asks still arrive by DM and email."
     },
     {
      "icon": "lock",
      "text": "No partner logos, customer counts or testimonials until we hold them in writing."
     },
     {
      "icon": "book",
      "text": "Bakbak One type and chilli red on steel; text is set by us, never art."
     }
    ],
    "stat": {
     "value": "32",
     "label": "px brief page sign off"
    },
    "decide": "Do we show one finding before sign in, as the reveal?",
    "mood": "building"
   },
   "open_questions": [
    "**Which domain does the site live on?** Proposal: pick it with the name; until then keep feed.joinsquareup.com.",
    "**Are the home page and the ask page one page?** Proposal: one page; the ask is the last block, and a full cap swaps the box for Leave your link.",
    "**Do the landing's Sample cards stay, now that they are labelled?** Proposal: keep them until a partner lets us show a real finding.",
    "**When does the internal name leave the landing and the emails?** Proposal: the day the name is picked, in one change.",
    "**Do we show one finding before sign in?** Proposal: yes, as the reveal in v1, so a visitor sees value before giving an email."
   ]
  },
  {
   "id": "10.5",
   "title": "Content engine",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Pillars, formats, cadence, made with our own product",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/dog",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/dog.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Same game every week: four pillars, Fetch formats, about four hours",
    "points": [
     {
      "icon": "box",
      "text": "Four pillars: already drafted, from your own store, you decide, easy to hand off."
     },
     {
      "icon": "clock",
      "text": "About four hours a week, from templates, with our own product drafting the examples."
     },
     {
      "icon": "heart",
      "text": "Monday Fetch drops five things at your feet; the tennis ball is the running joke."
     },
     {
      "icon": "gear",
      "text": "Fetch's kit: ten poses, eight expressions, five area modes and 17 recorded sound files."
     },
     {
      "icon": "warn",
      "text": "None of it runs: the direction and name are not picked, and no paid generation."
     }
    ],
    "stat": {
     "value": "17",
     "label": "recorded Fetch sound files"
    },
    "decide": "Which store do our sample drafts come from?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Which store do our sample drafts come from?** Proposal: build the sample candle store as a test brand, labelled Sample, so no partner shows without permission.",
    "**Which format retires first if time is short?** Proposal: keep the Monday and Friday formats always; drop the monthly ones first.",
    "**Who makes the posts?** Proposal: the hours in the [no-budget playbook](/marketing-and-growth/no-budget-playbook), with one owner per weekday."
   ]
  },
  {
   "id": "10.5",
   "title": "Content engine",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Pillars, formats, cadence, made with our own product",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/bee",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/bee.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Same dance every Monday: four pillars, Buzz formats, about four hours",
    "points": [
     {
      "icon": "box",
      "text": "Four pillars: already drafted, from your own store, you decide, easy to hand off."
     },
     {
      "icon": "clock",
      "text": "About four hours a week, from templates, with our own product drafting the examples."
     },
     {
      "icon": "heart",
      "text": "Monday Buzz waggles at the best pick; the pollen count is the running joke."
     },
     {
      "icon": "gear",
      "text": "Buzz's kit: 19 poses, eight expressions, the model sheet and 17 recorded sound files."
     },
     {
      "icon": "warn",
      "text": "None of it runs: the direction and name are not picked, and no paid generation."
     }
    ],
    "stat": {
     "value": "19",
     "label": "poses in the kit"
    },
    "decide": "Which store do our sample drafts come from?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Which store do our sample drafts come from?** Proposal: build the sample candle store as a test brand, labelled Sample, so no partner shows without permission.",
    "**Which format retires first if time is short?** Proposal: keep the Monday and Friday formats always; drop the monthly ones first.",
    "**Who makes the posts?** Proposal: the hours in the [no-budget playbook](/marketing-and-growth/no-budget-playbook), with one owner per weekday."
   ]
  },
  {
   "id": "10.5",
   "title": "Content engine",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Pillars, formats, cadence, made with our own product",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/raccoon",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/raccoon.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Same gossip column, new gossip: four pillars and about four hours",
    "points": [
     {
      "icon": "box",
      "text": "Four pillars: already drafted, from your own store, you decide, easy to hand off."
     },
     {
      "icon": "clock",
      "text": "About four hours a week, from templates, with our own product drafting the examples."
     },
     {
      "icon": "heart",
      "text": "Scoop narrates: Psst on Monday, All dished out Friday; the tally is the running joke."
     },
     {
      "icon": "gear",
      "text": "Scoop's kit: ten poses, eight expressions, four scenes and 22 recorded sound files."
     },
     {
      "icon": "warn",
      "text": "None of it runs: the direction and name are not picked, and no paid generation."
     }
    ],
    "stat": {
     "value": "22",
     "label": "recorded Scoop sound files"
    },
    "decide": "Which store do our sample drafts come from?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Which store do our sample drafts come from?** Proposal: build the sample candle store as a test brand, labelled Sample, so no partner shows without permission.",
    "**Which format retires first if time is short?** Proposal: keep the Monday and Friday formats always; drop the monthly ones first.",
    "**Who makes the posts?** Proposal: the hours in the [no-budget playbook](/marketing-and-growth/no-budget-playbook), with one owner per weekday."
   ]
  },
  {
   "id": "10.5",
   "title": "Content engine",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Pillars, formats, cadence, made with our own product",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/octopus",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/octopus.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Same eight arms, new things in them: four pillars, four hours",
    "points": [
     {
      "icon": "box",
      "text": "Four pillars: already drafted, from your own store, you decide, easy to hand off."
     },
     {
      "icon": "clock",
      "text": "About four hours a week, from templates, with our own product drafting the examples."
     },
     {
      "icon": "heart",
      "text": "Monday arms full, Friday arms free; the coffee count is the running joke."
     },
     {
      "icon": "gear",
      "text": "Ocho's kit: 36 traced vector pieces and 17 recorded sound files."
     },
     {
      "icon": "warn",
      "text": "None of it runs: the direction and name are not picked, and no paid generation."
     }
    ],
    "stat": {
     "value": "36",
     "label": "traced vector pieces"
    },
    "decide": "Which store do our sample drafts come from?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Which store do our sample drafts come from?** Proposal: build the sample candle store as a test brand, labelled Sample, so no partner shows without permission.",
    "**Which format retires first if time is short?** Proposal: keep the Monday and Friday formats always; drop the monthly ones first.",
    "**Who makes the posts?** Proposal: the hours in the [no-budget playbook](/marketing-and-growth/no-budget-playbook), with one owner per weekday."
   ]
  },
  {
   "id": "10.5",
   "title": "Content engine",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Pillars, formats, cadence, made with our own product",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/cooker",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/cooker.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/content-engine/octopus.json"
    }
   ],
   "tldr": {
    "headline": "Same recipe every Monday, new vegetables: four pillars, four hours",
    "points": [
     {
      "icon": "box",
      "text": "Four pillars: already drafted, from your own store, you decide, easy to hand off."
     },
     {
      "icon": "clock",
      "text": "About four hours a week, from templates, with our own product drafting the examples."
     },
     {
      "icon": "heart",
      "text": "Three whistles at nine on Monday; nobody lifting the lid early is the running joke."
     },
     {
      "icon": "gear",
      "text": "Seeti's kit: ten poses, nine faces, five modes and 18 recorded sound files."
     },
     {
      "icon": "warn",
      "text": "None of it runs: the direction and name are not picked, and no paid generation."
     }
    ],
    "stat": {
     "value": "18",
     "label": "recorded Seeti sound files"
    },
    "decide": "Which store do our sample drafts come from?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Which store do our sample drafts come from?** Proposal: build the sample candle store as a test brand, labelled Sample, so no partner shows without permission.",
    "**Which format retires first if time is short?** Proposal: keep the Monday and Friday formats always; drop the monthly ones first.",
    "**Who makes the posts?** Proposal: the hours in the [no-budget playbook](/marketing-and-growth/no-budget-playbook), with one owner per weekday."
   ]
  },
  {
   "id": "10.6",
   "title": "Social",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Channels, voice, what we post",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/social/dog",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/social/dog.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/social/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/social/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/social/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/social/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/social/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Fetch barks on Instagram, founders post on LinkedIn, one ask per post",
    "points": [
     {
      "icon": "chat",
      "text": "Instagram is Fetch, written by a person; LinkedIn is founders as themselves."
     },
     {
      "icon": "flag",
      "text": "No account exists yet; the handle waits on the product name."
     },
     {
      "icon": "map",
      "text": "The first nine posts include three reels, each sample post labelled Sample."
     },
     {
      "icon": "spark",
      "text": "Tagline: This week's ideas, fetched. On LinkedIn Fetch sits quietly. Mostly quietly."
     },
     {
      "icon": "lock",
      "text": "Partner work is posted only with written permission, never before week four."
     }
    ],
    "stat": {
     "value": "12 of 32",
     "label": "AI answers named one brand"
    },
    "decide": "What is the handle, and which founders post on LinkedIn from week one?",
    "mood": "waiting"
   },
   "open_questions": [
    "**What is the handle?** Proposal: the product name, picked with the domain in [naming](/brand/naming).",
    "**Which founder accounts post on LinkedIn?** Proposal: Param from week one; Sai and Arvind one post a month each.",
    "**When does the first post go up?** Proposal: the week the direction and name are picked, starting with post one.",
    "**Do we post partner work?** Proposal: only with written permission, never before week four of a partnership."
   ]
  },
  {
   "id": "10.6",
   "title": "Social",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Channels, voice, what we post",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/social/bee",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/social/bee.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/social/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/social/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/social/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/social/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/social/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Buzz hums on Instagram, founders post on LinkedIn, one ask per post",
    "points": [
     {
      "icon": "chat",
      "text": "Instagram is Buzz, written by a person; LinkedIn is founders as themselves."
     },
     {
      "icon": "flag",
      "text": "No account exists yet; the handle waits on the product name."
     },
     {
      "icon": "map",
      "text": "The first nine posts include three reels, each sample post labelled Sample."
     },
     {
      "icon": "spark",
      "text": "Tagline: The whole hive, one bee. On LinkedIn Buzz is a picture, a cheerful one."
     },
     {
      "icon": "lock",
      "text": "Partner work is posted only with written permission, never before week four."
     }
    ],
    "stat": {
     "value": "12 of 32",
     "label": "AI answers named one brand"
    },
    "decide": "What is the handle, and which founders post on LinkedIn from week one?",
    "mood": "waiting"
   },
   "open_questions": [
    "**What is the handle?** Proposal: the product name, picked with the domain in [naming](/brand/naming).",
    "**Which founder accounts post on LinkedIn?** Proposal: Param from week one; Sai and Arvind one post a month each.",
    "**When does the first post go up?** Proposal: the week the direction and name are picked, starting with post one.",
    "**Do we post partner work?** Proposal: only with written permission, never before week four of a partnership."
   ]
  },
  {
   "id": "10.6",
   "title": "Social",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Channels, voice, what we post",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/social/raccoon",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/social/raccoon.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/social/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/social/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/social/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/social/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/social/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Scoop dishes on Instagram, founders talk on LinkedIn, one ask per post",
    "points": [
     {
      "icon": "chat",
      "text": "Instagram is Scoop, written by a person; LinkedIn is founders as themselves."
     },
     {
      "icon": "flag",
      "text": "No account exists yet; the handle waits on the product name."
     },
     {
      "icon": "map",
      "text": "The first nine posts include three reels, each sample post labelled Sample."
     },
     {
      "icon": "spark",
      "text": "Tagline: Everything everyone says about your store. On LinkedIn Scoop keeps its gossip to itself."
     },
     {
      "icon": "lock",
      "text": "Partner work is posted only with written permission, never before week four."
     }
    ],
    "stat": {
     "value": "12 of 32",
     "label": "AI answers named one brand"
    },
    "decide": "What is the handle, and which founders post on LinkedIn from week one?",
    "mood": "waiting"
   },
   "open_questions": [
    "**What is the handle?** Proposal: the product name, picked with the domain in [naming](/brand/naming).",
    "**Which founder accounts post on LinkedIn?** Proposal: Param from week one; Sai and Arvind one post a month each.",
    "**When does the first post go up?** Proposal: the week the direction and name are picked, starting with post one.",
    "**Do we post partner work?** Proposal: only with written permission, never before week four of a partnership."
   ]
  },
  {
   "id": "10.6",
   "title": "Social",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Channels, voice, what we post",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/social/octopus",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/social/octopus.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/social/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/social/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/social/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/social/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/social/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Ocho holds Instagram, founders hold LinkedIn, every post ends on one ask",
    "points": [
     {
      "icon": "chat",
      "text": "Instagram is Ocho, written by a person; LinkedIn is founders as themselves."
     },
     {
      "icon": "flag",
      "text": "No account exists yet; the handle waits on the product name."
     },
     {
      "icon": "map",
      "text": "The first nine posts include three reels, each sample post labelled Sample."
     },
     {
      "icon": "spark",
      "text": "Tagline: Eight arms on your marketing. On LinkedIn Ocho holds the frame, a person the pen."
     },
     {
      "icon": "lock",
      "text": "Partner work is posted only with written permission, never before week four."
     }
    ],
    "stat": {
     "value": "12 of 32",
     "label": "AI answers named one brand"
    },
    "decide": "What is the handle, and which founders post on LinkedIn from week one?",
    "mood": "waiting"
   },
   "open_questions": [
    "**What is the handle?** Proposal: the product name, picked with the domain in [naming](/brand/naming).",
    "**Which founder accounts post on LinkedIn?** Proposal: Param from week one; Sai and Arvind one post a month each.",
    "**When does the first post go up?** Proposal: the week the direction and name are picked, starting with post one.",
    "**Do we post partner work?** Proposal: only with written permission, never before week four of a partnership."
   ]
  },
  {
   "id": "10.6",
   "title": "Social",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Channels, voice, what we post",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/social/cooker",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/social/cooker.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/social/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/social/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/social/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/social/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/social/octopus.json"
    }
   ],
   "tldr": {
    "headline": "Seeti whistles on Instagram, founders talk on LinkedIn, one ask per post",
    "points": [
     {
      "icon": "chat",
      "text": "Instagram is Seeti, written by a person; LinkedIn is founders as themselves."
     },
     {
      "icon": "flag",
      "text": "No account exists yet; the handle waits on the product name."
     },
     {
      "icon": "map",
      "text": "The first nine posts include three reels, each sample post labelled Sample."
     },
     {
      "icon": "spark",
      "text": "Tagline: This week's marketing, ready in a few whistles. On LinkedIn Seeti is the photo."
     },
     {
      "icon": "lock",
      "text": "Partner work is posted only with written permission, never before week four."
     }
    ],
    "stat": {
     "value": "12 of 32",
     "label": "AI answers named one brand"
    },
    "decide": "What is the handle, and which founders post on LinkedIn from week one?",
    "mood": "waiting"
   },
   "open_questions": [
    "**What is the handle?** Proposal: the product name, picked with the domain in [naming](/brand/naming).",
    "**Which founder accounts post on LinkedIn?** Proposal: Param from week one; Sai and Arvind one post a month each.",
    "**When does the first post go up?** Proposal: the week the direction and name are picked, starting with post one.",
    "**Do we post partner work?** Proposal: only with written permission, never before week four of a partnership."
   ]
  },
  {
   "id": "10.7",
   "title": "Launch plan",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Design partners, the launch moment, the six-week calendar",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/dog",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/dog.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Five partners, six weeks of walks, no launch date until it works",
    "points": [
     {
      "icon": "people",
      "text": "Five design partners are on production; the landing says design partner preview."
     },
     {
      "icon": "check",
      "text": "A partner gets a full read, picks with drafts, a weekly call and fixes first."
     },
     {
      "icon": "clock",
      "text": "A founder replies the same day; the first 30 minute call comes in week one."
     },
     {
      "icon": "chat",
      "text": "Fridays Fetch signs off: Nap time. See you Monday."
     },
     {
      "icon": "flag",
      "text": "On the date, Fetch says: When it is ready, I bring it. Not a second sooner."
     }
    ],
    "stat": {
     "value": "5",
     "label": "design partners on production"
    },
    "decide": "Do we set a launch date, or open in batches once partners hand off weekly?",
    "mood": "waiting"
   },
   "open_questions": [
    "**What is the launch date?** Proposal: none until every partner hands off weekly for four weeks; then open reads in batches.",
    "**What do partners get on paper?** Proposal: free use through the partnership and a loaded wallet, as in [design partner program](/product/design-partner-program).",
    "**When does the six week calendar start?** Proposal: the Monday after the direction and name are picked.",
    "**Is there a public launch day at all?** Proposal: no single day; each version gets its own small opening.",
    "**Who sends the Friday founder note?** Proposal: Param, every Friday from week four."
   ]
  },
  {
   "id": "10.7",
   "title": "Launch plan",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Design partners, the launch moment, the six-week calendar",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/bee",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/bee.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Five partners, six weeks of flights, no launch date until it works",
    "points": [
     {
      "icon": "people",
      "text": "Five design partners are on production; the landing says design partner preview."
     },
     {
      "icon": "check",
      "text": "A partner gets a full read, picks with drafts, a weekly call and fixes first."
     },
     {
      "icon": "clock",
      "text": "A founder replies the same day; the first 30 minute call comes in week one."
     },
     {
      "icon": "chat",
      "text": "Fridays Buzz signs off: Pollen count: everywhere. I have not noticed. See you Monday."
     },
     {
      "icon": "flag",
      "text": "On the date, Buzz says: The hive opens when the honey is ready."
     }
    ],
    "stat": {
     "value": "5",
     "label": "design partners on production"
    },
    "decide": "Do we set a launch date, or open in batches once partners hand off weekly?",
    "mood": "waiting"
   },
   "open_questions": [
    "**What is the launch date?** Proposal: none until every partner hands off weekly for four weeks; then open reads in batches.",
    "**What do partners get on paper?** Proposal: free use through the partnership and a loaded wallet, as in [design partner program](/product/design-partner-program).",
    "**When does the six week calendar start?** Proposal: the Monday after the direction and name are picked.",
    "**Is there a public launch day at all?** Proposal: no single day; each version gets its own small opening.",
    "**Who sends the Friday founder note?** Proposal: Param, every Friday from week four."
   ]
  },
  {
   "id": "10.7",
   "title": "Launch plan",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Design partners, the launch moment, the six-week calendar",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/raccoon",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/raccoon.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Five partners, six weeks of digging, no launch date until it works",
    "points": [
     {
      "icon": "people",
      "text": "Five design partners are on production; the landing says design partner preview."
     },
     {
      "icon": "check",
      "text": "A partner gets a full read, picks with drafts, a weekly call and fixes first."
     },
     {
      "icon": "clock",
      "text": "A founder replies the same day; the first 30 minute call comes in week one."
     },
     {
      "icon": "chat",
      "text": "Fridays Scoop signs off: That is all the gossip for this week. Back Monday with more."
     },
     {
      "icon": "flag",
      "text": "On the date, Scoop says: I will tell you the second I know. In a whisper."
     }
    ],
    "stat": {
     "value": "5",
     "label": "design partners on production"
    },
    "decide": "Do we set a launch date, or open in batches once partners hand off weekly?",
    "mood": "waiting"
   },
   "open_questions": [
    "**What is the launch date?** Proposal: none until every partner hands off weekly for four weeks; then open reads in batches.",
    "**What do partners get on paper?** Proposal: free use through the partnership and a loaded wallet, as in [design partner program](/product/design-partner-program).",
    "**When does the six week calendar start?** Proposal: the Monday after the direction and name are picked.",
    "**Is there a public launch day at all?** Proposal: no single day; each version gets its own small opening.",
    "**Who sends the Friday founder note?** Proposal: Param, every Friday from week four."
   ]
  },
  {
   "id": "10.7",
   "title": "Launch plan",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Design partners, the launch moment, the six-week calendar",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/octopus",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/octopus.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Five partners, six weeks, eight arms, no launch date until it works",
    "points": [
     {
      "icon": "people",
      "text": "Five design partners are on production; the landing says design partner preview."
     },
     {
      "icon": "check",
      "text": "A partner gets a full read, picks with drafts, a weekly call and fixes first."
     },
     {
      "icon": "clock",
      "text": "A founder replies the same day; the first 30 minute call comes in week one."
     },
     {
      "icon": "chat",
      "text": "Fridays Ocho signs off: Arms free. New picks Monday."
     },
     {
      "icon": "flag",
      "text": "On the date, Ocho says: When all arms agree, we open the door."
     }
    ],
    "stat": {
     "value": "5",
     "label": "design partners on production"
    },
    "decide": "Do we set a launch date, or open in batches once partners hand off weekly?",
    "mood": "waiting"
   },
   "open_questions": [
    "**What is the launch date?** Proposal: none until every partner hands off weekly for four weeks; then open reads in batches.",
    "**What do partners get on paper?** Proposal: free use through the partnership and a loaded wallet, as in [design partner program](/product/design-partner-program).",
    "**When does the six week calendar start?** Proposal: the Monday after the direction and name are picked.",
    "**Is there a public launch day at all?** Proposal: no single day; each version gets its own small opening.",
    "**Who sends the Friday founder note?** Proposal: Param, every Friday from week four."
   ]
  },
  {
   "id": "10.7",
   "title": "Launch plan",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Design partners, the launch moment, the six-week calendar",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/cooker",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/cooker.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/launch-plan/octopus.json"
    }
   ],
   "tldr": {
    "headline": "Five partners, six weeks on the stove, no date until it works",
    "points": [
     {
      "icon": "people",
      "text": "Five design partners are on production; the landing says design partner preview."
     },
     {
      "icon": "check",
      "text": "A partner gets a full read, picks with drafts, a weekly call and fixes first."
     },
     {
      "icon": "clock",
      "text": "A founder replies the same day; the first 30 minute call comes in week one."
     },
     {
      "icon": "chat",
      "text": "Fridays Seeti signs off: Kitchen's clean. See you Monday."
     },
     {
      "icon": "flag",
      "text": "On the date, Seeti says: Nobody lifts my lid early. Not even for a launch."
     }
    ],
    "stat": {
     "value": "5",
     "label": "design partners on production"
    },
    "decide": "Do we set a launch date, or open in batches once partners hand off weekly?",
    "mood": "waiting"
   },
   "open_questions": [
    "**What is the launch date?** Proposal: none until every partner hands off weekly for four weeks; then open reads in batches.",
    "**What do partners get on paper?** Proposal: free use through the partnership and a loaded wallet, as in [design partner program](/product/design-partner-program).",
    "**When does the six week calendar start?** Proposal: the Monday after the direction and name are picked.",
    "**Is there a public launch day at all?** Proposal: no single day; each version gets its own small opening.",
    "**Who sends the Friday founder note?** Proposal: Param, every Friday from week four."
   ]
  },
  {
   "id": "10.8",
   "title": "Lifecycle",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Every email and message from the first read to a paying brand",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/dog",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/dog.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Every email leads to a first hand off, plus one Fetch line",
    "points": [
     {
      "icon": "chat",
      "text": "Today the product sends plain team emails and no pushes; no paying step exists."
     },
     {
      "icon": "rocket",
      "text": "Tomorrow a day 0 to day 28 sequence is built to reach the first hand off."
     },
     {
      "icon": "heart",
      "text": "Sign offs: Fetched. Good throw. Nap time. See you Monday."
     },
     {
      "icon": "lock",
      "text": "Emails about a failed read, money, privacy or an apology carry no character."
     },
     {
      "icon": "clock",
      "text": "At most one push a day, 60 characters, never at night."
     }
    ],
    "stat": {
     "value": "60",
     "label": "character ceiling for a push"
    },
    "decide": "Who sends the person written emails until a support inbox exists?",
    "mood": "building"
   },
   "open_questions": [
    "**Who sends the person written emails?** Proposal: Param, from his own address, until a support inbox exists.",
    "**Do the day 1, day 2 and day 14 emails start now, before the Monday drop ships?** Proposal: no; start with the welcome, read ready and day 28 by hand.",
    "**Does the Monday digest become the Monday drop?** Proposal: yes, one Monday message, never two.",
    "**When do pushes start?** Proposal: with the installed app and the Monday drop, under Fetch's ceiling above.",
    "**What is the paying message?** Proposal: written when pricing is agreed with Sai; until then, cost is talked about in person."
   ]
  },
  {
   "id": "10.8",
   "title": "Lifecycle",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Every email and message from the first read to a paying brand",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/bee",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/bee.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Every email leads to a first hand off, plus one Buzz line",
    "points": [
     {
      "icon": "chat",
      "text": "Today the product sends plain team emails and no pushes; no paying step exists."
     },
     {
      "icon": "rocket",
      "text": "Tomorrow a day 0 to day 28 sequence is built to reach the first hand off."
     },
     {
      "icon": "heart",
      "text": "Sign offs: Off to the flowers. First honey. Pollen count: everywhere."
     },
     {
      "icon": "lock",
      "text": "Emails about a failed read, money, privacy or an apology carry no character."
     },
     {
      "icon": "clock",
      "text": "Two pushes a week: Monday 9:30, plus a Wednesday nudge if nothing was handed off."
     }
    ],
    "stat": {
     "value": "28",
     "label": "day check in note"
    },
    "decide": "Who sends the person written emails until a support inbox exists?",
    "mood": "building"
   },
   "open_questions": [
    "**Who sends the person written emails?** Proposal: Param, from his own address, until a support inbox exists.",
    "**Do the day 1, day 2 and day 14 emails start now, before the Monday drop ships?** Proposal: no; start with the welcome, read ready and day 28 by hand.",
    "**Does the Monday digest become the Monday drop?** Proposal: yes, one Monday message, never two.",
    "**When do pushes start?** Proposal: with the installed app and the Monday drop, under Buzz's ceiling above.",
    "**What is the paying message?** Proposal: written when pricing is agreed with Sai; until then, cost is talked about in person."
   ]
  },
  {
   "id": "10.8",
   "title": "Lifecycle",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Every email and message from the first read to a paying brand",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/raccoon",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/raccoon.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Every email leads to a first hand off, plus one Scoop line",
    "points": [
     {
      "icon": "chat",
      "text": "Today the product sends plain team emails and no pushes; no paying step exists."
     },
     {
      "icon": "rocket",
      "text": "Tomorrow a day 0 to day 28 sequence is built to reach the first hand off."
     },
     {
      "icon": "heart",
      "text": "Sign offs: Rummaging now. Note passed. That is all the gossip for this week."
     },
     {
      "icon": "lock",
      "text": "Emails about a failed read, money, privacy or an apology carry no character."
     },
     {
      "icon": "clock",
      "text": "One push a week by default, the Monday dish, 60 characters at most, never guilt."
     }
    ],
    "stat": {
     "value": "60",
     "label": "character ceiling for a push"
    },
    "decide": "Who sends the person written emails until a support inbox exists?",
    "mood": "building"
   },
   "open_questions": [
    "**Who sends the person written emails?** Proposal: Param, from his own address, until a support inbox exists.",
    "**Do the day 1, day 2 and day 14 emails start now, before the Monday drop ships?** Proposal: no; start with the welcome, read ready and day 28 by hand.",
    "**Does the Monday digest become the Monday drop?** Proposal: yes, one Monday message, never two.",
    "**When do pushes start?** Proposal: with the installed app and the Monday drop, under Scoop's ceiling above.",
    "**What is the paying message?** Proposal: written when pricing is agreed with Sai; until then, cost is talked about in person."
   ]
  },
  {
   "id": "10.8",
   "title": "Lifecycle",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Every email and message from the first read to a paying brand",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/octopus",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/octopus.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Emails that reach a first hand off, plus one Ocho line",
    "points": [
     {
      "icon": "chat",
      "text": "Today the product sends plain team emails and no pushes; no paying step exists."
     },
     {
      "icon": "rocket",
      "text": "Tomorrow a day 0 to day 28 sequence is built to reach the first hand off."
     },
     {
      "icon": "heart",
      "text": "Sign offs: Eight arms reading. Arms full. One arm free. Arms free."
     },
     {
      "icon": "lock",
      "text": "Emails about a failed read, money, privacy or an apology carry no character."
     },
     {
      "icon": "clock",
      "text": "Two pushes a week at most, Monday 9:30 and a Wednesday nudge, Need your yes counted."
     }
    ],
    "stat": {
     "value": "28",
     "label": "day check in note"
    },
    "decide": "Who sends the person written emails until a support inbox exists?",
    "mood": "building"
   },
   "open_questions": [
    "**Who sends the person written emails?** Proposal: Param, from his own address, until a support inbox exists.",
    "**Do the day 1, day 2 and day 14 emails start now, before the Monday drop ships?** Proposal: no; start with the welcome, read ready and day 28 by hand.",
    "**Does the Monday digest become the Monday drop?** Proposal: yes, one Monday message, never two.",
    "**When do pushes start?** Proposal: with the installed app and the Monday drop, under Ocho's ceiling above.",
    "**What is the paying message?** Proposal: written when pricing is agreed with Sai; until then, cost is talked about in person."
   ]
  },
  {
   "id": "10.8",
   "title": "Lifecycle",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Every email and message from the first read to a paying brand",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/cooker",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/cooker.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/lifecycle/octopus.json"
    }
   ],
   "tldr": {
    "headline": "Every email reaches a first hand off, plus one Seeti line",
    "points": [
     {
      "icon": "chat",
      "text": "Today the product sends plain team emails and no pushes; no paying step exists."
     },
     {
      "icon": "rocket",
      "text": "Tomorrow a day 0 to day 28 sequence is built to reach the first hand off."
     },
     {
      "icon": "heart",
      "text": "Sign offs: Lid on. Three whistles. First plate out. Kitchen's clean."
     },
     {
      "icon": "lock",
      "text": "Emails about a failed read, money, privacy or an apology carry no character."
     },
     {
      "icon": "clock",
      "text": "At most two pushes a week; push or email, never both for the same thing."
     }
    ],
    "stat": {
     "value": "28",
     "label": "day check in note"
    },
    "decide": "Who sends the person written emails until a support inbox exists?",
    "mood": "building"
   },
   "open_questions": [
    "**Who sends the person written emails?** Proposal: Param, from his own address, until a support inbox exists.",
    "**Do the day 1, day 2 and day 14 emails start now, before the Monday drop ships?** Proposal: no; start with the welcome, read ready and day 28 by hand.",
    "**Does the Monday digest become the Monday drop?** Proposal: yes, one Monday message, never two.",
    "**When do pushes start?** Proposal: with the installed app and the Monday drop, under Seeti's ceiling above.",
    "**What is the paying message?** Proposal: written when pricing is agreed with Sai; until then, cost is talked about in person."
   ]
  },
  {
   "id": "10.9",
   "title": "Word of mouth and referrals",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Share a finding, partner gifts, referrals",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/dog",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/dog.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/cooker.json"
    }
   ],
   "tldr": {
    "headline": "A good find travels the park: gifts, not referral rewards",
    "points": [
     {
      "icon": "heart",
      "text": "No referral program or invite a friend flow exists, and no rewards are proposed."
     },
     {
      "icon": "box",
      "text": "One gift a week: brand book, plan PDFs, rival teardowns, community finds, viral references."
     },
     {
      "icon": "link",
      "text": "The brief page is a no login link; Fetch signs off small, no sales line."
     },
     {
      "icon": "warn",
      "text": "Share this finding is not built, and a gift that does not exist is never promised."
     },
     {
      "icon": "people",
      "text": "Fetch goes where the other dogs are, with a ball, not a sales pitch."
     }
    ],
    "stat": {
     "value": "3 percent",
     "label": "Duolingo referral reward lift"
    },
    "decide": "Do we ever reward referrals, or never before launch?",
    "mood": "building"
   },
   "open_questions": [
    "**Does the brief page carry Fetch's sign off?** Proposal: yes, 32 px at the bottom, and nothing else.",
    "**Can a brand switch its public brand book off?** Proposal: yes, from Settings, with no need to ask us.",
    "**Do we ever reward referrals?** Proposal: no rewards before launch; revisit once pricing exists, and never as a discount.",
    "**Which founder communities first?** Proposal: three Param already belongs to."
   ]
  },
  {
   "id": "10.9",
   "title": "Word of mouth and referrals",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Share a finding, partner gifts, referrals",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/bee",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/bee.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Good news spreads hive to hive: gifts, not referral rewards",
    "points": [
     {
      "icon": "heart",
      "text": "No referral program or invite a friend flow exists, and no rewards are proposed."
     },
     {
      "icon": "box",
      "text": "One gift a week: brand book, plan PDFs, rival teardowns, community finds, viral references."
     },
     {
      "icon": "link",
      "text": "The brief page is a no login link; Buzz signs off small, no sales line."
     },
     {
      "icon": "warn",
      "text": "Share this finding is not built, and a gift that does not exist is never promised."
     },
     {
      "icon": "people",
      "text": "Buzz visits every hive in the neighbourhood, politely."
     }
    ],
    "stat": {
     "value": "3 percent",
     "label": "Duolingo referral reward lift"
    },
    "decide": "Do we ever reward referrals, or never before launch?",
    "mood": "building"
   },
   "open_questions": [
    "**Does the brief page carry Buzz's sign off?** Proposal: yes, 32 px at the bottom, and nothing else.",
    "**Can a brand switch its public brand book off?** Proposal: yes, from Settings, with no need to ask us.",
    "**Do we ever reward referrals?** Proposal: no rewards before launch; revisit once pricing exists, and never as a discount.",
    "**Which founder communities first?** Proposal: three Param already belongs to."
   ]
  },
  {
   "id": "10.9",
   "title": "Word of mouth and referrals",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Share a finding, partner gifts, referrals",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/raccoon",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/raccoon.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Good gossip travels on its own: gifts, not referral rewards",
    "points": [
     {
      "icon": "heart",
      "text": "No referral program or invite a friend flow exists, and no rewards are proposed."
     },
     {
      "icon": "box",
      "text": "One gift a week: brand book, plan PDFs, rival teardowns, community finds, viral references."
     },
     {
      "icon": "link",
      "text": "The brief page is a no login link; Scoop signs off small, no sales line."
     },
     {
      "icon": "warn",
      "text": "Share this finding is not built, and a gift that does not exist is never promised."
     },
     {
      "icon": "people",
      "text": "Scoop hangs around where founders talk. Quietly. Mostly."
     }
    ],
    "stat": {
     "value": "3 percent",
     "label": "Duolingo referral reward lift"
    },
    "decide": "Do we ever reward referrals, or never before launch?",
    "mood": "building"
   },
   "open_questions": [
    "**Does the brief page carry Scoop's sign off?** Proposal: yes, 32 px at the bottom, and nothing else.",
    "**Can a brand switch its public brand book off?** Proposal: yes, from Settings, with no need to ask us.",
    "**Do we ever reward referrals?** Proposal: no rewards before launch; revisit once pricing exists, and never as a discount.",
    "**Which founder communities first?** Proposal: three Param already belongs to."
   ]
  },
  {
   "id": "10.9",
   "title": "Word of mouth and referrals",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Share a finding, partner gifts, referrals",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/octopus",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/octopus.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/cooker.json"
    }
   ],
   "tldr": {
    "headline": "A good find passes arm to arm: gifts, not referral rewards",
    "points": [
     {
      "icon": "heart",
      "text": "No referral program or invite a friend flow exists, and no rewards are proposed."
     },
     {
      "icon": "box",
      "text": "One gift a week: brand book, plan PDFs, rival teardowns, community finds, viral references."
     },
     {
      "icon": "link",
      "text": "The brief page is a no login link; Ocho signs off small, no sales line."
     },
     {
      "icon": "warn",
      "text": "Share this finding is not built, and a gift that does not exist is never promised."
     },
     {
      "icon": "people",
      "text": "Ocho shakes hands in every group, eight at a time."
     }
    ],
    "stat": {
     "value": "3 percent",
     "label": "Duolingo referral reward lift"
    },
    "decide": "Do we ever reward referrals, or never before launch?",
    "mood": "building"
   },
   "open_questions": [
    "**Does the brief page carry Ocho's sign off?** Proposal: yes, 32 px at the bottom, and nothing else.",
    "**Can a brand switch its public brand book off?** Proposal: yes, from Settings, with no need to ask us.",
    "**Do we ever reward referrals?** Proposal: no rewards before launch; revisit once pricing exists, and never as a discount.",
    "**Which founder communities first?** Proposal: three Param already belongs to."
   ]
  },
  {
   "id": "10.9",
   "title": "Word of mouth and referrals",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Share a finding, partner gifts, referrals",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/cooker",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/cooker.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/marketing-and-growth/word-of-mouth-and-referrals/octopus.json"
    }
   ],
   "tldr": {
    "headline": "Good food gets talked about: gifts, not referral rewards",
    "points": [
     {
      "icon": "heart",
      "text": "No referral program or invite a friend flow exists, and no rewards are proposed."
     },
     {
      "icon": "box",
      "text": "One gift a week: brand book, plan PDFs, rival teardowns, community finds, viral references."
     },
     {
      "icon": "link",
      "text": "The brief page is a no login link; Seeti signs off small, no sales line."
     },
     {
      "icon": "warn",
      "text": "Share this finding is not built, and a gift that does not exist is never promised."
     },
     {
      "icon": "people",
      "text": "Seeti brings a dish to every potluck, never a menu."
     }
    ],
    "stat": {
     "value": "3 percent",
     "label": "Duolingo referral reward lift"
    },
    "decide": "Do we ever reward referrals, or never before launch?",
    "mood": "building"
   },
   "open_questions": [
    "**Does the brief page carry Seeti's sign off?** Proposal: yes, 32 px at the bottom, and nothing else.",
    "**Can a brand switch its public brand book off?** Proposal: yes, from Settings, with no need to ask us.",
    "**Do we ever reward referrals?** Proposal: no rewards before launch; revisit once pricing exists, and never as a discount.",
    "**Which founder communities first?** Proposal: three Param already belongs to."
   ]
  },
  {
   "id": "10.10",
   "title": "Paid acquisition",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "When, where, budget, rules",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/paid-acquisition",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/paid-acquisition.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/paid-acquisition.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "We have never paid for a Brew brand, and spend stays zero",
    "points": [
     {
      "icon": "money",
      "text": "No budget, channel or rule for paid acquisition exists today."
     },
     {
      "icon": "eye",
      "text": "Our pages have no analytics or ad pixel, so a paid click could not be counted."
     },
     {
      "icon": "chart",
      "text": "The only paid campaign was for Cozy Snugglet: no sales, paused 8 Oct."
     },
     {
      "icon": "lock",
      "text": "Three gates before any test: pricing set, name chosen, partners handing off weekly."
     },
     {
      "icon": "flag",
      "text": "First test, if any: Meta, Instagram only, in India, with a fixed cap."
     }
    ],
    "stat": {
     "value": "29",
     "label": "clicks on the Cozy campaign"
    },
    "decide": "Do we do paid acquisition at all before launch?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Do we do paid acquisition at all before launch?** Proposal: no; organic and warm intros only while reads are capped.",
    "**What are the gates for the first test?** Proposal: pricing agreed with Sai, the name chosen, and every partner handing off weekly for four weeks.",
    "**Which channel first?** Proposal: Meta, Instagram only, in India, because the founder audience scrolls there and the ad account exists.",
    "**What budget?** Proposal: Param names one fixed cap for a two week test; nothing is spent past it.",
    "**Do we set up tracking now, before any spend?** Proposal: yes; run Setup Analytics for the product's own pages this cycle, at no cost.",
    "**Does the Cozy campaign teach us anything here?** Proposal: one rule only: never launch paid without a working purchase or ask event to count."
   ]
  },
  {
   "id": "10.11",
   "title": "Getting found ourselves",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Search and AI answers for our own brand",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/getting-found-ourselves",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/getting-found-ourselves.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/getting-found-ourselves.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Nobody can find Brew yet; the work starts at naming",
    "points": [
     {
      "icon": "warn",
      "text": "Landing has no description, preview tags, robots.txt, sitemap or llms.txt."
     },
     {
      "icon": "flag",
      "text": "No name or domain is chosen, so name and domain come first."
     },
     {
      "icon": "eye",
      "text": "We never checked what AI answers say about us; the weekly check costs about $0.50."
     },
     {
      "icon": "book",
      "text": "Five answer pages come after the name, written from positioning and allowed claims."
     },
     {
      "icon": "check",
      "text": "Brief pages and ready to post pages stay noindex on purpose."
     }
    ],
    "stat": {
     "value": "0.50",
     "label": "per AI answers check run"
    },
    "decide": "Which domain will the product live on?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Which domain will the product live on?** Proposal: decide it with the name in [naming](/brand/naming); keep feed.joinsquareup.com as a redirect.",
    "**Do we run our own AI answers check before we have a name?** Proposal: no; wait for the name, then run it weekly.",
    "**May the docs site be indexed?** Proposal: yes, once it names the product; today it stays as it is.",
    "**Who writes the answer pages?** Proposal: Param drafts with Claude, Sai reviews for plain words."
   ]
  },
  {
   "id": "10.12",
   "title": "Campaign log",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Every campaign, cost, result",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/campaign-log",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/campaign-log.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/campaign-log.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "The campaign log is empty because no campaign has run yet",
    "points": [
     {
      "icon": "book",
      "text": "One list of every campaign: goal, channel, hook, cap, spend and result."
     },
     {
      "icon": "check",
      "text": "Five design partners came person to person, not from a campaign."
     },
     {
      "icon": "flag",
      "text": "Product emails like the Monday digest are not campaigns."
     },
     {
      "icon": "chart",
      "text": "A result is what a person did, never followers, likes or reach."
     },
     {
      "icon": "clock",
      "text": "A row is added before a campaign starts and filled in when it ends."
     }
    ],
    "stat": null,
    "decide": "What counts as a campaign, and who keeps the log?",
    "mood": "waiting"
   },
   "open_questions": [
    "**What counts as a campaign?** Proposal: anything with a start, an end and one ask: a paid test, a six week posting cycle, an outreach batch, an event or a launch.",
    "**Who keeps the log?** Proposal: whoever owns the campaign fills its row; Param checks it every Friday.",
    "**Does the log live here or in a sheet?** Proposal: here, so every campaign sits next to the plan that made it.",
    "**Do we log the first design partner outreach after the fact?** Proposal: yes, one row per partner with how they came in, from what Param remembers, marked From memory."
   ]
  },
  {
   "id": "10.13",
   "title": "Growth metrics",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Visits, reads, sign ups, activation, cost per brand",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/growth-metrics",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/growth-metrics.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/growth-metrics.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Almost nothing is counted yet, so pick three numbers and start",
    "points": [
     {
      "icon": "warn",
      "text": "Our own pages have no analytics, and read asks by DM have no shared list."
     },
     {
      "icon": "chart",
      "text": "Today we can count who started reads, briefs sent to our team and digests."
     },
     {
      "icon": "flag",
      "text": "Proposed north star: stores where anyone hands off a pick in a week."
     },
     {
      "icon": "lock",
      "text": "These numbers stay inside the team; test brands and staff are never counted."
     },
     {
      "icon": "clock",
      "text": "No targets until four weeks of counts exist."
     }
    ],
    "stat": {
     "value": "5",
     "label": "design partners, the only count"
    },
    "decide": "Which three numbers do we count first?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Which three do we count first?** Proposal: read asks, reads started and weekly hand off stores.",
    "**Do we add analytics to the landing and the ask page?** Proposal: yes, one GA4 property with four events: ask, sign in, read started, first hand off; no ad pixel until paid is decided.",
    "**Do team hand offs count?** Proposal: yes; log a quiet event when Share with my team copies a brief, so both hand offs count the same.",
    "**Who counts on Friday?** Proposal: Param, until a dashboard exists.",
    "**When do targets come?** Proposal: after four weeks of counts, Param sets one target for weekly hand off stores only."
   ]
  },
  {
   "id": "10.14",
   "title": "No-budget playbook",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Growing with no spend",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/no-budget-playbook",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/no-budget-playbook.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/no-budget-playbook.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Four hours a week, zero spend, and the character kit we own",
    "points": [
     {
      "icon": "clock",
      "text": "About four hours a week for all organic marketing, one format a day."
     },
     {
      "icon": "box",
      "text": "Five character kits, sample photos and our own product make the posts for free."
     },
     {
      "icon": "check",
      "text": "Two four minute checks before anything goes out: truth and craft."
     },
     {
      "icon": "lock",
      "text": "No paid generations while building, and no disclaimers on creative."
     },
     {
      "icon": "people",
      "text": "Who owns which hour is still open for the three of us."
     }
    ],
    "stat": {
     "value": "4",
     "label": "hours a week"
    },
    "decide": "Who owns which hour of the week?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Who owns which hour?** Proposal: Param the Monday and Friday hours, Sai the Wednesday hour, each of the three one LinkedIn post a month.",
    "**Which store do we run our own product on for sample drafts?** Proposal: none of the five partners; build the sample candle store as a test brand, labelled Sample, so drafts never show a real partner without permission.",
    "**May we spend on a studio make for a post?** Proposal: no; drafts only, and Param says yes to any exception in writing.",
    "**When does posting start?** Proposal: the day the direction and the name are picked, never before, so the grid starts in one voice."
   ]
  },
  {
   "id": "10.15",
   "title": "Events and webinars",
   "department": "Marketing and growth",
   "department_slug": "marketing-and-growth",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Store owner meetups, webinars, demos at events, what each is for",
   "urls": {
    "html": "https://handbook.joinsquareup.com/marketing-and-growth/events-and-webinars",
    "markdown": "https://handbook.joinsquareup.com/marketing-and-growth/events-and-webinars.md",
    "json": "https://handbook.joinsquareup.com/marketing-and-growth/events-and-webinars.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "No events yet, and every future one ends on a single ask",
    "points": [
     {
      "icon": "flag",
      "text": "We have held no event or webinar, and none is planned."
     },
     {
      "icon": "spark",
      "text": "Events are for asks, never reach: send us your store link."
     },
     {
      "icon": "eye",
      "text": "Demos run on the demo site, never on production or a partner's private data."
     },
     {
      "icon": "money",
      "text": "Spend nothing on stands or travel without Param's written yes."
     },
     {
      "icon": "people",
      "text": "A founder gives a ten minute talk: a Monday, one sample finding, the ask."
     }
    ],
    "stat": {
     "value": "10",
     "label": "minute talk"
    },
    "decide": "Do we do events before launch at all?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Do we do events before launch at all?** Proposal: one small founder meetup a month at most, only where founders of our ideal customer gather.",
    "**Which communities first?** Proposal: Param lists three founder groups he already belongs to; we start there.",
    "**Webinars, yes or no?** Proposal: not until one partner agrees to show their week on screen.",
    "**Who speaks?** Proposal: Param, with a speaker bio written from his real background, never a sample bio.",
    "**Budget?** Proposal: zero; free events and online only, until paid acquisition is decided."
   ]
  },
  {
   "id": "11.1",
   "title": "Arata",
   "department": "Sales and partnerships",
   "department_slug": "sales-and-partnerships",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Arata, Nutrova, Mana, Puma India, Scrubroom: profile, connections, history, use, issues, next step",
   "urls": {
    "html": "https://handbook.joinsquareup.com/sales-and-partnerships/arata",
    "markdown": "https://handbook.joinsquareup.com/sales-and-partnerships/arata.md",
    "json": "https://handbook.joinsquareup.com/sales-and-partnerships/arata.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Arata is our front runner, the only partner with live accounts connected",
    "points": [
     {
      "icon": "link",
      "text": "Meta Ads connected 22 Oct and Shopify 23 Oct; both read on staging and production."
     },
     {
      "icon": "lock",
      "text": "Its connections are protected in code: never disconnect, reconnect or re-select them."
     },
     {
      "icon": "chart",
      "text": "Real numbers shaped its Plays: about 35,000 orders in 30 days, mostly via GoKwik."
     },
     {
      "icon": "check",
      "text": "Every fix is checked on Arata first, then on the other four partners."
     },
     {
      "icon": "warn",
      "text": "Meta App Review is blocked on business verification and two screencasts."
     }
    ],
    "stat": {
     "value": "97%",
     "label": "orders via GoKwik checkout"
    },
    "decide": "Who is our contact at Arata, and what is the next step with them?",
    "mood": "building"
   },
   "open_questions": [
    "**Who at Arata do we work with?** No contact name is on record. Proposal: add the main contact, their role and how they prefer to talk to this page.",
    "**What is the next step with Arata?** Proposal: a 30 minute call this week to walk the Plays they rated highest, then agree a design partner agreement from [Contracts](/sales-and-partnerships/contracts).",
    "**Does Arata stay on the demo site?** It agreed on 15 Oct that its team notes stay public there, but it now has real accounts connected. Proposal: keep only its public pack on the demo and ask Arata to confirm in writing.",
    "**Is our team's deck for Arata a paid engagement?** The sources do not say. Proposal: record whether Arata pays our team separately, so the Brew partnership stays independent."
   ]
  },
  {
   "id": "11.2",
   "title": "Nutrova",
   "department": "Sales and partnerships",
   "department_slug": "sales-and-partnerships",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Arata, Nutrova, Mana, Puma India, Scrubroom: profile, connections, history, use, issues, next step",
   "urls": {
    "html": "https://handbook.joinsquareup.com/sales-and-partnerships/nutrova",
    "markdown": "https://handbook.joinsquareup.com/sales-and-partnerships/nutrova.md",
    "json": "https://handbook.joinsquareup.com/sales-and-partnerships/nutrova.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Nutrova has its read and Plays, and now needs its team in",
    "points": [
     {
      "icon": "box",
      "text": "Sells supplements; NutroVally is never counted as Nutrova."
     },
     {
      "icon": "check",
      "text": "The 24 Oct audit was clean: Brand Book, card fit, PDFs and phone scroll."
     },
     {
      "icon": "link",
      "text": "No account is connected yet; proposed first is Shopify through its own app."
     },
     {
      "icon": "warn",
      "text": "Whether the 26 Oct onboarding happened is not recorded."
     },
     {
      "icon": "lock",
      "text": "Health claims must pass the claim check against Nutrova's own studies."
     }
    ],
    "stat": {
     "value": "0",
     "label": "connected accounts today"
    },
    "decide": "Did the 26 Oct onboarding happen, and with whom?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Did the 26 Oct onboarding happen, and with whom?** Proposal: add the date, the people and what they said to this page and the feedback log.",
    "**Which account does Nutrova connect first?** Proposal: Shopify through its own app, since it needs no platform review and feeds the most Plays.",
    "**Who signs off health claims?** Proposal: ask Nutrova for the studies behind its claims and load them into its Brand Book before any Studio make is shared."
   ]
  },
  {
   "id": "11.3",
   "title": "Mana",
   "department": "Sales and partnerships",
   "department_slug": "sales-and-partnerships",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Arata, Nutrova, Mana, Puma India, Scrubroom: profile, connections, history, use, issues, next step",
   "urls": {
    "html": "https://handbook.joinsquareup.com/sales-and-partnerships/mana",
    "markdown": "https://handbook.joinsquareup.com/sales-and-partnerships/mana.md",
    "json": "https://handbook.joinsquareup.com/sales-and-partnerships/mana.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Mana sells homes by enquiry, so it tests Brew without a checkout",
    "points": [
     {
      "icon": "book",
      "text": "Mana Projects is real estate: enquiries and site visits, never a cart."
     },
     {
      "icon": "link",
      "text": "No accounts are connected; proposed first connection is GA4 through a viewer."
     },
     {
      "icon": "check",
      "text": "The 24 Oct design partner audit came back clean."
     },
     {
      "icon": "flag",
      "text": "Its read helped make every fix work for every kind of brand."
     },
     {
      "icon": "rocket",
      "text": "On production since 25 Oct."
     }
    ],
    "stat": {
     "value": "0",
     "label": "connected accounts today"
    },
    "decide": "Who is our contact at Mana, and which account connects first?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Who is our contact at Mana, and how did they come to us?** Proposal: add the contact and the date of the first conversation here.",
    "**Is an enquiry brand a fit for the first paid plan?** Proposal: keep Mana as a design partner and decide fit after it has used the feed for four weeks.",
    "**Which account does Mana connect first?** Proposal: GA4, by adding the service account as a viewer."
   ]
  },
  {
   "id": "11.4",
   "title": "Puma India",
   "department": "Sales and partnerships",
   "department_slug": "sales-and-partnerships",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Arata, Nutrova, Mana, Puma India, Scrubroom: profile, connections, history, use, issues, next step",
   "urls": {
    "html": "https://handbook.joinsquareup.com/sales-and-partnerships/puma-india",
    "markdown": "https://handbook.joinsquareup.com/sales-and-partnerships/puma-india.md",
    "json": "https://handbook.joinsquareup.com/sales-and-partnerships/puma-india.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "PUMA India tests Brew on a big store that is not Shopify",
    "points": [
     {
      "icon": "box",
      "text": "The store runs on Salesforce Commerce and has reviews switched off."
     },
     {
      "icon": "link",
      "text": "No accounts are connected; GA4 is the proposed first connection."
     },
     {
      "icon": "warn",
      "text": "A statics picture has stray words drawn in; its maker is not traced."
     },
     {
      "icon": "check",
      "text": "A search bug that showed no live ads was fixed for every brand."
     },
     {
      "icon": "lock",
      "text": "Never quote PUMA as a customer until it says yes in writing."
     }
    ],
    "stat": {
     "value": "30",
     "label": "second light price read"
    },
    "decide": "Trace the stray words picture maker before PUMA's next session?",
    "mood": "building"
   },
   "open_questions": [
    "**Who at PUMA India is the contact, and who approves the use of PUMA's name on our side?** Proposal: record the contact here and ask in writing before PUMA appears in any demo, deck or case study.",
    "**Should a brand this big be a design partner?** Proposal: keep it as the big brand test case, and never quote it as a customer until it says yes in writing.",
    "**Do we fix the stray words picture first?** Proposal: yes, trace the maker before PUMA's next session."
   ]
  },
  {
   "id": "11.5",
   "title": "Scrubroom",
   "department": "Sales and partnerships",
   "department_slug": "sales-and-partnerships",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Arata, Nutrova, Mana, Puma India, Scrubroom: profile, connections, history, use, issues, next step",
   "urls": {
    "html": "https://handbook.joinsquareup.com/sales-and-partnerships/scrubroom",
    "markdown": "https://handbook.joinsquareup.com/sales-and-partnerships/scrubroom.md",
    "json": "https://handbook.joinsquareup.com/sales-and-partnerships/scrubroom.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Scrubroom resells other brands, so Brew learned to read a retailer",
    "points": [
     {
      "icon": "box",
      "text": "Medical apparel and equipment: 140 products, 68 of them Littmann stethoscopes."
     },
     {
      "icon": "book",
      "text": "Its Plays now speak as the place to buy the brands it sells."
     },
     {
      "icon": "check",
      "text": "Play covers are now checked against the catalogue, after a wrong set price."
     },
     {
      "icon": "link",
      "text": "No accounts are connected; whether it runs Shopify is unconfirmed."
     },
     {
      "icon": "rocket",
      "text": "On production since 25 Oct."
     }
    ],
    "stat": {
     "value": "74%",
     "label": "of range from other brands"
    },
    "decide": "Does Scrubroom want Plays about its own labels or the brands it resells?",
    "mood": "solid"
   },
   "open_questions": [
    "**Who is our contact at Scrubroom?** Proposal: add the contact and the date of the first conversation here.",
    "**Does Scrubroom want Plays about its own labels or the brands it resells?** Proposal: ask on the first call; until then, keep both.",
    "**Is it on Shopify?** The sources do not say outright; the reader got its full catalogue from a products.json list, which Shopify stores serve [src: brew/reader/index.js:244]. Proposal: confirm on the first call, then connect its own app."
   ]
  },
  {
   "id": "11.6",
   "title": "Pipeline",
   "department": "Sales and partnerships",
   "department_slug": "sales-and-partnerships",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Every prospect, stage, next step",
   "urls": {
    "html": "https://handbook.joinsquareup.com/sales-and-partnerships/pipeline",
    "markdown": "https://handbook.joinsquareup.com/sales-and-partnerships/pipeline.md",
    "json": "https://handbook.joinsquareup.com/sales-and-partnerships/pipeline.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Five design partners, no real pipeline written down yet",
    "points": [
     {
      "icon": "people",
      "text": "Arata, Nutrova, Mana, Puma India and Scrubroom are the only prospects on record."
     },
     {
      "icon": "warn",
      "text": "No stages, owners, dates or values are kept anywhere in the sources."
     },
     {
      "icon": "map",
      "text": "Proposed stages run from Talking through First hand off to Agreement signed."
     },
     {
      "icon": "eye",
      "text": "Proposed Monday habit: check the visitor log for brands whose own people opened their read."
     },
     {
      "icon": "lock",
      "text": "Never name a prospect outside the team without its written yes."
     }
    ],
    "stat": {
     "value": "0",
     "label": "agreements signed on record"
    },
    "decide": "Who else are we talking to, and is Gully Labs still a design partner?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Who else are we talking to?** Proposal: Param lists every brand in conversation, with the contact and the next step, and we add them here this week.",
    "**Is Gully Labs still a design partner?** Proposal: mark it Paused unless Param says it is active.",
    "**Do these seven stages fit?** Proposal: accept them as written and revisit after the first two signed agreements.",
    "**Who owns each prospect?** Proposal: Param owns all of them until a second person takes one.",
    "**Where does the pipeline live?** Proposal: here in the handbook only, no separate CRM until there are more than twenty rows."
   ]
  },
  {
   "id": "11.7",
   "title": "Onboarding playbook",
   "department": "Sales and partnerships",
   "department_slug": "sales-and-partnerships",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "From yes to first win, step by step",
   "urls": {
    "html": "https://handbook.joinsquareup.com/sales-and-partnerships/onboarding-playbook",
    "markdown": "https://handbook.joinsquareup.com/sales-and-partnerships/onboarding-playbook.md",
    "json": "https://handbook.joinsquareup.com/sales-and-partnerships/onboarding-playbook.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "From yes to first win: team in, account connected, brief handed off",
    "points": [
     {
      "icon": "people",
      "text": "The brand's own people sign in with work emails; invites last 14 days."
     },
     {
      "icon": "rocket",
      "text": "On a brand's first read, Plays start only when someone first opens the feed."
     },
     {
      "icon": "link",
      "text": "Connect one real account; Shopify through the brand's own app is the strongest first choice."
     },
     {
      "icon": "flag",
      "text": "The first win is the first brief handed off; Param runs the five partner calls."
     },
     {
      "icon": "lock",
      "text": "Arata's connections are protected and never touched."
     }
    ],
    "stat": {
     "value": "30",
     "label": "minute onboarding call"
    },
    "decide": "Is the first hand off within 7 days of sign in the activation we count?",
    "mood": "building"
   },
   "open_questions": [
    "**Is the first hand off the activation we count?** Proposal: yes, first hand off within 7 days of the first sign in.",
    "**Does every partner onboard on a call, or alone?** Proposal: on a call for the five design partners; alone, with the first win bar, for everyone after.",
    "**Who runs the calls?** Proposal: Param for the five, with Sai or Arvind shadowing one each.",
    "**When does the new Set-up tab reach production?** Proposal: after the five partners' first calls, so they learn one screen at a time."
   ]
  },
  {
   "id": "11.8",
   "title": "Demo script",
   "department": "Sales and partnerships",
   "department_slug": "sales-and-partnerships",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "The demo site, the tour, five minutes",
   "urls": {
    "html": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/dog",
    "markdown": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/dog.md",
    "json": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Throw a store, sniff the read, chew one pick, drop it",
    "points": [
     {
      "icon": "clock",
      "text": "Five minutes: Throw it, Sniffing round, The drop, Chew on it, then Drop it."
     },
     {
      "icon": "eye",
      "text": "Fetch talks only around the product, never on a button, card or brand photo."
     },
     {
      "icon": "lock",
      "text": "Never say it posts, sends, schedules or measures; never call a demo store a customer."
     },
     {
      "icon": "heart",
      "text": "Close by offering the founder a read of their own store."
     },
     {
      "icon": "chat",
      "text": "When money, privacy or a signature comes up, Fetch sits out and a person answers."
     }
    ],
    "stat": {
     "value": "$80",
     "label": "per full demo build"
    },
    "decide": "Which stores should the demo show, and does Arata come off the picker?",
    "mood": "building"
   },
   "open_questions": [
    "**Which stores should the demo show?** Proposal: two or three public brands prepared by our team, never a design partner unless it says yes in writing.",
    "**Does Arata stay on the demo?** It agreed on 15 Oct, before it connected real accounts. Proposal: take it off the picker and use a public brand instead.",
    "**Where does a live read of a prospect run?** The guide says staging, which is now for testing only. Proposal: production, started by staff.",
    "**Five minutes or ten?** The guide is ten. Proposal: a five minute run, then five minutes of the founder's questions."
   ]
  },
  {
   "id": "11.8",
   "title": "Demo script",
   "department": "Sales and partnerships",
   "department_slug": "sales-and-partnerships",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "The demo site, the tour, five minutes",
   "urls": {
    "html": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/bee",
    "markdown": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/bee.md",
    "json": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Show me your garden, buzz round it, make honey from one bloom",
    "points": [
     {
      "icon": "clock",
      "text": "Five minutes: Buzzing round your store, Best blooms, Make honey, Pass the pollen."
     },
     {
      "icon": "eye",
      "text": "Buzz talks only around the product, never on a button, card or brand photo."
     },
     {
      "icon": "lock",
      "text": "Never say it posts, sends, schedules or measures; never call a demo store a customer."
     },
     {
      "icon": "heart",
      "text": "Close by offering the founder a taste of honey from their own flowers."
     },
     {
      "icon": "chat",
      "text": "When money, privacy or a signature comes up, Buzz steps out and a person answers."
     }
    ],
    "stat": {
     "value": "$80",
     "label": "per full demo build"
    },
    "decide": "Which stores should the demo show, and does Arata come off the picker?",
    "mood": "building"
   },
   "open_questions": [
    "**Which stores should the demo show?** Proposal: two or three public brands prepared by our team, never a design partner unless it says yes in writing.",
    "**Does Arata stay on the demo?** It agreed on 15 Oct, before it connected real accounts. Proposal: take it off the picker and use a public brand instead.",
    "**Where does a live read of a prospect run?** The guide says staging, which is now for testing only. Proposal: production, started by staff.",
    "**Five minutes or ten?** The guide is ten. Proposal: a five minute run, then five minutes of the founder's questions."
   ]
  },
  {
   "id": "11.8",
   "title": "Demo script",
   "department": "Sales and partnerships",
   "department_slug": "sales-and-partnerships",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "The demo site, the tour, five minutes",
   "urls": {
    "html": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/raccoon",
    "markdown": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/raccoon.md",
    "json": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Give Scoop the tip, watch the rummage, pass the note",
    "points": [
     {
      "icon": "clock",
      "text": "Five minutes: The tip, The rummage, This week's scoop, The scribble, Pass the note."
     },
     {
      "icon": "eye",
      "text": "Scoop says what it reads: public pages, plus read only connections if any."
     },
     {
      "icon": "lock",
      "text": "Scoop never names a rival; describe the pattern across a category instead."
     },
     {
      "icon": "heart",
      "text": "Delight in ideas, never mock a customer or a reviewer; close on their own store."
     },
     {
      "icon": "chat",
      "text": "When money, privacy or a signature comes up, Scoop stays out and a person answers."
     }
    ],
    "stat": {
     "value": "$80",
     "label": "per full demo build"
    },
    "decide": "Which stores should the demo show, and does Arata come off the picker?",
    "mood": "building"
   },
   "open_questions": [
    "**Which stores should the demo show?** Proposal: two or three public brands prepared by our team, never a design partner unless it says yes in writing.",
    "**Does Arata stay on the demo?** It agreed on 15 Oct, before it connected real accounts. Proposal: take it off the picker and use a public brand instead.",
    "**Where does a live read of a prospect run?** The guide says staging, which is now for testing only. Proposal: production, started by staff.",
    "**Five minutes or ten?** The guide is ten. Proposal: a five minute run, then five minutes of the founder's questions."
   ]
  },
  {
   "id": "11.8",
   "title": "Demo script",
   "department": "Sales and partnerships",
   "department_slug": "sales-and-partnerships",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "The demo site, the tour, five minutes",
   "urls": {
    "html": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/octopus",
    "markdown": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/octopus.md",
    "json": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Pass it here: eight arms read, then ink one pick",
    "points": [
     {
      "icon": "clock",
      "text": "Five minutes: Eight arms reading, Arms full, Ink it, then Free an arm."
     },
     {
      "icon": "spark",
      "text": "Ocho carries the busyness; the presenter takes one pick all the way through."
     },
     {
      "icon": "lock",
      "text": "Never say it posts, sends, schedules or measures; never call a demo store a customer."
     },
     {
      "icon": "heart",
      "text": "Close by offering the founder a read of their own waters."
     },
     {
      "icon": "chat",
      "text": "When money, privacy or a signature comes up, Ocho steps out and a person answers."
     }
    ],
    "stat": {
     "value": "$80",
     "label": "per full demo build"
    },
    "decide": "Which stores should the demo show, and does Arata come off the picker?",
    "mood": "building"
   },
   "open_questions": [
    "**Which stores should the demo show?** Proposal: two or three public brands prepared by our team, never a design partner unless it says yes in writing.",
    "**Does Arata stay on the demo?** It agreed on 15 Oct, before it connected real accounts. Proposal: take it off the picker and use a public brand instead.",
    "**Where does a live read of a prospect run?** The guide says staging, which is now for testing only. Proposal: production, started by staff.",
    "**Five minutes or ten?** The guide is ten. Proposal: a five minute run, then five minutes of the founder's questions."
   ]
  },
  {
   "id": "11.8",
   "title": "Demo script",
   "department": "Sales and partnerships",
   "department_slug": "sales-and-partnerships",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "The demo site, the tour, five minutes",
   "urls": {
    "html": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/cooker",
    "markdown": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/cooker.md",
    "json": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/sales-and-partnerships/demo-script/octopus.json"
    }
   ],
   "tldr": {
    "headline": "Into the pot, three whistles, one special, one order ticket",
    "points": [
     {
      "icon": "clock",
      "text": "Five minutes: Into the pot, This week's specials, On the stove, then Order ticket."
     },
     {
      "icon": "eye",
      "text": "Explain the whistle once, on the read; turn sound on only if the room hears it."
     },
     {
      "icon": "lock",
      "text": "Never say it posts, sends, schedules or measures; never call a demo store a customer."
     },
     {
      "icon": "heart",
      "text": "Close by offering to cook the founder's own store."
     },
     {
      "icon": "chat",
      "text": "When money, privacy or a signature comes up, Seeti stays out and a person answers."
     }
    ],
    "stat": {
     "value": "$80",
     "label": "per full demo build"
    },
    "decide": "Which stores should the demo show, and does Arata come off the picker?",
    "mood": "building"
   },
   "open_questions": [
    "**Which stores should the demo show?** Proposal: two or three public brands prepared by our team, never a design partner unless it says yes in writing.",
    "**Does Arata stay on the demo?** It agreed on 15 Oct, before it connected real accounts. Proposal: take it off the picker and use a public brand instead.",
    "**Where does a live read of a prospect run?** The guide says staging, which is now for testing only. Proposal: production, started by staff.",
    "**Five minutes or ten?** The guide is ten. Proposal: a five minute run, then five minutes of the founder's questions."
   ]
  },
  {
   "id": "11.11",
   "title": "Pricing and packaging",
   "department": "Sales and partnerships",
   "department_slug": "sales-and-partnerships",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Plans, credits, trial, what is in each",
   "urls": {
    "html": "https://handbook.joinsquareup.com/sales-and-partnerships/pricing-and-packaging",
    "markdown": "https://handbook.joinsquareup.com/sales-and-partnerships/pricing-and-packaging.md",
    "json": "https://handbook.joinsquareup.com/sales-and-partnerships/pricing-and-packaging.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "One plan per brand plus a wallet, but pricing stays parked",
    "points": [
     {
      "icon": "lock",
      "text": "No billing exists; quote no price to anyone until Param and Sai agree it."
     },
     {
      "icon": "money",
      "text": "Proposed v1: $79 or ₹4,999 a month, with a wallet for made pieces."
     },
     {
      "icon": "heart",
      "text": "Wallet is real money, charged only when the brand keeps a piece, and never expires."
     },
     {
      "icon": "rocket",
      "text": "v4 Autopilot proposed at 3% of ad spend, with a $149 minimum."
     },
     {
      "icon": "people",
      "text": "Design partners are free through the partnership, then keep $79 or ₹4,999 for life."
     }
    ],
    "stat": {
     "value": "14",
     "label": "day trial, no card"
    },
    "decide": "Charge $79 or $119 for v1, and commit the pricing spec to brew main?",
    "mood": "waiting"
   },
   "open_questions": [
    "**v1 at $79 or $119?** Proposal: $79, since v1 only drafts and hands off.",
    "**Autopilot as a percent of spend, or flat fees by spend band?** Proposal: 3% with the $149 minimum, as written.",
    "**Who prices briefs to our team?** Proposal: our team sets its own per brief price; Brew shows it, never bundles it.",
    "**Does wallet money expire?** Proposal: never, as written.",
    "**Partner price for life?** Proposal: yes, $79 or ₹4,999 for the five who sign the partner agreement.",
    "**Is the spec committed?** It sits untracked in the working tree. Proposal: commit it to brew main as a proposal so it cannot be lost."
   ]
  },
  {
   "id": "11.12",
   "title": "Contracts",
   "department": "Sales and partnerships",
   "department_slug": "sales-and-partnerships",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Design partner agreement, order form",
   "urls": {
    "html": "https://handbook.joinsquareup.com/sales-and-partnerships/contracts",
    "markdown": "https://handbook.joinsquareup.com/sales-and-partnerships/contracts.md",
    "json": "https://handbook.joinsquareup.com/sales-and-partnerships/contracts.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "No agreement is signed or drafted yet, only short preview terms",
    "points": [
     {
      "icon": "book",
      "text": "Preview terms at /terms are free, offered as they are, and can change or stop."
     },
     {
      "icon": "lock",
      "text": "Brands keep their content and data; deletion on request within 7 days."
     },
     {
      "icon": "warn",
      "text": "Arata's okay to stay on the demo was spoken only, nothing written."
     },
     {
      "icon": "money",
      "text": "Proposed partner price after the partnership: $79 or ₹4,999 a month for life."
     },
     {
      "icon": "flag",
      "text": "Proposed: a one page agreement sent to all five partners this week."
     }
    ],
    "stat": {
     "value": "7",
     "label": "days to delete on request"
    },
    "decide": "Send the one page design partner agreement to all five partners this week?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Do we need a written agreement before the partnership goes further?** Proposal: yes, the one page above, sent to all five this week.",
    "**Which entity signs?** Proposal: Yellow Monk Technologies LLP, the entity already on the Meta business and the site footer.",
    "**What happens after the partnership?** Proposal: accept the proposed partner price from pricing, or leave with nothing owed.",
    "**Who reviews the terms?** Proposal: a lawyer reads the agreement and the full terms once, before they replace the preview pages.",
    "**Does the agreement cover paid makes from the wallet?** Proposal: the wallet is a gift, unused money is not refunded, and it never expires during the partnership."
   ]
  },
  {
   "id": "12.1",
   "title": "Partner onboarding",
   "department": "Customer success and support",
   "department_slug": "customer-success-and-support",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "The first week with a partner, checklists",
   "urls": {
    "html": "https://handbook.joinsquareup.com/customer-success-and-support/partner-onboarding",
    "markdown": "https://handbook.joinsquareup.com/customer-success-and-support/partner-onboarding.md",
    "json": "https://handbook.joinsquareup.com/customer-success-and-support/partner-onboarding.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Five partners, one checklist, and a first brief shared within a week",
    "points": [
     {
      "icon": "people",
      "text": "Arata, Nutrova, Mana, Puma India and Scrubroom are live on production since 25 Oct."
     },
     {
      "icon": "lock",
      "text": "Only staff, the brand's own email domain or an invite gets in; Google sign in only."
     },
     {
      "icon": "clock",
      "text": "The team has 15 minutes to check what we read before the brief goes on."
     },
     {
      "icon": "link",
      "text": "Shopify, GA4, Meta, Klaviyo and Judge.me connect read only; Meta waits on App Review."
     },
     {
      "icon": "flag",
      "text": "Never touch any Arata connection; disconnect tests run on Cozy or Zenant."
     }
    ],
    "stat": {
     "value": "15",
     "label": "minutes to check the read"
    },
    "decide": "Who on our team owns each partner's first week?",
    "mood": "waiting"
   },
   "open_questions": [
    "Who on our team owns each partner's first week? Proposal: Param owns Arata and Nutrova, Sai and Arvind split the other three, one name per brand written here.",
    "Is the first brief shared within 7 days the activation event? Proposal: yes for v1, and revisit once the five have each shared one.",
    "Do invited teammates see the set up screens on first open? The code does not say clearly. Proposal: test it on Zenant with a fresh invite and record the answer here.",
    "Should every partner get a welcome call in week one? Proposal: one 30 minute call on day 1 or 2, run from the checklist above."
   ]
  },
  {
   "id": "12.2",
   "title": "Help centre",
   "department": "Customer success and support",
   "department_slug": "customer-success-and-support",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Every article a brand needs",
   "urls": {
    "html": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/dog",
    "markdown": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/dog.md",
    "json": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Thirteen help articles, plain answers, and one Fetch line where safe",
    "points": [
     {
      "icon": "book",
      "text": "No help centre exists today; the Help row only opens an email to hello@."
     },
     {
      "icon": "check",
      "text": "Each article names the screen and button, and ends with Email us."
     },
     {
      "icon": "heart",
      "text": "Fetch adds one line, like Sniffing round your store, only where the topic is safe."
     },
     {
      "icon": "lock",
      "text": "Access, data, money and our team get no Fetch line at all."
     },
     {
      "icon": "chat",
      "text": "Lost the scent is the line for when something breaks, and work stays safe."
     }
    ],
    "stat": {
     "value": "13",
     "label": "help articles for v1"
    },
    "decide": "Should the help centre live inside the product as one page with thirteen sections?",
    "mood": "building"
   },
   "open_questions": [
    "Where does the help centre live? Proposal: inside the product, from Help in the account menu, as one page with thirteen sections.",
    "Is the 7 day deletion promise ours to keep on production? Proposal: yes. The deletion tool, `db/delete-brand.mjs`, is on origin/main and reaches production with the next promote; until then an engineer does it by hand within 7 days.",
    "Do we publish the read limits by number? Proposal: say they exist and that a person can lift them, without numbers that can change.",
    "The read line promises 3 to 4 minutes. Proposal: measure ten first reads on production before it ships."
   ]
  },
  {
   "id": "12.2",
   "title": "Help centre",
   "department": "Customer success and support",
   "department_slug": "customer-success-and-support",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Every article a brand needs",
   "urls": {
    "html": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/bee",
    "markdown": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/bee.md",
    "json": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Thirteen help articles, plain answers, and one Buzz line where it fits",
    "points": [
     {
      "icon": "book",
      "text": "No help centre exists today; the Help row only opens an email to hello@."
     },
     {
      "icon": "check",
      "text": "Each article names the screen and button, and ends with Email us."
     },
     {
      "icon": "heart",
      "text": "Buzz adds one line, like Buzzing round your store, at most one bee pun per screen."
     },
     {
      "icon": "lock",
      "text": "Access, data, money and our team get no Buzz line at all."
     },
     {
      "icon": "chat",
      "text": "Bumped the window is the line for a break, and the earlier work is safe."
     }
    ],
    "stat": {
     "value": "13",
     "label": "help articles for v1"
    },
    "decide": "Should the help centre live inside the product as one page with thirteen sections?",
    "mood": "building"
   },
   "open_questions": [
    "Where does the help centre live? Proposal: inside the product, from Help in the account menu, as one page with thirteen sections.",
    "Is the 7 day deletion promise ours to keep on production? Proposal: yes. The deletion tool, `db/delete-brand.mjs`, is on origin/main and reaches production with the next promote; until then an engineer does it by hand within 7 days.",
    "Do we publish the read limits by number? Proposal: say they exist and that a person can lift them, without numbers that can change.",
    "The read line promises 3 to 4 minutes. Proposal: measure ten first reads on production before it ships."
   ]
  },
  {
   "id": "12.2",
   "title": "Help centre",
   "department": "Customer success and support",
   "department_slug": "customer-success-and-support",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Every article a brand needs",
   "urls": {
    "html": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/raccoon",
    "markdown": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/raccoon.md",
    "json": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Thirteen help articles, plain answers, and a Scoop line where it helps",
    "points": [
     {
      "icon": "book",
      "text": "No help centre exists today; the Help row only opens an email to hello@."
     },
     {
      "icon": "check",
      "text": "Each article names the screen and button, and ends with Email us."
     },
     {
      "icon": "eye",
      "text": "Scoop says what the read looks at: public pages, plus read only connections."
     },
     {
      "icon": "lock",
      "text": "Access, data, money and our team get no Scoop line; a person handles those."
     },
     {
      "icon": "chat",
      "text": "Notepad full is the line for read limits, and Tripped over my own tail for errors."
     }
    ],
    "stat": {
     "value": "13",
     "label": "help articles for v1"
    },
    "decide": "Should the help centre live inside the product as one page with thirteen sections?",
    "mood": "building"
   },
   "open_questions": [
    "Where does the help centre live? Proposal: inside the product, from Help in the account menu, as one page with thirteen sections.",
    "Is the 7 day deletion promise ours to keep on production? Proposal: yes. The deletion tool, `db/delete-brand.mjs`, is on origin/main and reaches production with the next promote; until then an engineer does it by hand within 7 days.",
    "Do we publish the read limits by number? Proposal: say they exist and that a person can lift them, without numbers that can change.",
    "The read line promises 3 to 4 minutes. Proposal: measure ten first reads on production before it ships."
   ]
  },
  {
   "id": "12.2",
   "title": "Help centre",
   "department": "Customer success and support",
   "department_slug": "customer-success-and-support",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Every article a brand needs",
   "urls": {
    "html": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/octopus",
    "markdown": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/octopus.md",
    "json": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Thirteen help articles, plain answers, and one Ocho line where it fits",
    "points": [
     {
      "icon": "book",
      "text": "No help centre exists today; the Help row only opens an email to hello@."
     },
     {
      "icon": "check",
      "text": "Each article names the screen and button, and ends with Email us."
     },
     {
      "icon": "heart",
      "text": "Ocho adds one line, like Eight arms reading your store, and only where allowed."
     },
     {
      "icon": "lock",
      "text": "Access, data, money and our team get no Ocho line at all."
     },
     {
      "icon": "chat",
      "text": "Knot is the line when something breaks, and the work is safe."
     }
    ],
    "stat": {
     "value": "13",
     "label": "help articles for v1"
    },
    "decide": "Should the help centre live inside the product as one page with thirteen sections?",
    "mood": "building"
   },
   "open_questions": [
    "Where does the help centre live? Proposal: inside the product, from Help in the account menu, as one page with thirteen sections.",
    "Is the 7 day deletion promise ours to keep on production? Proposal: yes. The deletion tool, `db/delete-brand.mjs`, is on origin/main and reaches production with the next promote; until then an engineer does it by hand within 7 days.",
    "Do we publish the read limits by number? Proposal: say they exist and that a person can lift them, without numbers that can change.",
    "The read line promises 3 to 4 minutes. Proposal: measure ten first reads on production before it ships."
   ]
  },
  {
   "id": "12.2",
   "title": "Help centre",
   "department": "Customer success and support",
   "department_slug": "customer-success-and-support",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Every article a brand needs",
   "urls": {
    "html": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/cooker",
    "markdown": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/cooker.md",
    "json": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/help-centre/octopus.json"
    }
   ],
   "tldr": {
    "headline": "Thirteen help articles, plain answers, and Seeti stays out of serious ones",
    "points": [
     {
      "icon": "book",
      "text": "No help centre exists today; the Help row only opens an email to hello@."
     },
     {
      "icon": "check",
      "text": "Each article names the screen and button, and ends with Email us."
     },
     {
      "icon": "heart",
      "text": "Seeti adds one kitchen line, like Nobody lifts my lid, and no more."
     },
     {
      "icon": "lock",
      "text": "Access, data, money and support get no Seeti line; people write those."
     },
     {
      "icon": "chat",
      "text": "Stuck to the pan is the line for a break, and your other versions are safe."
     }
    ],
    "stat": {
     "value": "13",
     "label": "help articles for v1"
    },
    "decide": "Should the help centre live inside the product as one page with thirteen sections?",
    "mood": "building"
   },
   "open_questions": [
    "Where does the help centre live? Proposal: inside the product, from Help in the account menu, as one page with thirteen sections.",
    "Is the 7 day deletion promise ours to keep on production? Proposal: yes. The deletion tool, `db/delete-brand.mjs`, is on origin/main and reaches production with the next promote; until then an engineer does it by hand within 7 days.",
    "Do we publish the read limits by number? Proposal: say they exist and that a person can lift them, without numbers that can change.",
    "The read line promises 3 to 4 minutes. Proposal: measure ten first reads on production before it ships."
   ]
  },
  {
   "id": "12.3",
   "title": "Support process",
   "department": "Customer success and support",
   "department_slug": "customer-success-and-support",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Channels, response times, who answers",
   "urls": {
    "html": "https://handbook.joinsquareup.com/customer-success-and-support/support-process",
    "markdown": "https://handbook.joinsquareup.com/customer-success-and-support/support-process.md",
    "json": "https://handbook.joinsquareup.com/customer-success-and-support/support-process.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Support is one inbox with no rules yet, so we drafted some",
    "points": [
     {
      "icon": "chat",
      "text": "Everything lands in hello@joinsquareup.com; nobody is named to read it."
     },
     {
      "icon": "clock",
      "text": "Proposed: a human reply within one working day, same day for blockers."
     },
     {
      "icon": "heart",
      "text": "Replies are signed by a first name; the character never writes support."
     },
     {
      "icon": "check",
      "text": "A bug in a thread becomes a fix for every brand, then a note back."
     },
     {
      "icon": "map",
      "text": "A WhatsApp line for partners is parked for v2."
     }
    ],
    "stat": {
     "value": "one",
     "label": "working day to reply"
    },
    "decide": "Who reads hello@joinsquareup.com each day, and what reply times do we promise?",
    "mood": "waiting"
   },
   "open_questions": [
    "Who reads hello@joinsquareup.com each day? Proposal: Param on weekdays until the five partners are onboarded, then a rota of Param, Sai and Arvind.",
    "What response times do we promise partners? Proposal: one working day for any question, same day for blockers and our mistakes, written into the partner welcome.",
    "Do partners get a WhatsApp line? Proposal: not in v1; offer it in v2 once the inbox times hold for four weeks.",
    "Do we need a ticket tool? Proposal: no; inbox labels plus Next are enough for five partners.",
    "Who answers alerts at night? Proposal: nobody at night during the preview; the reader of the day checks alerts first thing."
   ]
  },
  {
   "id": "12.4",
   "title": "Known issues",
   "department": "Customer success and support",
   "department_slug": "customer-success-and-support",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "What is broken now, and the workaround",
   "urls": {
    "html": "https://handbook.joinsquareup.com/customer-success-and-support/known-issues",
    "markdown": "https://handbook.joinsquareup.com/customer-success-and-support/known-issues.md",
    "json": "https://handbook.joinsquareup.com/customer-success-and-support/known-issues.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "What is broken for partners today, each with a workaround",
    "points": [
     {
      "icon": "warn",
      "text": "Production still lacks the brief status buttons and the deletion job until the next promote."
     },
     {
      "icon": "chat",
      "text": "Production emails use the old word for Plays and name the product until the next promote."
     },
     {
      "icon": "clock",
      "text": "Meta App Review is not submitted; Shopify's public app waits since 21 Oct."
     },
     {
      "icon": "gear",
      "text": "First load after a release is slow; reload once."
     },
     {
      "icon": "book",
      "text": "Fix every issue in code for every brand, then delete its row and tell the partner."
     }
    ],
    "stat": {
     "value": "880",
     "label": "customer strings reworded"
    },
    "decide": "Remove the project wide rights from the default compute service account this week?",
    "mood": "building"
   },
   "open_questions": [
    "Should partners see a known issues page? Proposal: yes, a short one in the help centre with only what they can see, updated weekly.",
    "The interface still says Brew in a few places, now from one constant. Do we set that constant to the picked name, or to none, before the five partners use it daily? Proposal: keep Brew until the name is picked, then change the one line.",
    "Who decides the compute service account rights? Proposal: Param removes the project wide rights this week and gives each service its own account."
   ]
  },
  {
   "id": "12.5",
   "title": "Partner health",
   "department": "Customer success and support",
   "department_slug": "customer-success-and-support",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Signals that a partner is thriving or slipping",
   "urls": {
    "html": "https://handbook.joinsquareup.com/customer-success-and-support/partner-health",
    "markdown": "https://handbook.joinsquareup.com/customer-success-and-support/partner-health.md",
    "json": "https://handbook.joinsquareup.com/customer-success-and-support/partner-health.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "No partner health score exists, so we sketched green, amber, red",
    "points": [
     {
      "icon": "eye",
      "text": "Today we only have records: who opened the brand, digests, briefs, connections."
     },
     {
      "icon": "check",
      "text": "Thriving means an open in 7 days, one jam moved and every connection fresh."
     },
     {
      "icon": "warn",
      "text": "Slipping means no open in 7 days, a stale connection or a brief needing info."
     },
     {
      "icon": "flag",
      "text": "Red means no open in 14 days, or Arata's protected connections not reading."
     },
     {
      "icon": "heart",
      "text": "Every amber or red gets a personal note from the partner's owner that week."
     }
    ],
    "stat": {
     "value": "72",
     "label": "hours to stale"
    },
    "decide": "Score partner health by hand every Monday for the first four weeks?",
    "mood": "waiting"
   },
   "open_questions": [
    "Do we score health at all during the design partnership? Proposal: yes, a weekly green, amber or red line per partner, by hand, for the first four weeks.",
    "What counts as thriving? Proposal: an open in 7 days, one jam moved and every connection fresh, as written in Tomorrow.",
    "Who reviews it? Proposal: Param, every Monday, with each partner's owner.",
    "Does a partner ever see its own health? Proposal: no; it is our working view only."
   ]
  },
  {
   "id": "12.6",
   "title": "Feedback loop",
   "department": "Customer success and support",
   "department_slug": "customer-success-and-support",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "How feedback becomes a fix, and closes back",
   "urls": {
    "html": "https://handbook.joinsquareup.com/customer-success-and-support/feedback-loop",
    "markdown": "https://handbook.joinsquareup.com/customer-success-and-support/feedback-loop.md",
    "json": "https://handbook.joinsquareup.com/customer-success-and-support/feedback-loop.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Every report becomes a fix for every brand, then a note back",
    "points": [
     {
      "icon": "chat",
      "text": "Feedback arrives from QA sheets, audits, Param's screenshots and partner emails."
     },
     {
      "icon": "gear",
      "text": "Each fix works for every brand, gets a test, and heals saved data."
     },
     {
      "icon": "warn",
      "text": "Nobody tells the partner when their fix is live, and email feedback has no tracker."
     },
     {
      "icon": "check",
      "text": "Proposed: everything lands in Next, and the owner closes back in the same thread."
     },
     {
      "icon": "heart",
      "text": "A weekly founder note could name what changed because of partners."
     }
    ],
    "stat": {
     "value": "86",
     "label": "audit findings on 20 Oct"
    },
    "decide": "Send a weekly founder note to partners during the design partnership?",
    "mood": "building"
   },
   "open_questions": [
    "Where does all feedback live? Proposal: Next, with one row per report, linked from the QA sheet and reports.",
    "Who closes back to partners? Proposal: the partner's owner from partner onboarding.",
    "Do we send a weekly founder note? Proposal: yes during the design partnership, signed by Param, naming one thing that changed because of a partner."
   ]
  },
  {
   "id": "12.7",
   "title": "Notices to customers",
   "department": "Customer success and support",
   "department_slug": "customer-success-and-support",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Incident, maintenance and change notices",
   "urls": {
    "html": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/dog",
    "markdown": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/dog.md",
    "json": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/cooker.json"
    }
   ],
   "tldr": {
    "headline": "No notice system yet: six templates, and Fetch stays off bad news",
    "points": [
     {
      "icon": "warn",
      "text": "No notice system exists; alerts reach only us, never the brands."
     },
     {
      "icon": "chat",
      "text": "Six templates: incident, resolved, maintenance, connection lost, change, policy change."
     },
     {
      "icon": "clock",
      "text": "Incidents over 30 minutes or touching data get a notice; maintenance gets 2 working days."
     },
     {
      "icon": "lock",
      "text": "Fetch stays out of incidents, maintenance, connections and policy notices."
     },
     {
      "icon": "heart",
      "text": "Fetch gets one line only: This week's ideas, fetched, as a change sign off."
     }
    ],
    "stat": {
     "value": "30",
     "label": "minutes before a notice"
    },
    "decide": "May Fetch appear in change notices, only as the sign off line?",
    "mood": "building"
   },
   "open_questions": [
    "What counts as an incident worth a notice? Proposal: more than 30 minutes down, or anything that touches a brand's data or connections.",
    "Who sends notices? Proposal: Param during the design partnership, from hello@joinsquareup.com, signed with his first name.",
    "Do we pick a fixed maintenance window? Proposal: no fixed window; releases already roll back on their own, and planned downtime gets 2 working days notice.",
    "May Fetch appear in change notices? Proposal: only as the sign off line in the table, never in incidents, maintenance, connections or policy."
   ]
  },
  {
   "id": "12.7",
   "title": "Notices to customers",
   "department": "Customer success and support",
   "department_slug": "customer-success-and-support",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Incident, maintenance and change notices",
   "urls": {
    "html": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/bee",
    "markdown": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/bee.md",
    "json": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/cooker.json"
    }
   ],
   "tldr": {
    "headline": "No notice system yet: six templates, and Buzz stays off bad news",
    "points": [
     {
      "icon": "warn",
      "text": "No notice system exists; alerts reach only us, never the brands."
     },
     {
      "icon": "chat",
      "text": "Six templates: incident, resolved, maintenance, connection lost, change, policy change."
     },
     {
      "icon": "clock",
      "text": "Incidents over 30 minutes or touching data get a notice; maintenance gets 2 working days."
     },
     {
      "icon": "lock",
      "text": "Buzz stays out of incidents, maintenance, connections and policy notices."
     },
     {
      "icon": "heart",
      "text": "Buzz gets one line only: The whole hive, one bee, as a change sign off."
     }
    ],
    "stat": {
     "value": "30",
     "label": "minutes before a notice"
    },
    "decide": "May Buzz appear in change notices, only as the sign off line?",
    "mood": "building"
   },
   "open_questions": [
    "What counts as an incident worth a notice? Proposal: more than 30 minutes down, or anything that touches a brand's data or connections.",
    "Who sends notices? Proposal: Param during the design partnership, from hello@joinsquareup.com, signed with his first name.",
    "Do we pick a fixed maintenance window? Proposal: no fixed window; releases already roll back on their own, and planned downtime gets 2 working days notice.",
    "May Buzz appear in change notices? Proposal: only as the sign off line in the table, never in incidents, maintenance, connections or policy."
   ]
  },
  {
   "id": "12.7",
   "title": "Notices to customers",
   "department": "Customer success and support",
   "department_slug": "customer-success-and-support",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Incident, maintenance and change notices",
   "urls": {
    "html": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/raccoon",
    "markdown": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/raccoon.md",
    "json": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/cooker.json"
    }
   ],
   "tldr": {
    "headline": "No notice system yet: six templates, and Scoop keeps quiet",
    "points": [
     {
      "icon": "warn",
      "text": "No notice system exists; alerts reach only us, never the brands."
     },
     {
      "icon": "chat",
      "text": "Six templates: incident, resolved, maintenance, connection lost, change, policy change."
     },
     {
      "icon": "clock",
      "text": "Incidents over 30 minutes or touching data get a notice; maintenance gets 2 working days."
     },
     {
      "icon": "lock",
      "text": "Scoop stays out of incidents, maintenance, connections and policy notices."
     },
     {
      "icon": "heart",
      "text": "Scoop gets one line only, Everything everyone says about your store, as a change sign off."
     }
    ],
    "stat": {
     "value": "30",
     "label": "minutes before a notice"
    },
    "decide": "May Scoop appear in change notices, only as the sign off line?",
    "mood": "building"
   },
   "open_questions": [
    "What counts as an incident worth a notice? Proposal: more than 30 minutes down, or anything that touches a brand's data or connections.",
    "Who sends notices? Proposal: Param during the design partnership, from hello@joinsquareup.com, signed with his first name.",
    "Do we pick a fixed maintenance window? Proposal: no fixed window; releases already roll back on their own, and planned downtime gets 2 working days notice.",
    "May Scoop appear in change notices? Proposal: only as the sign off line in the table, never in incidents, maintenance, connections or policy."
   ]
  },
  {
   "id": "12.7",
   "title": "Notices to customers",
   "department": "Customer success and support",
   "department_slug": "customer-success-and-support",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Incident, maintenance and change notices",
   "urls": {
    "html": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/octopus",
    "markdown": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/octopus.md",
    "json": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/cooker.json"
    }
   ],
   "tldr": {
    "headline": "No notice system yet: six templates, and Ocho stays off bad news",
    "points": [
     {
      "icon": "warn",
      "text": "No notice system exists; alerts reach only us, never the brands."
     },
     {
      "icon": "chat",
      "text": "Six templates: incident, resolved, maintenance, connection lost, change, policy change."
     },
     {
      "icon": "clock",
      "text": "Incidents over 30 minutes or touching data get a notice; maintenance gets 2 working days."
     },
     {
      "icon": "lock",
      "text": "Ocho stays out of incidents, maintenance, connections and policy notices."
     },
     {
      "icon": "heart",
      "text": "Ocho gets one line only: Eight arms on your marketing, as a change sign off."
     }
    ],
    "stat": {
     "value": "30",
     "label": "minutes before a notice"
    },
    "decide": "May Ocho appear in change notices, only as the sign off line?",
    "mood": "building"
   },
   "open_questions": [
    "What counts as an incident worth a notice? Proposal: more than 30 minutes down, or anything that touches a brand's data or connections.",
    "Who sends notices? Proposal: Param during the design partnership, from hello@joinsquareup.com, signed with his first name.",
    "Do we pick a fixed maintenance window? Proposal: no fixed window; releases already roll back on their own, and planned downtime gets 2 working days notice.",
    "May Ocho appear in change notices? Proposal: only as the sign off line in the table, never in incidents, maintenance, connections or policy."
   ]
  },
  {
   "id": "12.7",
   "title": "Notices to customers",
   "department": "Customer success and support",
   "department_slug": "customer-success-and-support",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Incident, maintenance and change notices",
   "urls": {
    "html": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/cooker",
    "markdown": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/cooker.md",
    "json": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/notices-to-customers/octopus.json"
    }
   ],
   "tldr": {
    "headline": "No notice system yet: six templates, and Seeti stays off bad news",
    "points": [
     {
      "icon": "warn",
      "text": "No notice system exists; alerts reach only us, never the brands."
     },
     {
      "icon": "chat",
      "text": "Six templates: incident, resolved, maintenance, connection lost, change, policy change."
     },
     {
      "icon": "clock",
      "text": "Incidents over 30 minutes or touching data get a notice; maintenance gets 2 working days."
     },
     {
      "icon": "lock",
      "text": "Seeti stays out of incidents, maintenance, connections and policy notices."
     },
     {
      "icon": "heart",
      "text": "Seeti gets one line only: ready in a few whistles, as a change sign off."
     }
    ],
    "stat": {
     "value": "30",
     "label": "minutes before a notice"
    },
    "decide": "May Seeti appear in change notices, only as the sign off line?",
    "mood": "building"
   },
   "open_questions": [
    "What counts as an incident worth a notice? Proposal: more than 30 minutes down, or anything that touches a brand's data or connections.",
    "Who sends notices? Proposal: Param during the design partnership, from hello@joinsquareup.com, signed with his first name.",
    "Do we pick a fixed maintenance window? Proposal: no fixed window; releases already roll back on their own, and planned downtime gets 2 working days notice.",
    "May Seeti appear in change notices? Proposal: only as the sign off line in the table, never in incidents, maintenance, connections or policy."
   ]
  },
  {
   "id": "12.8",
   "title": "Briefs sent to our team",
   "department": "Customer success and support",
   "department_slug": "customer-success-and-support",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "How one is received, tracked and delivered",
   "urls": {
    "html": "https://handbook.joinsquareup.com/customer-success-and-support/briefs-sent-to-our-team",
    "markdown": "https://handbook.joinsquareup.com/customer-success-and-support/briefs-sent-to-our-team.md",
    "json": "https://handbook.joinsquareup.com/customer-success-and-support/briefs-sent-to-our-team.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "A brief sent to our team gets a ticket and five statuses",
    "points": [
     {
      "icon": "box",
      "text": "Each brief sent to our team gets a ticket numbered from 1042 and one email."
     },
     {
      "icon": "flag",
      "text": "Statuses run Sent, Received, In progress, Needs info, Delivered; only staff change them."
     },
     {
      "icon": "eye",
      "text": "The brand sees where it stands in a top bar pill and gets an email."
     },
     {
      "icon": "warn",
      "text": "The staff buttons are built but reach production only with the next promote."
     },
     {
      "icon": "clock",
      "text": "Proposed: received in one working day, a first version or question in three."
     }
    ],
    "stat": {
     "value": "1042",
     "label": "first brief ticket number"
    },
    "decide": "Who picks up briefs, and do we promise received in one working day?",
    "mood": "building"
   },
   "open_questions": [
    "Who on our team picks up briefs? Proposal: Param until the first ten, then a rota.",
    "What do we promise on time? Proposal: received within one working day, a first version or a question within three working days.",
    "Do briefs to our team cost money during the design partnership? Proposal: free until pricing is unparked, then paid per brief as the 26 Oct pricing note says."
   ]
  },
  {
   "id": "12.9",
   "title": "Data requests",
   "department": "Customer success and support",
   "department_slug": "customer-success-and-support",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Export and delete requests, and how we handle them",
   "urls": {
    "html": "https://handbook.joinsquareup.com/customer-success-and-support/data-requests",
    "markdown": "https://handbook.joinsquareup.com/customer-success-and-support/data-requests.md",
    "json": "https://handbook.joinsquareup.com/customer-success-and-support/data-requests.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Delete requests are answered within 7 days, by hand on production",
    "points": [
     {
      "icon": "clock",
      "text": "Delete my data promises deletion within 7 days; the privacy page gives no time."
     },
     {
      "icon": "lock",
      "text": "The delete tool does a dry run first and refuses partners and Arata unless overridden."
     },
     {
      "icon": "box",
      "text": "It keeps only an audit row; backups hold the brand for up to 14 days."
     },
     {
      "icon": "warn",
      "text": "Production has no deletion job yet, and no export of brand data exists."
     },
     {
      "icon": "link",
      "text": "We never revoke Shopify, Meta or Google grants; the reply tells the brand how."
     }
    ],
    "stat": {
     "value": "7",
     "label": "days to delete"
    },
    "decide": "When do we make the brew-prod-ops job, right after the next promote?",
    "mood": "waiting"
   },
   "open_questions": [
    "When do we make the `brew-prod-ops` job? Proposal: right after the next promote, with one dry run on a test brand on staging first.",
    "The tool keeps no archive, only the audit row and the backups for up to 14 days. Do we say that on the privacy page? Proposal: yes, one line with the 14 days.",
    "What does a shared brief link show after its brand is deleted? Proposal: a plain page that says the brief was removed.",
    "Do we offer export in v1? Proposal: on request only, as a zip within 7 days."
   ]
  },
  {
   "id": "12.10",
   "title": "Every message",
   "department": "Customer success and support",
   "department_slug": "customer-success-and-support",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Every email and in-product message, in one list",
   "urls": {
    "html": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/dog",
    "markdown": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/dog.md",
    "json": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Every message we send, and where Fetch may add a line",
    "points": [
     {
      "icon": "chat",
      "text": "46 messages are listed: 16 team emails, 3 to our inbox, 2 Slack, pages and screens."
     },
     {
      "icon": "check",
      "text": "Customer copy now says we, our team and plays, but production waits for the next promote."
     },
     {
      "icon": "heart",
      "text": "Fetch signs the Plays email with Fetched for you, and opens the digest on Monday."
     },
     {
      "icon": "lock",
      "text": "Invites, reminders, sign in, brief status, outages, privacy and deletion stay plain, from people."
     },
     {
      "icon": "flag",
      "text": "The product name still sits in the sender, header and Slack post, in one constant."
     }
    ],
    "stat": {
     "value": "46",
     "label": "messages listed"
    },
    "decide": "May Fetch speak in emails at all, or only in the product?",
    "mood": "building"
   },
   "open_questions": [
    "Our company name is gone and the product name sits in one constant, still Brew. Do we keep Brew in the sender, header and Slack post until the name is picked? Proposal: yes, then change the one line.",
    "May Fetch speak in emails at all, or only in the product? Proposal: only in the sign off of the Plays email and the first line of the digest, as in the table.",
    "The read lines promise 3 to 4 minutes. Is that true? Proposal: measure ten first reads on production and use the measured time, or drop the number.",
    "Should the sender be a person, such as Param at our team, rather than the product? Proposal: the product sends routine emails; anything personal comes from a named person."
   ]
  },
  {
   "id": "12.10",
   "title": "Every message",
   "department": "Customer success and support",
   "department_slug": "customer-success-and-support",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Every email and in-product message, in one list",
   "urls": {
    "html": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/bee",
    "markdown": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/bee.md",
    "json": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Every message we send, and where Buzz may add a line",
    "points": [
     {
      "icon": "chat",
      "text": "46 messages are listed: 16 team emails, 3 to our inbox, 2 Slack, pages and screens."
     },
     {
      "icon": "check",
      "text": "Customer copy now says we, our team and plays, but production waits for the next promote."
     },
     {
      "icon": "heart",
      "text": "Buzz signs the Plays email with Drafted by Buzz, and opens the digest with best blooms."
     },
     {
      "icon": "lock",
      "text": "Invites, reminders, sign in, brief status, outages, privacy and deletion stay plain, from people."
     },
     {
      "icon": "flag",
      "text": "The product name still sits in the sender, header and Slack post, in one constant."
     }
    ],
    "stat": {
     "value": "46",
     "label": "messages listed"
    },
    "decide": "May Buzz speak in emails at all, or only in the product?",
    "mood": "building"
   },
   "open_questions": [
    "Our company name is gone and the product name sits in one constant, still Brew. Do we keep Brew in the sender, header and Slack post until the name is picked? Proposal: yes, then change the one line.",
    "May Buzz speak in emails at all, or only in the product? Proposal: only in the sign off of the Plays email and the first line of the digest, as in the table.",
    "The read lines promise 3 to 4 minutes. Is that true? Proposal: measure ten first reads on production and use the measured time, or drop the number.",
    "Should the sender be a person, such as Param at our team, rather than the product? Proposal: the product sends routine emails; anything personal comes from a named person."
   ]
  },
  {
   "id": "12.10",
   "title": "Every message",
   "department": "Customer success and support",
   "department_slug": "customer-success-and-support",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Every email and in-product message, in one list",
   "urls": {
    "html": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/raccoon",
    "markdown": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/raccoon.md",
    "json": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Every message we send, and where Scoop may dish a line",
    "points": [
     {
      "icon": "chat",
      "text": "46 messages are listed: 16 team emails, 3 to our inbox, 2 Slack, pages and screens."
     },
     {
      "icon": "check",
      "text": "Customer copy now says we, our team and plays, but production waits for the next promote."
     },
     {
      "icon": "heart",
      "text": "Scoop signs the Plays email with Read by Scoop and opens the digest."
     },
     {
      "icon": "lock",
      "text": "Invites, reminders, sign in, brief status, outages, privacy and deletion stay plain, from people."
     },
     {
      "icon": "flag",
      "text": "The product name still sits in the sender, header and Slack post, in one constant."
     }
    ],
    "stat": {
     "value": "46",
     "label": "messages listed"
    },
    "decide": "May Scoop speak in emails at all, or only in the product?",
    "mood": "building"
   },
   "open_questions": [
    "Our company name is gone and the product name sits in one constant, still Brew. Do we keep Brew in the sender, header and Slack post until the name is picked? Proposal: yes, then change the one line.",
    "May Scoop speak in emails at all, or only in the product? Proposal: only in the sign off of the Plays email and the first line of the digest, as in the table.",
    "The read lines promise 3 to 4 minutes. Is that true? Proposal: measure ten first reads on production and use the measured time, or drop the number.",
    "Should the sender be a person, such as Param at our team, rather than the product? Proposal: the product sends routine emails; anything personal comes from a named person."
   ]
  },
  {
   "id": "12.10",
   "title": "Every message",
   "department": "Customer success and support",
   "department_slug": "customer-success-and-support",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Every email and in-product message, in one list",
   "urls": {
    "html": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/octopus",
    "markdown": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/octopus.md",
    "json": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Every message we send, and where Ocho lends an arm",
    "points": [
     {
      "icon": "chat",
      "text": "46 messages are listed: 16 team emails, 3 to our inbox, 2 Slack, pages and screens."
     },
     {
      "icon": "check",
      "text": "Customer copy now says we, our team and plays, but production waits for the next promote."
     },
     {
      "icon": "heart",
      "text": "Ocho signs the Plays email with Drafted by Ocho, and opens the digest with arms full."
     },
     {
      "icon": "lock",
      "text": "Invites, reminders, sign in, brief status, outages, privacy and deletion stay plain, from people."
     },
     {
      "icon": "flag",
      "text": "The product name still sits in the sender, header and Slack post, in one constant."
     }
    ],
    "stat": {
     "value": "46",
     "label": "messages listed"
    },
    "decide": "May Ocho speak in emails at all, or only in the product?",
    "mood": "building"
   },
   "open_questions": [
    "Our company name is gone and the product name sits in one constant, still Brew. Do we keep Brew in the sender, header and Slack post until the name is picked? Proposal: yes, then change the one line.",
    "May Ocho speak in emails at all, or only in the product? Proposal: only in the sign off of the Plays email and the first line of the digest, as in the table.",
    "The read lines promise 3 to 4 minutes. Is that true? Proposal: measure ten first reads on production and use the measured time, or drop the number.",
    "Should the sender be a person, such as Param at our team, rather than the product? Proposal: the product sends routine emails; anything personal comes from a named person."
   ]
  },
  {
   "id": "12.10",
   "title": "Every message",
   "department": "Customer success and support",
   "department_slug": "customer-success-and-support",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "Every email and in-product message, in one list",
   "urls": {
    "html": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/cooker",
    "markdown": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/cooker.md",
    "json": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/customer-success-and-support/every-message/octopus.json"
    }
   ],
   "tldr": {
    "headline": "Every message we send, listed, and the few places Seeti may whistle",
    "points": [
     {
      "icon": "chat",
      "text": "46 messages are listed: 16 team emails, 3 to our inbox, 2 Slack, pages and screens."
     },
     {
      "icon": "check",
      "text": "Customer copy now says we, our team and plays, but production waits for the next promote."
     },
     {
      "icon": "heart",
      "text": "Seeti signs the Plays email with Cooked by Seeti, and opens the digest with fresh specials."
     },
     {
      "icon": "lock",
      "text": "Reminders, sign in, brief status, outages, privacy and deletion stay plain; people write them."
     },
     {
      "icon": "flag",
      "text": "The product name still sits in the sender, header and Slack post, in one constant."
     }
    ],
    "stat": {
     "value": "46",
     "label": "messages listed"
    },
    "decide": "May Seeti speak in emails at all, or only in the product?",
    "mood": "building"
   },
   "open_questions": [
    "Our company name is gone and the product name sits in one constant, still Brew. Do we keep Brew in the sender, header and Slack post until the name is picked? Proposal: yes, then change the one line.",
    "May Seeti speak in emails at all, or only in the product? Proposal: only in the sign off of the Plays email and the first line of the digest, as in the table.",
    "The read lines promise 3 to 4 minutes. Is that true? Proposal: measure ten first reads on production and use the measured time, or drop the number.",
    "Should the sender be a person, such as Param at our team, rather than the product? Proposal: the product sends routine emails; anything personal comes from a named person."
   ]
  },
  {
   "id": "13.1",
   "title": "Pricing",
   "department": "Finance",
   "department_slug": "finance",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "The parked plan: free read, 14-day trial, plans and credits",
   "urls": {
    "html": "https://handbook.joinsquareup.com/finance/pricing",
    "markdown": "https://handbook.joinsquareup.com/finance/pricing.md",
    "json": "https://handbook.joinsquareup.com/finance/pricing.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Brew's price: a plan, a wallet, nothing until you keep a piece",
    "points": [
     {
      "icon": "money",
      "text": "Proposed v1 plan is $79 a month, with $12 going into the wallet."
     },
     {
      "icon": "check",
      "text": "A charge only lands when the brand keeps a piece, after 3 free redos."
     },
     {
      "icon": "clock",
      "text": "Free read first, then 14 days with no card and $5 in the wallet."
     },
     {
      "icon": "lock",
      "text": "Wallet money never expires, and it is not refundable or transferable."
     },
     {
      "icon": "flag",
      "text": "Still parked: nothing is quoted publicly and no billing is built."
     }
    ],
    "stat": {
     "value": "79",
     "label": "v1 plan a month, USD"
    },
    "decide": "Accept Plan plus Wallet plus Autopilot as the model, with v1 at $79 rather than $119?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Accept Plan plus Wallet plus Autopilot as the model?** Proposal: yes, as written on 26 Oct, recorded in the decisions log once Sai agrees.",
    "**v1 at $79 or $119?** Proposal: $79 or ₹4,999, since v1 only drafts and hands off.",
    "**Autopilot as a percent or flat bands?** Proposal: 3% with the $149 minimum.",
    "**Wallet expiry.** Proposal: never expires, as written.",
    "**Partner price for life.** Proposal: yes, $79 or ₹4,999 for partners who sign the partner agreement.",
    "**Commit the spec.** It sits untracked in the brew working tree. Proposal: commit it to brew main marked as a proposal."
   ]
  },
  {
   "id": "13.2",
   "title": "Unit economics",
   "department": "Finance",
   "department_slug": "finance",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Cost per read, per brand per month, per make, per final; margin",
   "urls": {
    "html": "https://handbook.joinsquareup.com/finance/unit-economics",
    "markdown": "https://handbook.joinsquareup.com/finance/unit-economics.md",
    "json": "https://handbook.joinsquareup.com/finance/unit-economics.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Costs per piece against proposed prices, margin still a range",
    "points": [
     {
      "icon": "chart",
      "text": "A Play's own call costs a median $0.18 on Pro and $0.83 on Opus."
     },
     {
      "icon": "money",
      "text": "Single pieces earn roughly 50% to 96% gross margin on paper."
     },
     {
      "icon": "warn",
      "text": "No brand's full month is measured, so v1 margin runs from 81% to below zero."
     },
     {
      "icon": "box",
      "text": "A Studio make on Arata cost $0.10 to $3.02 a take."
     },
     {
      "icon": "heart",
      "text": "Never cut a Play to save cost; make the Play cheaper."
     }
    ],
    "stat": {
     "value": "6",
     "label": "est. dollars per live read"
    },
    "decide": "Which cost do we plan on until a month is measured: $45 a brand?",
    "mood": "building"
   },
   "open_questions": [
    "**What is a Sloosh credit in dollars?** Proposal: Param adds the Pro plan's price and credit count to vendors and bills, and finals are reported in dollars from then on.",
    "**Which number do we plan on until a month is measured?** Proposal: plan on $45 a brand a month, the v4 brain estimate, as a cautious middle; replace it with the measured figure in December."
   ]
  },
  {
   "id": "13.3",
   "title": "Spend caps",
   "department": "Finance",
   "department_slug": "finance",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Every cap in the product, and why",
   "urls": {
    "html": "https://handbook.joinsquareup.com/finance/spend-caps",
    "markdown": "https://handbook.joinsquareup.com/finance/spend-caps.md",
    "json": "https://handbook.joinsquareup.com/finance/spend-caps.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Every tripwire that stops Brew spending too much, and where it lives",
    "points": [
     {
      "icon": "lock",
      "text": "Production sets most caps in one place, tools/prod-env.sh."
     },
     {
      "icon": "money",
      "text": "Daily caps: treg $40, first builds $250, pictures about $58 at worst."
     },
     {
      "icon": "people",
      "text": "One brand may use only a third of each daily cap."
     },
     {
      "icon": "check",
      "text": "Every paid make needs a confirmed price before it runs."
     },
     {
      "icon": "warn",
      "text": "Code default build cap is $60 but production runs $45."
     }
    ],
    "stat": {
     "value": "250",
     "label": "first builds cap, USD"
    },
    "decide": "Set a monthly ceiling of $50 a brand across all sources during the partnership?",
    "mood": "solid"
   },
   "open_questions": [
    "**Is $250 a day of first builds right for production?** Proposal: keep it; five partners at $45 a build fit, and a new brand waits a day past that.",
    "**The build cap default in code is $60 but production runs $45.** Proposal: set the code default to $45 so a missing env var never spends more.",
    "**A monthly ceiling per brand.** Proposal: $50 a brand a month across all sources during the partnership, raised only by Param."
   ]
  },
  {
   "id": "13.4",
   "title": "Budget",
   "department": "Finance",
   "department_slug": "finance",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Monthly spend by category",
   "urls": {
    "html": "https://handbook.joinsquareup.com/finance/budget",
    "markdown": "https://handbook.joinsquareup.com/finance/budget.md",
    "json": "https://handbook.joinsquareup.com/finance/budget.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "No budget exists yet, so here is a first one to accept",
    "points": [
     {
      "icon": "money",
      "text": "Nothing is set or recorded; the November ceilings are built from the product's own caps."
     },
     {
      "icon": "spark",
      "text": "Cloud and Vertex AI ride on Google credits, $20,763 left on 16 Oct."
     },
     {
      "icon": "warn",
      "text": "Anthropic's key has been out of credit since 20 Oct."
     },
     {
      "icon": "chart",
      "text": "Proposed ceilings: cloud $400, Vertex AI $600, treg $150, Apify $70."
     },
     {
      "icon": "check",
      "text": "Any new paid tool gets a budget line before its first payment."
     }
    ],
    "stat": {
     "value": "600",
     "label": "proposed Vertex AI ceiling, USD"
    },
    "decide": "Accept the November ceilings, and drop the treg day cap to $15 to match?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Accept the November ceilings?** Proposal: yes as written; treg at $150 a month is well under its $40 a day cap and about fifteen times the $10 a brand estimate for seven brands.",
    "**Lower the treg day cap to match?** Proposal: set `TREG_DAY_CAP_USD` to $15 on production, so the code cap and the budget agree.",
    "**Who approves spend over a ceiling?** Proposal: Param only, by a yes in chat recorded in the spend ledger."
   ]
  },
  {
   "id": "13.5",
   "title": "Credits",
   "department": "Finance",
   "department_slug": "finance",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Google credits, treg balance, Apify caps",
   "urls": {
    "html": "https://handbook.joinsquareup.com/finance/credits",
    "markdown": "https://handbook.joinsquareup.com/finance/credits.md",
    "json": "https://handbook.joinsquareup.com/finance/credits.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Brew's prepaid balances, each dated, so read live before acting",
    "points": [
     {
      "icon": "money",
      "text": "Google GFS credit stood at $20,763 of $25,000 on 16 Oct, ending 19 May 2028."
     },
     {
      "icon": "warn",
      "text": "The Anthropic key ran dry on 20 Oct; production runs on Gemini."
     },
     {
      "icon": "clock",
      "text": "treg showed $8.40 on 14 Oct, so check the balance live."
     },
     {
      "icon": "box",
      "text": "Sloosh Pro had 530 credits on 17 Oct; Apify Starter was bought 23 Oct."
     },
     {
      "icon": "check",
      "text": "On the first Monday of each month, read every balance by hand."
     }
    ],
    "stat": {
     "value": "19 May 2028",
     "label": "Google credit ends"
    },
    "decide": "Top up Anthropic for production, or stay on Gemini Pro during the partnership?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Top up Anthropic for production?** Proposal: not during the partnership; Plays stay on Gemini Pro on credits until a fair quality rerun shows Opus is worth the cost.",
    "**Does the GFS credit cover Claude on Vertex?** Proposal: ask Google for Startups in writing before any Claude on Vertex call.",
    "**Who reads the balances each month?** Proposal: Sai, on the first Monday, with the spend ledger."
   ]
  },
  {
   "id": "13.6",
   "title": "Spend ledger",
   "department": "Finance",
   "department_slug": "finance",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "What was spent, on what, by month",
   "urls": {
    "html": "https://handbook.joinsquareup.com/finance/spend-ledger",
    "markdown": "https://handbook.joinsquareup.com/finance/spend-ledger.md",
    "json": "https://handbook.joinsquareup.com/finance/spend-ledger.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Brew has no ledger, so here is one to start",
    "points": [
     {
      "icon": "book",
      "text": "No amounts are recorded; the sources only mention spend events."
     },
     {
      "icon": "money",
      "text": "About $4,237 of Google credit was used by 16 Oct."
     },
     {
      "icon": "chart",
      "text": "The product already writes spend files per brand and per month."
     },
     {
      "icon": "check",
      "text": "Each month: add bills, add credit drawn, sum brand spend, link every invoice."
     },
     {
      "icon": "people",
      "text": "Proposed keeper is Sai, with Param approving each month."
     }
    ],
    "stat": {
     "value": "1.64",
     "label": "43 style pictures, USD"
    },
    "decide": "Back fill October from your card statements, and where should the ledger live?",
    "mood": "building"
   },
   "open_questions": [
    "**Where does the ledger live?** Proposal: a sheet in the team's shared drive, linked here, with this page holding the monthly totals.",
    "**Back fill October?** Proposal: yes; Param adds the Sloosh, Apify, treg and Anthropic amounts from his card statements, and the rows above get their amounts.",
    "**Who keeps it?** Proposal: Sai, with Param approving each month."
   ]
  },
  {
   "id": "13.7",
   "title": "Revenue plan",
   "department": "Finance",
   "department_slug": "finance",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Brands, plans, months to targets",
   "urls": {
    "html": "https://handbook.joinsquareup.com/finance/revenue-plan",
    "markdown": "https://handbook.joinsquareup.com/finance/revenue-plan.md",
    "json": "https://handbook.joinsquareup.com/finance/revenue-plan.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Zero revenue today, and no target yet, only arithmetic on proposed prices",
    "points": [
     {
      "icon": "money",
      "text": "Five partners graduating at $79 would bring $395 a month."
     },
     {
      "icon": "chart",
      "text": "A hundred v1 brands would bring $7,900 a month in plan revenue."
     },
     {
      "icon": "flag",
      "text": "No source sets a launch date, a partner count or a revenue target."
     },
     {
      "icon": "lock",
      "text": "A brand counts as paying only after its first successful charge."
     },
     {
      "icon": "clock",
      "text": "Proposed first payer: the month after the design partnership ends."
     }
    ],
    "stat": {
     "value": "395",
     "label": "five partners, monthly USD"
    },
    "decide": "Set a first target: 25 paying brands within six months of the first charge?",
    "mood": "waiting"
   },
   "open_questions": [
    "**When does the first brand pay?** Proposal: the month after the design partnership ends; target all five partners on the partner price.",
    "**The first revenue target.** No source sets one. Proposal: 25 paying brands within six months of the first charge, then reset from the real rate of new brands.",
    "**Count wallet money as revenue when loaded or when spent?** Proposal: when spent on a kept piece; the CA confirms the treatment."
   ]
  },
  {
   "id": "13.8",
   "title": "No spend while building",
   "department": "Finance",
   "department_slug": "finance",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "The rule, and when to ask",
   "urls": {
    "html": "https://handbook.joinsquareup.com/finance/no-spend-while-building",
    "markdown": "https://handbook.joinsquareup.com/finance/no-spend-while-building.md",
    "json": "https://handbook.joinsquareup.com/finance/no-spend-while-building.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Building costs nothing: test free, ask before any paid call",
    "points": [
     {
      "icon": "lock",
      "text": "No paid generations or probes while building, unless Param asks."
     },
     {
      "icon": "check",
      "text": "Tests run mocked with AI_MOCK=1, so no model is ever called."
     },
     {
      "icon": "chat",
      "text": "If one paid call is the only way, ask first and make one minimal call."
     },
     {
      "icon": "warn",
      "text": "Never generate images, video or voice through treg; use our own keys."
     },
     {
      "icon": "flag",
      "text": "Paid video tests run on Arata, never on Cozy."
     }
    ],
    "stat": null,
    "decide": "Does the rule cover real reads for prospects you or Sai invited?",
    "mood": "solid"
   },
   "open_questions": [
    "**Does the rule cover real reads for new prospects?** Proposal: no; a real read for a prospect Param or Sai invited is product use, not building, and runs inside the caps."
   ]
  },
  {
   "id": "13.9",
   "title": "Vendors and bills",
   "department": "Finance",
   "department_slug": "finance",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Every paid service, plan, renewal",
   "urls": {
    "html": "https://handbook.joinsquareup.com/finance/vendors-and-bills",
    "markdown": "https://handbook.joinsquareup.com/finance/vendors-and-bills.md",
    "json": "https://handbook.joinsquareup.com/finance/vendors-and-bills.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Every service we pay for, and the prices nobody wrote down",
    "points": [
     {
      "icon": "box",
      "text": "Fourteen rows, from Google Cloud and treg to Resend and Cloudflare."
     },
     {
      "icon": "warn",
      "text": "Almost no plan prices or renewal dates are recorded."
     },
     {
      "icon": "money",
      "text": "Google credits pay cloud and Vertex; most others are cards or prepaid."
     },
     {
      "icon": "lock",
      "text": "Keys live only in Secret Manager, never in a page or file."
     },
     {
      "icon": "check",
      "text": "A new vendor gets a row before its first bill."
     }
    ],
    "stat": null,
    "decide": "Can you fill price and renewal for Sloosh, Apify, Resend, Cloudflare, ElevenLabs and Anthropic this week?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Plan prices and renewal dates.** Proposal: Param fills price and renewal for Sloosh, Apify, Resend, Cloudflare, ElevenLabs and the Anthropic top ups from his statements this week.",
    "**Which card or account pays each?** Proposal: one company card for every vendor, in the LLP's name, so invoices match the entity.",
    "**Keep OpenAI?** Proposal: keep the key as the last fallback in the media chain, with no top ups beyond what it holds."
   ]
  },
  {
   "id": "13.10",
   "title": "Financial model",
   "department": "Finance",
   "department_slug": "finance",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Pricing, costs and growth tied together",
   "urls": {
    "html": "https://handbook.joinsquareup.com/finance/financial-model",
    "markdown": "https://handbook.joinsquareup.com/finance/financial-model.md",
    "json": "https://handbook.joinsquareup.com/finance/financial-model.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "One model tying price, cost and growth, with the unknowns left blank",
    "points": [
     {
      "icon": "chart",
      "text": "Seven formulas run from paying brands through margin, burn and runway."
     },
     {
      "icon": "money",
      "text": "At $79 a plan, brain cost of $15 leaves about 81% margin."
     },
     {
      "icon": "warn",
      "text": "At the caps' ceiling of $180, the same brand loses $101 a month."
     },
     {
      "icon": "people",
      "text": "Growth, churn, fixed costs and cash have no figure in any source."
     },
     {
      "icon": "eye",
      "text": "Only a measured month closes the gap between those two costs."
     }
    ],
    "stat": {
     "value": "81",
     "label": "margin percent, low cost case"
    },
    "decide": "Model 5, 15 and 30 new trials a month, and use $45 cost per brand until measured?",
    "mood": "building"
   },
   "open_questions": [
    "**Growth inputs.** Proposal: model three cases of 5, 15 and 30 new trials a month with a 30% trial to paid rate and 5% monthly churn, labelled projections, until the first real month replaces them.",
    "**Cost per brand input.** Proposal: use $45 until three partners have one measured month.",
    "**Fixed costs and cash.** Proposal: Param enters salaries, tools and cash privately in the sheet; this page shows only the runway.",
    "**Who owns the sheet?** Proposal: Sai builds it, Param reviews it monthly with the investor update."
   ]
  },
  {
   "id": "13.11",
   "title": "Billing and invoicing",
   "department": "Finance",
   "department_slug": "finance",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "How a brand pays: provider, invoices, plans in the product, failed payments",
   "urls": {
    "html": "https://handbook.joinsquareup.com/finance/billing-and-invoicing",
    "markdown": "https://handbook.joinsquareup.com/finance/billing-and-invoicing.md",
    "json": "https://handbook.joinsquareup.com/finance/billing-and-invoicing.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "How a brand will pay Brew: no provider chosen, nothing built",
    "points": [
     {
      "icon": "flag",
      "text": "No billing code exists, and the plan sheet is a Dummy."
     },
     {
      "icon": "lock",
      "text": "The wallet is closed and not refundable, and nothing is ever deleted."
     },
     {
      "icon": "gear",
      "text": "Proposed: Razorpay first, Stripe once a brand outside India signs."
     },
     {
      "icon": "book",
      "text": "Every charge raises an invoice from Yellow Monk Technologies LLP."
     },
     {
      "icon": "warn",
      "text": "The LLP's GST registration is not recorded anywhere."
     }
    ],
    "stat": null,
    "decide": "Razorpay first, Stripe later, with the CA checking invoices comply?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Which provider?** Proposal: Razorpay first, Stripe later, as above; the CA checks both for invoices that comply.",
    "**Is the LLP registered for GST, and what is its GSTIN?** No source records it. Proposal: Param confirms with the CA before the first invoice.",
    "**Is wallet money billed with GST at top up or at use?** Proposal: ask the CA; build whichever the CA confirms.",
    "**Who can change a brand's plan?** Proposal: the brand's owners and admins, and staff for partners."
   ]
  },
  {
   "id": "13.12",
   "title": "Taxes",
   "department": "Finance",
   "department_slug": "finance",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "GST and taxes in each market, invoices that comply",
   "urls": {
    "html": "https://handbook.joinsquareup.com/finance/taxes",
    "markdown": "https://handbook.joinsquareup.com/finance/taxes.md",
    "json": "https://handbook.joinsquareup.com/finance/taxes.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "No tax details on record, so the CA gets six questions first",
    "points": [
     {
      "icon": "flag",
      "text": "No GSTIN, tax rate or filing appears in any source."
     },
     {
      "icon": "book",
      "text": "The entity is Yellow Monk Technologies LLP, LLPIN AAY-1244."
     },
     {
      "icon": "money",
      "text": "The CA must confirm GST on wallet top ups."
     },
     {
      "icon": "map",
      "text": "Every partner is Indian today, but brands abroad will need a rule."
     },
     {
      "icon": "clock",
      "text": "Nothing is invoiced yet, since Brew is free during the preview."
     }
    ],
    "stat": {
     "value": "6",
     "label": "questions for the CA"
    },
    "decide": "Will you book the CA conversation this month with the six questions attached?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Book the CA conversation.** Proposal: Param books it this month with the six questions above and the pricing proposal attached.",
    "**Show ₹ prices with or without GST?** Proposal: show ₹4,999 plus GST to businesses, and say so on the plan sheet, once the CA confirms the rate.",
    "**Dollar sales from India.** Proposal: invoice in USD from the LLP under a letter of undertaking, if the CA confirms it applies."
   ]
  },
  {
   "id": "13.13",
   "title": "Refunds and collections",
   "department": "Finance",
   "department_slug": "finance",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "When we refund, how, dunning for failed payments",
   "urls": {
    "html": "https://handbook.joinsquareup.com/finance/refunds-and-collections",
    "markdown": "https://handbook.joinsquareup.com/finance/refunds-and-collections.md",
    "json": "https://handbook.joinsquareup.com/finance/refunds-and-collections.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "When we refund, and what happens when a payment fails",
    "points": [
     {
      "icon": "lock",
      "text": "The wallet is not refundable; a charge our error caused is credited back the same day."
     },
     {
      "icon": "heart",
      "text": "Plans: cancel any time, with a first month refund within 7 days."
     },
     {
      "icon": "clock",
      "text": "Failed charges retry on day 1, 3 and 7, with a plain email each time."
     },
     {
      "icon": "check",
      "text": "After day 7 the brand turns read only and nothing is deleted."
     },
     {
      "icon": "chat",
      "text": "Messages say what happened and what to do, with no guilt."
     }
    ],
    "stat": {
     "value": "7",
     "label": "refund window in days"
    },
    "decide": "Accept a first month refund within 7 days, once per brand?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Accept the first month refund within 7 days?** Proposal: yes, once per brand, so a new brand risks nothing.",
    "**Accept read only after 7 days of failed charges?** Proposal: yes, never deleting, matching the trial's end.",
    "**Who sends the dunning emails?** Proposal: the provider sends receipts; Brew sends the plain words emails from its own layout."
   ]
  },
  {
   "id": "14.1",
   "title": "Team and roles",
   "department": "People and ways of working",
   "department_slug": "people-and-ways-of-working",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Param, Sai, Arvind: who owns what",
   "urls": {
    "html": "https://handbook.joinsquareup.com/people-and-ways-of-working/team-and-roles",
    "markdown": "https://handbook.joinsquareup.com/people-and-ways-of-working/team-and-roles.md",
    "json": "https://handbook.joinsquareup.com/people-and-ways-of-working/team-and-roles.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Three people, loosely split, and nobody has written down who owns what",
    "points": [
     {
      "icon": "people",
      "text": "Param owns the company and approves plans; Sai owns the QA sheet; Arvind eyes Shopify."
     },
     {
      "icon": "warn",
      "text": "No source names titles, area owners or who decides when Param is away."
     },
     {
      "icon": "map",
      "text": "Proposed split: Param strategy and product, Sai partners and QA, Arvind integrations and growth."
     },
     {
      "icon": "flag",
      "text": "Titles wait until a fourth person joins."
     }
    ],
    "stat": {
     "value": "18",
     "label": "departments needing an owner"
    },
    "decide": "Accept or edit the proposed ownership split between Param, Sai and Arvind?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Who owns what?** Proposal, for Param to edit:",
    "Param: company and strategy, product, brand, finance decisions, AI and models, ops and infrastructure, security and legal, this handbook.",
    "Sai: sales and partnerships, customer success and support, design partner relationships, QA rounds through the QA sheet, and the money routines the finance pages propose: the spend ledger, the monthly credit read and the financial model; pricing is agreed by Param and Sai together.",
    "Arvind: integrations and ecosystem, including the Shopify app and Built for Shopify, and marketing and growth.",
    "Everyone: research and insights.",
    "**What are the titles?** Proposal: none until a fourth person joins; describe people by what they own.",
    "**Who decides when Param is away?** Proposal: Sai for partners and Arvind for integrations, with no production promotes until Param is back."
   ]
  },
  {
   "id": "14.2",
   "title": "How we work with Claude",
   "department": "People and ways of working",
   "department_slug": "people-and-ways-of-working",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Sessions, worktrees, memory, the rules every session follows",
   "urls": {
    "html": "https://handbook.joinsquareup.com/people-and-ways-of-working/how-we-work-with-claude",
    "markdown": "https://handbook.joinsquareup.com/people-and-ways-of-working/how-we-work-with-claude.md",
    "json": "https://handbook.joinsquareup.com/people-and-ways-of-working/how-we-work-with-claude.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Param directs, Claude sessions build, shared rules keep them in line",
    "points": [
     {
      "icon": "book",
      "text": "Each session starts from memory notes, the brew guide, the handbook and skills."
     },
     {
      "icon": "flag",
      "text": "Every fix works for every brand, with a test, a heal and no one-off patches."
     },
     {
      "icon": "link",
      "text": "Many sessions share one repo: stage only your lines, deploy from a clean worktree."
     },
     {
      "icon": "check",
      "text": "After every phase, a QV round with fresh reviewers before the next phase."
     },
     {
      "icon": "spark",
      "text": "What a session learns goes into a memory note, then the handbook."
     }
    ],
    "stat": {
     "value": "3",
     "label": "more QV rounds before closing"
    },
    "decide": "Do Sai and Arvind run their own Claude sessions on brew, each in a worktree?",
    "mood": "solid"
   },
   "open_questions": [
    "**Do Sai and Arvind run Claude sessions on brew?** No source says. Proposal: yes, each in their own worktree on a branch, merging through Param until they have done one QV round with him.",
    "**Which memory notes move into the handbook?** Proposal: rules and runbooks move into handbook pages over the next two weeks; memory notes then keep a one-line pointer."
   ]
  },
  {
   "id": "14.3",
   "title": "Rituals",
   "department": "People and ways of working",
   "department_slug": "people-and-ways-of-working",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Weekly review, QA rounds, release rhythm",
   "urls": {
    "html": "https://handbook.joinsquareup.com/people-and-ways-of-working/rituals",
    "markdown": "https://handbook.joinsquareup.com/people-and-ways-of-working/rituals.md",
    "json": "https://handbook.joinsquareup.com/people-and-ways-of-working/rituals.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "We deploy and sweep constantly, yet no weekly meeting exists",
    "points": [
     {
      "icon": "rocket",
      "text": "Every tested change goes straight to staging, where Param tests on the live URL."
     },
     {
      "icon": "check",
      "text": "QV rounds follow every phase, and QA sweeps start when Sai's sheet fills."
     },
     {
      "icon": "clock",
      "text": "The handbook runs at 9 am; brands get a Monday 09:00 digest."
     },
     {
      "icon": "gear",
      "text": "A restore test runs monthly; the first was on 25 Oct."
     },
     {
      "icon": "chat",
      "text": "Proposed: a 30 minute Monday review covering Next, partners and decisions."
     }
    ],
    "stat": {
     "value": "49",
     "label": "bugs closed, one QA sweep"
    },
    "decide": "Hold a weekly 30 minute review on Mondays at 11 am IST from 2 Nov?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Hold a weekly review?** Proposal: yes, Mondays at 11 am IST, 30 minutes, agenda as above, starting 2 Nov 2026.",
    "**How often do design partner audits run?** Proposal: one full audit across the five partners every two weeks, run by Claude, triaged by Param and Sai."
   ]
  },
  {
   "id": "14.4",
   "title": "Hiring plan",
   "department": "People and ways of working",
   "department_slug": "people-and-ways-of-working",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Roles, when, why",
   "urls": {
    "html": "https://handbook.joinsquareup.com/people-and-ways-of-working/hiring-plan",
    "markdown": "https://handbook.joinsquareup.com/people-and-ways-of-working/hiring-plan.md",
    "json": "https://handbook.joinsquareup.com/people-and-ways-of-working/hiring-plan.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "No hiring plan exists yet, so here is one built on triggers",
    "points": [
     {
      "icon": "people",
      "text": "The team is Param, Sai and Arvind, and no role, budget or job description exists."
     },
     {
      "icon": "warn",
      "text": "Only Param can promote to production and restore it, which is a single point of failure."
     },
     {
      "icon": "flag",
      "text": "Proposed trigger: two partners agree to pay, or Param's open items pile up."
     },
     {
      "icon": "gear",
      "text": "Proposed first hire: a senior full-stack engineer who can run production."
     }
    ],
    "stat": {
     "value": "30",
     "label": "open items trigger a hire"
    },
    "decide": "What triggers the first hire, and is it a senior full-stack engineer?",
    "mood": "waiting"
   },
   "open_questions": [
    "**What triggers the first hire?** Proposal: when two design partners agree to pay, or when Param owns more than 30 open items in Next for two weeks running.",
    "**What is the first role?** Proposal: a senior full-stack engineer who can run production: promote, restore, on call, and review Claude sessions' work. It removes the single point of failure.",
    "**What comes second?** Proposal: a design partner success person, once there are more than eight brands.",
    "**Contractors before hires?** Proposal: yes for illustration of the picked brand direction; see [Contractors and agencies](/people-and-ways-of-working/contractors-and-agencies)."
   ]
  },
  {
   "id": "14.5",
   "title": "Onboarding a teammate",
   "department": "People and ways of working",
   "department_slug": "people-and-ways-of-working",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Day one to week two",
   "urls": {
    "html": "https://handbook.joinsquareup.com/people-and-ways-of-working/onboarding-a-teammate",
    "markdown": "https://handbook.joinsquareup.com/people-and-ways-of-working/onboarding-a-teammate.md",
    "json": "https://handbook.joinsquareup.com/people-and-ways-of-working/onboarding-a-teammate.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "A first-day-to-week-two path so a new teammate ships fast and safely",
    "points": [
     {
      "icon": "book",
      "text": "Day one: accounts, then read the two handbook guides and walk the demo."
     },
     {
      "icon": "gear",
      "text": "Days two to five: run brew locally and ship a small fix to staging."
     },
     {
      "icon": "lock",
      "text": "Never wipe the five partners and never disconnect Arata's Meta or Shopify."
     },
     {
      "icon": "people",
      "text": "Week two: sit in on a QA round and own one open question."
     }
    ],
    "stat": {
     "value": "30",
     "label": "days before production access"
    },
    "decide": "Accept the proposed onboarding path, with Param as buddy for engineers?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Accept the proposed path?** Proposal: accept as written, and try it on Sai or Arvind if either has not yet run brew locally.",
    "**Who is the buddy for a new person?** Proposal: Param for engineers, Sai for anyone working with partners.",
    "**When does a new person get production access?** Proposal: after 30 days and one restore test with Param."
   ]
  },
  {
   "id": "14.6",
   "title": "Tools we use",
   "department": "People and ways of working",
   "department_slug": "people-and-ways-of-working",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Every tool and account, and who has access",
   "urls": {
    "html": "https://handbook.joinsquareup.com/people-and-ways-of-working/tools-we-use",
    "markdown": "https://handbook.joinsquareup.com/people-and-ways-of-working/tools-we-use.md",
    "json": "https://handbook.joinsquareup.com/people-and-ways-of-working/tools-we-use.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Every tool and account Brew depends on, listed for access control",
    "points": [
     {
      "icon": "box",
      "text": "Google Cloud runs the app; GitHub holds the code; Cloudflare fronts the handbook."
     },
     {
      "icon": "link",
      "text": "Inside the product: Gemini, treg, Apify, Resend, Slack, Meta, Shopify, Sloosh and Higgsfield."
     },
     {
      "icon": "warn",
      "text": "Who has access to which tool is not recorded anywhere yet."
     },
     {
      "icon": "lock",
      "text": "Proposed: team accounts on joinsquareup.com and a shared password manager."
     }
    ],
    "stat": null,
    "decide": "Who has access to what, and do we switch personal logins to team accounts?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Who has access to what?** No source records it. Proposal: Param fills one access column per person this week; until then, assume only Param has admin on Google Cloud, Cloudflare, GitHub, Meta, Shopify Partners and Slack.",
    "**Move personal logins to team accounts?** treg and GitHub sit on personal accounts in our notes. Proposal: move treg, Cloudflare and GitHub to accounts on joinsquareup.com, with Param and one other admin each.",
    "**Use a password manager?** Proposal: yes, a team vault holding every login above, with Sai and Arvind invited."
   ]
  },
  {
   "id": "14.7",
   "title": "Changing this handbook",
   "department": "People and ways of working",
   "department_slug": "people-and-ways-of-working",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Front matter, statuses, checks, publishing",
   "urls": {
    "html": "https://handbook.joinsquareup.com/people-and-ways-of-working/changing-this-handbook",
    "markdown": "https://handbook.joinsquareup.com/people-and-ways-of-working/changing-this-handbook.md",
    "json": "https://handbook.joinsquareup.com/people-and-ways-of-working/changing-this-handbook.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Edit, check, snapshot, publish: one loop keeps this handbook honest",
    "points": [
     {
      "icon": "book",
      "text": "Every page keeps six parts in order and cites its sources on each Today line."
     },
     {
      "icon": "check",
      "text": "The check script must end with zero errors before anything is published."
     },
     {
      "icon": "lock",
      "text": "Only Param sets a page to verified; opinion pages get proposals, never direct edits."
     },
     {
      "icon": "clock",
      "text": "A 9 am scheduled run keeps pages fresh, with no snapshot, no deploy and no spend."
     },
     {
      "icon": "chat",
      "text": "Comments are not deployed yet, so they do not work today."
     }
    ],
    "stat": {
     "value": "12",
     "label": "steps in the change loop"
    },
    "decide": "Who besides Param may set a page to verified, and when do we take Handbook 1.0?",
    "mood": "building"
   },
   "open_questions": [
    "**Who besides Param may set a document to verified?** Proposal: only Param, until each department has a named owner; then the owner may verify their own department.",
    "**When is Handbook 1.0 taken?** No snapshot exists yet. Proposal: the day every department is written and `check.mjs` passes, before the first upload."
   ]
  },
  {
   "id": "14.8",
   "title": "Contractors and agencies",
   "department": "People and ways of working",
   "department_slug": "people-and-ways-of-working",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Who we work with outside the team, for what, on what terms",
   "urls": {
    "html": "https://handbook.joinsquareup.com/people-and-ways-of-working/contractors-and-agencies",
    "markdown": "https://handbook.joinsquareup.com/people-and-ways-of-working/contractors-and-agencies.md",
    "json": "https://handbook.joinsquareup.com/people-and-ways-of-working/contractors-and-agencies.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "No contractor or agency works with us yet",
    "points": [
     {
      "icon": "people",
      "text": "No contractor, freelancer or agency appears in any note, contract or rate."
     },
     {
      "icon": "box",
      "text": "Sloosh and Apify are tools we pay for, not contractors."
     },
     {
      "icon": "heart",
      "text": "One real need: an illustrator to redraw the winning brand direction."
     },
     {
      "icon": "lock",
      "text": "Proposed terms: we own everything, access ends on the last day, never production."
     }
    ],
    "stat": {
     "value": "6 to 7",
     "label": "out of 10, art cap"
    },
    "decide": "Hire a fixed-price illustrator once a direction is picked, for the character sheet and 12 poses?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Hire an illustrator once a direction is picked?** Proposal: yes, a fixed-price brief for the character sheet and 12 key poses, reviewed by Param and Sai.",
    "**Who signs contracts?** Proposal: Param, for the company, on a one-page template kept in Security, privacy and legal.",
    "**May a contractor run Claude sessions on brew?** Proposal: no, until they are onboarded like a teammate."
   ]
  },
  {
   "id": "15.1",
   "title": "Positioning",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "What we are, for whom, against what, the one line",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/positioning/dog",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/positioning/dog.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/positioning/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/product-marketing/positioning/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/product-marketing/positioning/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/product-marketing/positioning/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/product-marketing/positioning/cooker.json"
    }
   ],
   "tldr": {
    "headline": "This week's ideas, fetched: your store's marketing team in one feed",
    "points": [
     {
      "icon": "spark",
      "text": "Fetch sniffs your store, reviews, rivals and AI answers, then drops this week's picks."
     },
     {
      "icon": "map",
      "text": "We compare jobs, never brands: against a blank box, not named rivals."
     },
     {
      "icon": "lock",
      "text": "Fetch never says it posted, scheduled, or that your sales went up."
     },
     {
      "icon": "book",
      "text": "The tagline sits beside the roof line, never instead of it."
     },
     {
      "icon": "lock",
      "text": "In v1 it never posts, writes to accounts, sends to customers or measures."
     }
    ],
    "stat": {
     "value": "60",
     "label": "sources read today"
    },
    "decide": "Accept the proposed positioning statement: your store's marketing team, in one feed?",
    "mood": "waiting"
   },
   "open_questions": [
    "**The final positioning statement.** Proposal, to accept as is: \"For founders of online stores who are their own marketing team, the product is your store's marketing team, in one feed. It reads your store and everything said around it, and drafts this week's marketing with the proof beside every number, for you to pick and hand to whoever ships. Unlike a chat assistant or a design app, it starts from your own store, not a blank box.\" Fetch closes it with: This week's ideas, fetched.",
    "**Tool, team or service?** Proposal: team in the line, tool in search terms; test the say back in five partner calls before the site goes up.",
    "**Do we say AI in the line?** Proposal: no; open with the store, and say AI in the body copy.",
    "**Does the line name a country?** Proposal: no; the product is global, and India first is a go to market choice, not a position.",
    "**Does team mislead, since our team also ships briefs?** Proposal: keep it; our team appears only as one of the people you can hand off to, priced per brief."
   ]
  },
  {
   "id": "15.1",
   "title": "Positioning",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "What we are, for whom, against what, the one line",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/positioning/bee",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/positioning/bee.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/positioning/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/product-marketing/positioning/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/product-marketing/positioning/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/product-marketing/positioning/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/product-marketing/positioning/cooker.json"
    }
   ],
   "tldr": {
    "headline": "The whole hive, one bee: your store's marketing team in one feed",
    "points": [
     {
      "icon": "spark",
      "text": "Buzz reads your store, reviews, rivals and AI answers, then drafts the week."
     },
     {
      "icon": "map",
      "text": "We compare jobs, never brands: against a blank box, not named rivals."
     },
     {
      "icon": "lock",
      "text": "Buzz never says it posted, scheduled, or that your sales went up."
     },
     {
      "icon": "heart",
      "text": "Buzz only dances at things that are really there."
     },
     {
      "icon": "lock",
      "text": "In v1 it never posts, writes to accounts, sends to customers or measures."
     }
    ],
    "stat": {
     "value": "60",
     "label": "sources read today"
    },
    "decide": "Accept the proposed positioning statement: your store's marketing team, in one feed?",
    "mood": "waiting"
   },
   "open_questions": [
    "**The final positioning statement.** Proposal, to accept as is: \"For founders of online stores who are their own marketing team, the product is your store's marketing team, in one feed. It reads your store and everything said around it, and drafts this week's marketing with the proof beside every number, for you to pick and hand to whoever ships. Unlike a chat assistant or a design app, it starts from your own store, not a blank box.\" Buzz closes it with: The whole hive, one bee.",
    "**Tool, team or service?** Proposal: team in the line, tool in search terms; test the say back in five partner calls before the site goes up.",
    "**Do we say AI in the line?** Proposal: no; open with the store, and say AI in the body copy.",
    "**Does the line name a country?** Proposal: no; the product is global, and India first is a go to market choice, not a position.",
    "**Does team mislead, since our team also ships briefs?** Proposal: keep it; our team appears only as one of the people you can hand off to, priced per brief."
   ]
  },
  {
   "id": "15.1",
   "title": "Positioning",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "What we are, for whom, against what, the one line",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/positioning/raccoon",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/positioning/raccoon.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/positioning/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/product-marketing/positioning/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/product-marketing/positioning/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/product-marketing/positioning/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/product-marketing/positioning/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Scoop gathers everything said about your store and hands you the week",
    "points": [
     {
      "icon": "eye",
      "text": "Scoop reads public pages and read only connections, and says so."
     },
     {
      "icon": "map",
      "text": "We compare jobs, never brands; Scoop never names a rival."
     },
     {
      "icon": "lock",
      "text": "Scoop never says it posted, looked through your inbox, or lifted your sales."
     },
     {
      "icon": "book",
      "text": "The tagline sits beside the roof line, never instead of it."
     },
     {
      "icon": "lock",
      "text": "In v1 it never posts, writes to accounts, sends to customers or measures."
     }
    ],
    "stat": {
     "value": "60",
     "label": "sources read today"
    },
    "decide": "Accept the proposed positioning statement: your store's marketing team, in one feed?",
    "mood": "waiting"
   },
   "open_questions": [
    "**The final positioning statement.** Proposal, to accept as is: \"For founders of online stores who are their own marketing team, the product is your store's marketing team, in one feed. It reads your store and everything said around it, and drafts this week's marketing with the proof beside every number, for you to pick and hand to whoever ships. Unlike a chat assistant or a design app, it starts from your own store, not a blank box.\" Scoop closes it with: Everything everyone says about your store.",
    "**Tool, team or service?** Proposal: team in the line, tool in search terms; test the say back in five partner calls before the site goes up.",
    "**Do we say AI in the line?** Proposal: no; open with the store, and say AI in the body copy.",
    "**Does the line name a country?** Proposal: no; the product is global, and India first is a go to market choice, not a position.",
    "**Does team mislead, since our team also ships briefs?** Proposal: keep it; our team appears only as one of the people you can hand off to, priced per brief."
   ]
  },
  {
   "id": "15.1",
   "title": "Positioning",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "What we are, for whom, against what, the one line",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/positioning/octopus",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/positioning/octopus.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/positioning/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/product-marketing/positioning/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/product-marketing/positioning/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/product-marketing/positioning/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/product-marketing/positioning/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Eight arms on your marketing: your store's team in one feed",
    "points": [
     {
      "icon": "spark",
      "text": "Ocho reads your store and drafts the week: already drafted, you decide, easy to hand off."
     },
     {
      "icon": "map",
      "text": "We compare jobs, never brands: against a blank box, not named rivals."
     },
     {
      "icon": "lock",
      "text": "Ocho never says it posted, scheduled, or that your sales went up."
     },
     {
      "icon": "heart",
      "text": "Ocho's stress is always its own, never aimed at you."
     },
     {
      "icon": "lock",
      "text": "In v1 it never posts, writes to accounts, sends to customers or measures."
     }
    ],
    "stat": {
     "value": "60",
     "label": "sources read today"
    },
    "decide": "Accept the proposed positioning statement: your store's marketing team, in one feed?",
    "mood": "waiting"
   },
   "open_questions": [
    "**The final positioning statement.** Proposal, to accept as is: \"For founders of online stores who are their own marketing team, the product is your store's marketing team, in one feed. It reads your store and everything said around it, and drafts this week's marketing with the proof beside every number, for you to pick and hand to whoever ships. Unlike a chat assistant or a design app, it starts from your own store, not a blank box.\" Ocho closes it with: Eight arms on your marketing.",
    "**Tool, team or service?** Proposal: team in the line, tool in search terms; test the say back in five partner calls before the site goes up.",
    "**Do we say AI in the line?** Proposal: no; open with the store, and say AI in the body copy.",
    "**Does the line name a country?** Proposal: no; the product is global, and India first is a go to market choice, not a position.",
    "**Does team mislead, since our team also ships briefs?** Proposal: keep it; our team appears only as one of the people you can hand off to, priced per brief."
   ]
  },
  {
   "id": "15.1",
   "title": "Positioning",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "What we are, for whom, against what, the one line",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/positioning/cooker",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/positioning/cooker.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/positioning/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/product-marketing/positioning/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/product-marketing/positioning/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/product-marketing/positioning/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/product-marketing/positioning/octopus.json"
    }
   ],
   "tldr": {
    "headline": "This week's marketing, ready in a few whistles, cooked from your store",
    "points": [
     {
      "icon": "spark",
      "text": "Seeti cooks your store, reviews, rivals and AI answers into this week's specials."
     },
     {
      "icon": "map",
      "text": "We compare jobs, never brands: against a blank box, not named rivals."
     },
     {
      "icon": "lock",
      "text": "Seeti never says it posted, that your sales went up, or that time is running out."
     },
     {
      "icon": "heart",
      "text": "You stay the boss: nothing leaves the kitchen without you."
     },
     {
      "icon": "lock",
      "text": "In v1 it never posts, writes to accounts, sends to customers or measures."
     }
    ],
    "stat": {
     "value": "60",
     "label": "sources read today"
    },
    "decide": "Accept the proposed positioning statement: your store's marketing team, in one feed?",
    "mood": "waiting"
   },
   "open_questions": [
    "**The final positioning statement.** Proposal, to accept as is: \"For founders of online stores who are their own marketing team, the product is your store's marketing team, in one feed. It reads your store and everything said around it, and drafts this week's marketing with the proof beside every number, for you to pick and hand to whoever ships. Unlike a chat assistant or a design app, it starts from your own store, not a blank box.\" Seeti closes it with: This week's marketing, ready in a few whistles.",
    "**Tool, team or service?** Proposal: team in the line, tool in search terms; test the say back in five partner calls before the site goes up.",
    "**Do we say AI in the line?** Proposal: no; open with the store, and say AI in the body copy.",
    "**Does the line name a country?** Proposal: no; the product is global, and India first is a go to market choice, not a position.",
    "**Does team mislead, since our team also ships briefs?** Proposal: keep it; our team appears only as one of the people you can hand off to, priced per brief."
   ]
  },
  {
   "id": "15.2",
   "title": "Messaging framework",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "The message house, then the message for each persona and each stage",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/dog",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/dog.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/cooker.json"
    }
   ],
   "tldr": {
    "headline": "One roof line, four pillars, and Fetch fetching the week",
    "points": [
     {
      "icon": "book",
      "text": "The roof line is the live landing line; pillars: drafted, own store, you decide, hand off."
     },
     {
      "icon": "chat",
      "text": "Fetch's line sits beside the plain words: Throw it, Sniffing round, The drop, Drop it."
     },
     {
      "icon": "heart",
      "text": "Founder hook for Instagram: You throw the link. It brings back the week."
     },
     {
      "icon": "lock",
      "text": "Fetch steps out for money, privacy, apologies and anything a person signs."
     },
     {
      "icon": "flag",
      "text": "Later powers are never spoken about before they ship."
     }
    ],
    "stat": {
     "value": "3 to 4",
     "label": "minutes for a read"
    },
    "decide": "Is the roof line final: your store's marketing team, in one feed?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Is the roof line final?** Proposal: yes, Your store's marketing team, in one feed, the line already live.",
    "**Do the three jobs become public words?** Proposal: yes in the product and the docs as how picks are grouped; keep the four pillars as the message.",
    "**Which of Fetch's hooks leads?** Proposal: the founder hook on Instagram first: You throw the link. It brings back the week.",
    "**Does Fetch's own pillar wording replace the shared one?** Proposal: no; the shared pillars stay, and Fetch's wording lives only in its posts and reels."
   ]
  },
  {
   "id": "15.2",
   "title": "Messaging framework",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "The message house, then the message for each persona and each stage",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/bee",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/bee.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/cooker.json"
    }
   ],
   "tldr": {
    "headline": "One roof line, four pillars, and Buzz buzzing round the week",
    "points": [
     {
      "icon": "book",
      "text": "The roof line is the live landing line; pillars: drafted, own store, you decide, hand off."
     },
     {
      "icon": "chat",
      "text": "Buzz's line sits beside the plain words: Show me your garden, Best blooms, Pass the pollen."
     },
     {
      "icon": "heart",
      "text": "Founder hook for Instagram: You have two hands. Borrow a hive."
     },
     {
      "icon": "lock",
      "text": "Buzz steps out for money, privacy, apologies and anything a person signs."
     },
     {
      "icon": "flag",
      "text": "Later powers are never spoken about before they ship."
     }
    ],
    "stat": {
     "value": "3 to 4",
     "label": "minutes for a read"
    },
    "decide": "Is the roof line final: your store's marketing team, in one feed?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Is the roof line final?** Proposal: yes, Your store's marketing team, in one feed, the line already live.",
    "**Do the three jobs become public words?** Proposal: yes in the product and the docs as how picks are grouped; keep the four pillars as the message.",
    "**Which of Buzz's hooks leads?** Proposal: the founder hook on Instagram first: You have two hands. Borrow a hive.",
    "**Does Buzz's own pillar wording replace the shared one?** Proposal: no; the shared pillars stay, and Buzz's wording lives only in its posts and reels."
   ]
  },
  {
   "id": "15.2",
   "title": "Messaging framework",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "The message house, then the message for each persona and each stage",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/raccoon",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/raccoon.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/cooker.json"
    }
   ],
   "tldr": {
    "headline": "One roof line, a floor of proof, and Scoop dishing the week",
    "points": [
     {
      "icon": "book",
      "text": "Scoop's house: it reads what you have no time to, drafts, and you decide."
     },
     {
      "icon": "eye",
      "text": "Scoop says what the read looks at: public pages, plus read only connections."
     },
     {
      "icon": "heart",
      "text": "Founder hook for Instagram: You do not have time to read every review. Scoop does."
     },
     {
      "icon": "lock",
      "text": "Scoop never names a rival, and a person handles money, privacy and apologies."
     },
     {
      "icon": "flag",
      "text": "Later powers are never spoken about before they ship."
     }
    ],
    "stat": {
     "value": "3 to 4",
     "label": "minutes for a read"
    },
    "decide": "Is the roof line final: your store's marketing team, in one feed?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Is the roof line final?** Proposal: yes, Your store's marketing team, in one feed, the line already live.",
    "**Do the three jobs become public words?** Proposal: yes in the product and the docs as how picks are grouped; keep the four pillars as the message.",
    "**Which of Scoop's hooks leads?** Proposal: the founder hook on Instagram first: You do not have time to read every review. Scoop does.",
    "**Does Scoop's own pillar wording replace the shared one?** Proposal: no; the shared pillars stay, and Scoop's wording lives only in its posts and reels."
   ]
  },
  {
   "id": "15.2",
   "title": "Messaging framework",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "The message house, then the message for each persona and each stage",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/octopus",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/octopus.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/cooker.json"
    }
   ],
   "tldr": {
    "headline": "One roof line, four pillars, and Ocho on all eight arms",
    "points": [
     {
      "icon": "book",
      "text": "Three short beats over the founder's product: already drafted, you decide, easy to hand off."
     },
     {
      "icon": "chat",
      "text": "Ocho's line sits beside the plain words: Pass it here, Ink it, Free an arm."
     },
     {
      "icon": "heart",
      "text": "Founder hook for Instagram: You have two arms. Borrow eight."
     },
     {
      "icon": "lock",
      "text": "Ocho steps out for money, privacy, apologies and anything a person signs."
     },
     {
      "icon": "flag",
      "text": "Later powers are never spoken about before they ship."
     }
    ],
    "stat": {
     "value": "3 to 4",
     "label": "minutes for a read"
    },
    "decide": "Is the roof line final: your store's marketing team, in one feed?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Is the roof line final?** Proposal: yes, Your store's marketing team, in one feed, the line already live.",
    "**Do the three jobs become public words?** Proposal: yes in the product and the docs as how picks are grouped; keep the four pillars as the message.",
    "**Which of Ocho's hooks leads?** Proposal: the founder hook on Instagram first: You have two arms. Borrow eight.",
    "**Does Ocho's own pillar wording replace the shared one?** Proposal: no; the shared pillars stay, and Ocho's wording lives only in its posts and reels."
   ]
  },
  {
   "id": "15.2",
   "title": "Messaging framework",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "The message house, then the message for each persona and each stage",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/cooker",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/cooker.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/product-marketing/messaging-framework/octopus.json"
    }
   ],
   "tldr": {
    "headline": "One roof line, three pillars, and Seeti cooking the week",
    "points": [
     {
      "icon": "book",
      "text": "Seeti's pillars: already drafted, from your own store, and you stay the boss."
     },
     {
      "icon": "chat",
      "text": "Seeti's line sits beside the plain words: Into the pot, This week's specials, Order ticket."
     },
     {
      "icon": "heart",
      "text": "Founder hook for Instagram: Your week's marketing, cooked by Monday."
     },
     {
      "icon": "lock",
      "text": "Seeti stays out of money, privacy, apologies and support; people write those."
     },
     {
      "icon": "flag",
      "text": "Later powers are never spoken about before they ship."
     }
    ],
    "stat": {
     "value": "3 to 4",
     "label": "minutes for a read"
    },
    "decide": "Is the roof line final: your store's marketing team, in one feed?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Is the roof line final?** Proposal: yes, Your store's marketing team, in one feed, the line already live.",
    "**Do the three jobs become public words?** Proposal: yes in the product and the docs as how picks are grouped; keep the four pillars as the message.",
    "**Which of Seeti's hooks leads?** Proposal: the founder hook on Instagram first: Your week's marketing, cooked by Monday.",
    "**Does Seeti's own pillar wording replace the shared one?** Proposal: no; the shared pillars stay, and Seeti's wording lives only in its posts and reels."
   ]
  },
  {
   "id": "15.3",
   "title": "Value proposition by persona",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "The promise, the proof and the payoff for each persona",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/value-proposition-by-persona",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/value-proposition-by-persona.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/value-proposition-by-persona.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Seven people, one promise each, proof they open in their own read",
    "points": [
     {
      "icon": "spark",
      "text": "The shared promise: paste your store, get this week's ideas drafted, pick, hand off."
     },
     {
      "icon": "people",
      "text": "Founder, marketer, specialist, agency, brief reader, approver and our team each get one."
     },
     {
      "icon": "eye",
      "text": "Every proof is a screen they can open, such as Why this on a card."
     },
     {
      "icon": "warn",
      "text": "Payoffs are time or confidence, never sales; ten minutes is an aim, not a result."
     },
     {
      "icon": "flag",
      "text": "Agencies get no brand switcher yet; each client is its own invite."
     }
    ],
    "stat": {
     "value": "7",
     "label": "people who touch Brew"
    },
    "decide": "Which persona does every public page lead with: the founder who is the marketing team?",
    "mood": "building"
   },
   "open_questions": [
    "**Which persona does every public page lead with?** Proposal: the founder who is the marketing team; the others get their own page or slide.",
    "**Do we promise anything to agencies before the brand switcher?** Proposal: only the brief written for them, and say plainly that each client is its own invite.",
    "**Do we keep the ten minutes as a public line?** Proposal: no, until it is measured; say the week, already drafted, instead."
   ]
  },
  {
   "id": "15.4",
   "title": "Competitive intelligence",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Agencies, tools, freelancers and AI tools on the same rows, plus a battlecard for each",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/competitive-intelligence",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/competitive-intelligence.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/competitive-intelligence.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "We compare jobs, not brands, because no named rival list exists yet",
    "points": [
     {
      "icon": "map",
      "text": "Seven alternatives founders use instead, from doing it themselves to review apps and analytics."
     },
     {
      "icon": "warn",
      "text": "No named tool, price or feature of another company is recorded in our sources."
     },
     {
      "icon": "eye",
      "text": "Weak spots today: we do not post, schedule, run ads or measure in v1."
     },
     {
      "icon": "chat",
      "text": "One battlecard per category for calls, never on a public page with a name."
     },
     {
      "icon": "lock",
      "text": "If a founder asks for a head to head, offer a read of their store."
     }
    ],
    "stat": null,
    "decide": "Which named tools do we research first, and do we spend on it?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Which named tools do we research first?** No source names any. Proposal: the first three that design partners name in calls, nothing before.",
    "**May we spend on competitor research?** Proposal: free pages and the Ad Library only until the partnership ends.",
    "**Do we ever publish a comparison page?** Proposal: no; compare jobs in public and offer a read instead.",
    "**Is our team a competitor to agencies, since it ships briefs?** Proposal: no; say our team is one of the people a brand can hand off to, priced per brief, never bundled."
   ]
  },
  {
   "id": "15.5",
   "title": "Launch tiers and playbooks",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "What a tier one, two or three launch gets; the playbook for each version, v1 to v4",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/launch-tiers-and-playbooks",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/launch-tiers-and-playbooks.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/launch-tiers-and-playbooks.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Three launch tiers, one playbook per version, and no launch date",
    "points": [
     {
      "icon": "rocket",
      "text": "Tier one is a new version, tier two a new thing, tier three a fix."
     },
     {
      "icon": "people",
      "text": "For tier one, a founder tells each partner first, before any public word."
     },
     {
      "icon": "flag",
      "text": "A version is never announced before it is live on production."
     },
     {
      "icon": "clock",
      "text": "Reads open in small batches as partners say it works."
     },
     {
      "icon": "warn",
      "text": "No launch date, public launch day, product name or first market is decided."
     }
    ],
    "stat": {
     "value": "12",
     "label": "months customers keep price"
    },
    "decide": "Is there a public launch day at all, or do reads open in batches?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Is there a public launch day at all?** Proposal: no single day; open reads in small batches and treat v2 as the first tier one launch.",
    "**Who calls the tier?** Proposal: Param, at planning, in the release's first line.",
    "**Does the name come before any launch?** Proposal: yes; no tier one or two launch goes public before the name and the direction are picked.",
    "**When do reads open past the five partners?** Proposal: when two partners hand off weekly for three weeks running, the same bar as v2 planning."
   ]
  },
  {
   "id": "15.6",
   "title": "Release notes",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": null,
   "branded": false,
   "status": "generated",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "What changed for brands, in their words, from the changelog",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/release-notes",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/release-notes.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/release-notes.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Two weeks of Brand Books, safer claims and sturdier jams",
    "points": [
     {
      "icon": "book",
      "text": "23 Oct: the Brand Book page, a whole brand profile every maker reads."
     },
     {
      "icon": "check",
      "text": "Claims are checked wherever shoppers read, and unbacked ones are dropped or mended."
     },
     {
      "icon": "eye",
      "text": "25 Oct: every product picture is judged before it shows, with collages held back."
     },
     {
      "icon": "gear",
      "text": "Jams resume after restarts, and each deliverable has its own brief and recipient."
     },
     {
      "icon": "rocket",
      "text": "26 Oct: one paid make per board, and copy naming a bundle gets the bundle."
     }
    ],
    "stat": {
     "value": "$0.50",
     "label": "weekly enrichment cap a brand"
    },
    "decide": null,
    "mood": "solid"
   },
   "open_questions": []
  },
  {
   "id": "15.7",
   "title": "Sales enablement kit",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "One pager, pitch deck, demo story, the five-minute version",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/dog",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/dog.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/cooker.json"
    }
   ],
   "tldr": {
    "headline": "One pager, five slides, a demo, and Fetch fetching the pitch",
    "points": [
     {
      "icon": "warn",
      "text": "No finished one pager or deck exists yet; the kit is written, not designed."
     },
     {
      "icon": "book",
      "text": "Every piece opens: Your store's marketing team, in one feed."
     },
     {
      "icon": "lock",
      "text": "Never a price, a partner's name, a rival's name, a result, or a claim it posts."
     },
     {
      "icon": "heart",
      "text": "Fetch sits on slide 1 and the end card only, tagline: This week's ideas, fetched."
     },
     {
      "icon": "chat",
      "text": "Close every call by offering a read of the founder's own store."
     }
    ],
    "stat": {
     "value": "$6",
     "label": "per live read"
    },
    "decide": "Where do the one pager and slides live, and when are they made?",
    "mood": "building"
   },
   "open_questions": [
    "**Where do the one pager and slides live?** Proposal: one published deck and one page in the chosen direction, made once the direction is picked; until then, the spoken version and the demo only.",
    "**Does Fetch appear in an investor pitch?** Proposal: on the cover and end card only; the story is the product.",
    "**Do we show a partner's read on slide 3?** Proposal: only with that partner's written yes; otherwise the sample candle store, labelled Sample.",
    "**Who may send the leave behind?** Proposal: Param, Sai or Arvind, from their own email."
   ]
  },
  {
   "id": "15.7",
   "title": "Sales enablement kit",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "One pager, pitch deck, demo story, the five-minute version",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/bee",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/bee.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/cooker.json"
    }
   ],
   "tldr": {
    "headline": "One pager, five slides, a demo, and Buzz humming along",
    "points": [
     {
      "icon": "warn",
      "text": "No finished one pager or deck exists yet; the kit is written, not designed."
     },
     {
      "icon": "book",
      "text": "Every piece opens: Your store's marketing team, in one feed."
     },
     {
      "icon": "lock",
      "text": "Never a price, a partner's name, a rival's name, a result, or a claim it posts."
     },
     {
      "icon": "heart",
      "text": "Buzz sits on slide 1 and the end card only, tagline: The whole hive, one bee."
     },
     {
      "icon": "chat",
      "text": "Close every call by offering a read of the founder's own store."
     }
    ],
    "stat": {
     "value": "$6",
     "label": "per live read"
    },
    "decide": "Where do the one pager and slides live, and when are they made?",
    "mood": "building"
   },
   "open_questions": [
    "**Where do the one pager and slides live?** Proposal: one published deck and one page in the chosen direction, made once the direction is picked; until then, the spoken version and the demo only.",
    "**Does Buzz appear in an investor pitch?** Proposal: on the cover and end card only; the story is the product.",
    "**Do we show a partner's read on slide 3?** Proposal: only with that partner's written yes; otherwise the sample candle store, labelled Sample.",
    "**Who may send the leave behind?** Proposal: Param, Sai or Arvind, from their own email."
   ]
  },
  {
   "id": "15.7",
   "title": "Sales enablement kit",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "One pager, pitch deck, demo story, the five-minute version",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/raccoon",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/raccoon.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/cooker.json"
    }
   ],
   "tldr": {
    "headline": "One pager, five slides, a demo, and Scoop dishing the pitch",
    "points": [
     {
      "icon": "warn",
      "text": "No finished one pager or deck exists yet; the kit is written, not designed."
     },
     {
      "icon": "book",
      "text": "Every piece opens: Your store's marketing team, in one feed."
     },
     {
      "icon": "lock",
      "text": "Never a price, a partner's name, a rival's name, a result, or a claim it posts."
     },
     {
      "icon": "heart",
      "text": "Scoop sits on slide 1 and the end card only: Everything everyone says about your store."
     },
     {
      "icon": "chat",
      "text": "Close every call by offering a read of the founder's own store."
     }
    ],
    "stat": {
     "value": "$6",
     "label": "per live read"
    },
    "decide": "Where do the one pager and slides live, and when are they made?",
    "mood": "building"
   },
   "open_questions": [
    "**Where do the one pager and slides live?** Proposal: one published deck and one page in the chosen direction, made once the direction is picked; until then, the spoken version and the demo only.",
    "**Does Scoop appear in an investor pitch?** Proposal: on the cover and end card only; the story is the product.",
    "**Do we show a partner's read on slide 3?** Proposal: only with that partner's written yes; otherwise the sample candle store, labelled Sample.",
    "**Who may send the leave behind?** Proposal: Param, Sai or Arvind, from their own email."
   ]
  },
  {
   "id": "15.7",
   "title": "Sales enablement kit",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "One pager, pitch deck, demo story, the five-minute version",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/octopus",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/octopus.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/cooker.json"
    }
   ],
   "tldr": {
    "headline": "One pager, five slides, a demo, and Ocho on every arm",
    "points": [
     {
      "icon": "warn",
      "text": "No finished one pager or deck exists yet; the kit is written, not designed."
     },
     {
      "icon": "book",
      "text": "Every piece opens: Your store's marketing team, in one feed."
     },
     {
      "icon": "lock",
      "text": "Never a price, a partner's name, a rival's name, a result, or a claim it posts."
     },
     {
      "icon": "heart",
      "text": "Ocho sits on slide 1 and the end card only: Eight arms on your marketing."
     },
     {
      "icon": "chat",
      "text": "Close every call by offering a read of the founder's own store."
     }
    ],
    "stat": {
     "value": "$6",
     "label": "per live read"
    },
    "decide": "Where do the one pager and slides live, and when are they made?",
    "mood": "building"
   },
   "open_questions": [
    "**Where do the one pager and slides live?** Proposal: one published deck and one page in the chosen direction, made once the direction is picked; until then, the spoken version and the demo only.",
    "**Does Ocho appear in an investor pitch?** Proposal: on the cover and end card only; the story is the product.",
    "**Do we show a partner's read on slide 3?** Proposal: only with that partner's written yes; otherwise the sample candle store, labelled Sample.",
    "**Who may send the leave behind?** Proposal: Param, Sai or Arvind, from their own email."
   ]
  },
  {
   "id": "15.7",
   "title": "Sales enablement kit",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "One pager, pitch deck, demo story, the five-minute version",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/cooker",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/cooker.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/product-marketing/sales-enablement-kit/octopus.json"
    }
   ],
   "tldr": {
    "headline": "One pager, five slides, a demo, and Seeti whistling the pitch",
    "points": [
     {
      "icon": "warn",
      "text": "No finished one pager or deck exists yet; the kit is written, not designed."
     },
     {
      "icon": "book",
      "text": "Every piece opens: Your store's marketing team, in one feed."
     },
     {
      "icon": "lock",
      "text": "Never a price, a partner's name, a rival's name, a result, or a claim it posts."
     },
     {
      "icon": "heart",
      "text": "Seeti sits on slide 1 and the end card only, never on buttons or numbers tables."
     },
     {
      "icon": "chat",
      "text": "Close every call by offering a read of the founder's own store."
     }
    ],
    "stat": {
     "value": "$6",
     "label": "per live read"
    },
    "decide": "Where do the one pager and slides live, and when are they made?",
    "mood": "building"
   },
   "open_questions": [
    "**Where do the one pager and slides live?** Proposal: one published deck and one page in the chosen direction, made once the direction is picked; until then, the spoken version and the demo only.",
    "**Does Seeti appear in an investor pitch?** Proposal: on the cover and end card only; the story is the product.",
    "**Do we show a partner's read on slide 3?** Proposal: only with that partner's written yes; otherwise the sample candle store, labelled Sample.",
    "**Who may send the leave behind?** Proposal: Param, Sai or Arvind, from their own email."
   ]
  },
  {
   "id": "15.8",
   "title": "Objections and answers",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Every objection heard, with the honest answer",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/objections-and-answers",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/objections-and-answers.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/objections-and-answers.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Every objection we expect, answered honestly with the screen to show",
    "points": [
     {
      "icon": "chat",
      "text": "Agree with the worry first, then say what it does today and show the screen."
     },
     {
      "icon": "lock",
      "text": "No posting, no budget changes: connections are read only; posting with your yes is v2."
     },
     {
      "icon": "clock",
      "text": "If the answer is not yet, name the version that brings it, never a date."
     },
     {
      "icon": "warn",
      "text": "No objection has been logged from a real call yet."
     },
     {
      "icon": "heart",
      "text": "Privacy and money are answered by a named person, never by the character."
     }
    ],
    "stat": {
     "value": "7",
     "label": "days to delete data"
    },
    "decide": "Do drafts or reads train anyone's AI model, and how long do we keep data?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Do drafts or reads train anyone's AI model?** No source answers it. Proposal: check the Vertex terms for our project, then add one line to the privacy page and a row here.",
    "**How long do we keep data after a brand leaves?** No source says. Proposal: 90 days, then delete, written into the privacy page.",
    "**What do we say to a store that is not a fit?** Proposal: say so plainly and offer the demo stores instead of a read.",
    "**Do we name Gemini in public?** Proposal: yes, as Google Cloud's AI, since the privacy page already says AI models on Google Cloud."
   ]
  },
  {
   "id": "15.9",
   "title": "Claims we can make",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "What we may promise, with proof for each",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/claims-we-can-make",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/claims-we-can-make.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/claims-we-can-make.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "If a claim is not on this page, nobody says it",
    "points": [
     {
      "icon": "check",
      "text": "Each allowed claim comes with its exact words and the code that proves it."
     },
     {
      "icon": "lock",
      "text": "Never say it posts, sends, schedules or measures, or quote a lift, logo or customer."
     },
     {
      "icon": "chart",
      "text": "Quote only counted figures: 60 sources read today and about 3 to 4 minutes per read."
     },
     {
      "icon": "warn",
      "text": "Three places still break the rules: sample cards, the landing foot line, preview terms."
     },
     {
      "icon": "flag",
      "text": "Retired wording stays on file as wrong, never deleted."
     }
    ],
    "stat": {
     "value": "60",
     "label": "sources read today"
    },
    "decide": "Do we quote 60 sources in public, and retire the about 160 cards line for good?",
    "mood": "building"
   },
   "open_questions": [
    "**Do we retire about 160 cards for good?** Proposal: yes; quote no card count until a partner's feed is counted on the day.",
    "**Do we say 60 sources in public?** Proposal: yes, as \"reads 60 sources today\", since the inventory backs it and it is checked by the docs truth check.",
    "**Do we name the AI tools we check?** Proposal: yes, ChatGPT, Gemini, Perplexity and Claude, since the weekly check asks them; under Gemini the Claude ask is skipped, so check the setting before a campaign.",
    "**May we name the partner behind 12 of 32?** Proposal: no; keep it as an example finding from one brand's read until that partner says yes in writing.",
    "**Who fixes the three places that break the rules?** Proposal: one product change in the next release, checked on staging."
   ]
  },
  {
   "id": "15.10",
   "title": "Customer stories and proof",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Partner results we can share, with permission",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/customer-stories-and-proof",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/customer-stories-and-proof.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/customer-stories-and-proof.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "No partner has said yes in writing, so no stories yet",
    "points": [
     {
      "icon": "lock",
      "text": "Nothing of a partner's appears without a written yes for each use."
     },
     {
      "icon": "warn",
      "text": "v1 measures nothing, so no partner result exists to tell."
     },
     {
      "icon": "chart",
      "text": "Our only partner figures are read findings, which describe a store, not a result."
     },
     {
      "icon": "book",
      "text": "Four story types grow with versions; a template and the ask are ready."
     },
     {
      "icon": "people",
      "text": "Ask only after a partner's second Monday of hand offs, in a personal email."
     }
    ],
    "stat": {
     "value": "12 of 32",
     "label": "AI answers named one partner"
    },
    "decide": "Which partner do we ask first, and is it Arata?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Which partner do we ask first?** Proposal: Arata, since it is furthest along and has real accounts connected, after its next weekly hand off.",
    "**What is the first story, before results exist?** Proposal: a finding from their read, with their yes, told as what we found, never as a result.",
    "**Who asks?** Proposal: Param, in a personal email, never a form.",
    "**Is Gully Labs still a partner we may ask?** Proposal: treat it as a past prospect and do not ask until Param confirms."
   ]
  },
  {
   "id": "15.11",
   "title": "Pricing and packaging story",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "How we explain the price and what is in each plan",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/pricing-and-packaging-story",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/pricing-and-packaging-story.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/pricing-and-packaging-story.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Free in the preview now; later one plan plus a keep wallet",
    "points": [
     {
      "icon": "lock",
      "text": "Today the whole story is free during the preview; quote no number while pricing is parked."
     },
     {
      "icon": "money",
      "text": "Proposed story: one plan for the thinking, a wallet for pieces you keep."
     },
     {
      "icon": "heart",
      "text": "The price shows on the button, and you pay only when you keep a piece."
     },
     {
      "icon": "book",
      "text": "Say plan, wallet, keep; never credits, tokens, seats, tiers or percent off."
     },
     {
      "icon": "flag",
      "text": "The old three tier credits draft is replaced."
     }
    ],
    "stat": {
     "value": "14",
     "label": "day trial, no card"
    },
    "decide": "Is wallet the word brands see, and do we show dollars and rupees together?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Is \"wallet\" the word brands see?** Proposal: yes; it says real money and avoids credits.",
    "**Do we show $ and ₹ side by side?** Proposal: no; show the visitor's market only, ₹ in India and $ elsewhere.",
    "**Do we tell partners their price for life now?** Proposal: not until Param and Sai agree the proposal; then in a personal note, before any public page.",
    "**Do the plan's internal words, the brain and the hands, appear in public?** Proposal: no; say what it thinks and what it makes."
   ]
  },
  {
   "id": "15.12",
   "title": "Win and loss",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Why brands say yes or no, from every conversation",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/win-and-loss",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/win-and-loss.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/win-and-loss.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "No win or loss is recorded yet, so we start the record",
    "points": [
     {
      "icon": "warn",
      "text": "Nothing is logged in any source, and the pipeline holds only five prospects."
     },
     {
      "icon": "book",
      "text": "One record per ended conversation: won, lost or paused, with the reason in their words."
     },
     {
      "icon": "clock",
      "text": "Review every reason on the first Monday of each month and pick one change."
     },
     {
      "icon": "lock",
      "text": "Never write a reason we guessed; if they did not say it, write not said."
     }
    ],
    "stat": null,
    "decide": "What did each of the five partners say when they agreed, and why did Gully Labs drop off?",
    "mood": "waiting"
   },
   "open_questions": [
    "**What did each of the five partners say when they agreed?** No source records it. Proposal: Param writes one record for each from memory, marked as recalled, this week.",
    "**Why did Gully Labs drop off the list?** Proposal: Param writes its record as paused or lost with the reason it gave.",
    "**Where do records live?** Proposal: on this page while there are fewer than twenty; move to the pipeline sheet after.",
    "**Who asks the three questions?** Proposal: whoever had the last call, within a week."
   ]
  },
  {
   "id": "15.13",
   "title": "Product pages and explainers",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "The page and the short video for each part of the loop",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/dog",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/dog.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Home page, ask page and five explainers, with Fetch fetching the story",
    "points": [
     {
      "icon": "warn",
      "text": "No marketing site exists; the app's start page is the landing today."
     },
     {
      "icon": "map",
      "text": "Pages: home, ask for a read, brief page and Brand Book, plus five 30 second explainers."
     },
     {
      "icon": "flag",
      "text": "Fix the landing's unlabelled sample cards and foot line in the first release."
     },
     {
      "icon": "heart",
      "text": "Fetch sits small in the corner and never on a button: Fetched for you."
     },
     {
      "icon": "lock",
      "text": "No partner logos, customer counts or testimonials; invented examples carry a visible Sample label."
     }
    ],
    "stat": {
     "value": "3 to 4",
     "label": "minutes for a read"
    },
    "decide": "Which domain do the pages live on, and is it one page or two?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Which domain do the pages live on?** Proposal: decide it with the name; keep feed.joinsquareup.com as the app.",
    "**One page or two, home and ask?** Proposal: one page, with the ask as its last block, and the Full state on the same page.",
    "**Where do explainers live?** Proposal: on the home page under each block, and the same cuts on Instagram.",
    "**What replaces the landing's unlabelled sample cards?** Proposal: label them Sample now, and swap in a partner's finding only with written yes."
   ]
  },
  {
   "id": "15.13",
   "title": "Product pages and explainers",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "The page and the short video for each part of the loop",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/bee",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/bee.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Home page, ask page and five explainers, with Buzz buzzing along",
    "points": [
     {
      "icon": "warn",
      "text": "No marketing site exists; the app's start page is the landing today."
     },
     {
      "icon": "map",
      "text": "Pages: home, ask for a read, brief page and Brand Book, plus five 30 second explainers."
     },
     {
      "icon": "flag",
      "text": "Fix the landing's unlabelled sample cards and foot line in the first release."
     },
     {
      "icon": "heart",
      "text": "Buzz never sits on a button; the running joke is the pollen count."
     },
     {
      "icon": "lock",
      "text": "No partner logos, customer counts or testimonials; invented examples carry a visible Sample label."
     }
    ],
    "stat": {
     "value": "3 to 4",
     "label": "minutes for a read"
    },
    "decide": "Which domain do the pages live on, and is it one page or two?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Which domain do the pages live on?** Proposal: decide it with the name; keep feed.joinsquareup.com as the app.",
    "**One page or two, home and ask?** Proposal: one page, with the ask as its last block, and the Full state on the same page.",
    "**Where do explainers live?** Proposal: on the home page under each block, and the same cuts on Instagram.",
    "**What replaces the landing's unlabelled sample cards?** Proposal: label them Sample now, and swap in a partner's finding only with written yes."
   ]
  },
  {
   "id": "15.13",
   "title": "Product pages and explainers",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "The page and the short video for each part of the loop",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/raccoon",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/raccoon.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Home page, ask page and five explainers, with Scoop dishing",
    "points": [
     {
      "icon": "warn",
      "text": "No marketing site exists; the app's start page is the landing today."
     },
     {
      "icon": "map",
      "text": "Pages: home, ask for a read, brief page and Brand Book, plus five 30 second explainers."
     },
     {
      "icon": "flag",
      "text": "Fix the landing's unlabelled sample cards and foot line in the first release."
     },
     {
      "icon": "heart",
      "text": "Scoop never sits on a button; the joke is forty one tallies, crossed out."
     },
     {
      "icon": "lock",
      "text": "No partner logos, customer counts or testimonials; invented examples carry a visible Sample label."
     }
    ],
    "stat": {
     "value": "3 to 4",
     "label": "minutes for a read"
    },
    "decide": "Which domain do the pages live on, and is it one page or two?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Which domain do the pages live on?** Proposal: decide it with the name; keep feed.joinsquareup.com as the app.",
    "**One page or two, home and ask?** Proposal: one page, with the ask as its last block, and the Full state on the same page.",
    "**Where do explainers live?** Proposal: on the home page under each block, and the same cuts on Instagram.",
    "**What replaces the landing's unlabelled sample cards?** Proposal: label them Sample now, and swap in a partner's finding only with written yes."
   ]
  },
  {
   "id": "15.13",
   "title": "Product pages and explainers",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "The page and the short video for each part of the loop",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/octopus",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/octopus.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Home page, ask page and five explainers, with Ocho on every arm",
    "points": [
     {
      "icon": "warn",
      "text": "No marketing site exists; the app's start page is the landing today."
     },
     {
      "icon": "map",
      "text": "Pages: home, ask for a read, brief page and Brand Book, plus five 30 second explainers."
     },
     {
      "icon": "flag",
      "text": "Fix the landing's unlabelled sample cards and foot line in the first release."
     },
     {
      "icon": "heart",
      "text": "Ocho never sits on a button; the joke is a coffee count, one more than admitted."
     },
     {
      "icon": "lock",
      "text": "No partner logos, customer counts or testimonials; invented examples carry a visible Sample label."
     }
    ],
    "stat": {
     "value": "3 to 4",
     "label": "minutes for a read"
    },
    "decide": "Which domain do the pages live on, and is it one page or two?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Which domain do the pages live on?** Proposal: decide it with the name; keep feed.joinsquareup.com as the app.",
    "**One page or two, home and ask?** Proposal: one page, with the ask as its last block, and the Full state on the same page.",
    "**Where do explainers live?** Proposal: on the home page under each block, and the same cuts on Instagram.",
    "**What replaces the landing's unlabelled sample cards?** Proposal: label them Sample now, and swap in a partner's finding only with written yes."
   ]
  },
  {
   "id": "15.13",
   "title": "Product pages and explainers",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "The page and the short video for each part of the loop",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/cooker",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/cooker.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/product-marketing/product-pages-and-explainers/octopus.json"
    }
   ],
   "tldr": {
    "headline": "Home page, ask page and five explainers, with Seeti whistling",
    "points": [
     {
      "icon": "warn",
      "text": "No marketing site exists; the app's start page is the landing today."
     },
     {
      "icon": "map",
      "text": "Pages: home, ask for a read, brief page and Brand Book, plus five 30 second explainers."
     },
     {
      "icon": "flag",
      "text": "Fix the landing's unlabelled sample cards and foot line in the first release."
     },
     {
      "icon": "heart",
      "text": "Seeti never sits on a button; the joke is nobody lifts the lid early."
     },
     {
      "icon": "lock",
      "text": "No partner logos, customer counts or testimonials; invented examples carry a visible Sample label."
     }
    ],
    "stat": {
     "value": "3 to 4",
     "label": "minutes for a read"
    },
    "decide": "Which domain do the pages live on, and is it one page or two?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Which domain do the pages live on?** Proposal: decide it with the name; keep feed.joinsquareup.com as the app.",
    "**One page or two, home and ask?** Proposal: one page, with the ask as its last block, and the Full state on the same page.",
    "**Where do explainers live?** Proposal: on the home page under each block, and the same cuts on Instagram.",
    "**What replaces the landing's unlabelled sample cards?** Proposal: label them Sample now, and swap in a partner's finding only with written yes."
   ]
  },
  {
   "id": "15.14",
   "title": "How AI answers describe us",
   "department": "Product marketing",
   "department_slug": "product-marketing",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "What ChatGPT, Gemini and others say about us, and the fix",
   "urls": {
    "html": "https://handbook.joinsquareup.com/product-marketing/how-ai-answers-describe-us",
    "markdown": "https://handbook.joinsquareup.com/product-marketing/how-ai-answers-describe-us.md",
    "json": "https://handbook.joinsquareup.com/product-marketing/how-ai-answers-describe-us.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Nobody has asked ChatGPT, Gemini or friends about us yet",
    "points": [
     {
      "icon": "warn",
      "text": "No check has run, and no name is picked, so there is nothing to search."
     },
     {
      "icon": "eye",
      "text": "Our landing has the title Brew and no description, so AI tools have little to read."
     },
     {
      "icon": "gear",
      "text": "We already run a weekly brand check on ChatGPT, Gemini, Perplexity and Claude."
     },
     {
      "icon": "money",
      "text": "Proposed: our own question set, weekly, starting the week the name is picked."
     },
     {
      "icon": "lock",
      "text": "Never write a page to game an answer with claims we cannot back."
     }
    ],
    "stat": {
     "value": "$0.50",
     "label": "per weekly check run"
    },
    "decide": "Run a free by hand unbranded check now, or wait until the name is picked?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Do we run a check before the name is picked?** Proposal: no; run only the unbranded questions once, free in a chat by hand, to learn which tools get named.",
    "**Which market's answers do we check?** The brand check asks from India. Proposal: India first, since every partner is Indian, and add the US when we open past India.",
    "**Who reads the answers each week?** Proposal: Sai, ten minutes on Monday, and Param approves any page fix."
   ]
  },
  {
   "id": "16.1",
   "title": "Research plan",
   "department": "Research and insights",
   "department_slug": "research-and-insights",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "What we need to learn this quarter, how, from whom",
   "urls": {
    "html": "https://handbook.joinsquareup.com/research-and-insights/research-plan",
    "markdown": "https://handbook.joinsquareup.com/research-and-insights/research-plan.md",
    "json": "https://handbook.joinsquareup.com/research-and-insights/research-plan.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Ten questions to answer before pricing, and none asked yet",
    "points": [
     {
      "icon": "book",
      "text": "Nothing on the plan has run; what we know comes from code, not people."
     },
     {
      "icon": "chat",
      "text": "Questions 1 to 3 go first, on the weekly partner call."
     },
     {
      "icon": "people",
      "text": "Five real partners to hear from; Cozy and Zenant are our own test brands."
     },
     {
      "icon": "clock",
      "text": "Ask the same two or three questions for six weeks so answers compare."
     },
     {
      "icon": "money",
      "text": "Ask Param before any paid probe; treg is for data only."
     }
    ],
    "stat": {
     "value": "0 of 10",
     "label": "questions answered today"
    },
    "decide": "Which three questions go first?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Which three questions go first?** Proposal: 1, 2 and 3, all on the weekly call slot.",
    "**May design partners be asked to test, and how often?** Proposal: one 30 minute session each in November, inside the weekly call.",
    "**Who runs the calls?** Proposal: Param runs them, Sai or Arvind takes notes into the library the same day.",
    "**Run the model bake off?** Proposal: first the fair rerun of five Plays on Pro, about $1, then the bake off, about $5 to $10.",
    "**Is India first?** Proposal: run the India counts first and keep global open until they are in."
   ]
  },
  {
   "id": "16.2",
   "title": "Interview and call library",
   "department": "Research and insights",
   "department_slug": "research-and-insights",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Every partner call and interview: date, who, notes, what we learned",
   "urls": {
    "html": "https://handbook.joinsquareup.com/research-and-insights/interview-and-call-library",
    "markdown": "https://handbook.joinsquareup.com/research-and-insights/interview-and-call-library.md",
    "json": "https://handbook.joinsquareup.com/research-and-insights/interview-and-call-library.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "The call library is empty: no Brew partner call is on record",
    "points": [
     {
      "icon": "warn",
      "text": "Zero Brew partner calls, interviews or usability sessions have a dated record."
     },
     {
      "icon": "chat",
      "text": "The only dated call was a 33 second test of our old APE product."
     },
     {
      "icon": "book",
      "text": "From now, log every call the same day, with quotes only by permission."
     },
     {
      "icon": "clock",
      "text": "Proposal: a weekly 15 minute call per partner."
     },
     {
      "icon": "lock",
      "text": "Record only with consent, and delete the recording once the notes are in."
     }
    ],
    "stat": {
     "value": "0",
     "label": "partner calls on record"
    },
    "decide": "Were there partner calls that were never written down?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Have there been partner calls that were never written down?** Proposal: Param lists each one he remembers with the five and Gully Labs, with a date, and we add them marked \"logged from memory\".",
    "**Do we record calls?** Proposal: yes, screen and voice with consent, deleted once the notes are in this library.",
    "**Is APE's voice interviewer used for Brew research?** Proposal: no, not in v1; talk to partners in person on the weekly call."
   ]
  },
  {
   "id": "16.3",
   "title": "Voice of the customer",
   "department": "Research and insights",
   "department_slug": "research-and-insights",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Themes across calls and feedback, in their words",
   "urls": {
    "html": "https://handbook.joinsquareup.com/research-and-insights/voice-of-the-customer",
    "markdown": "https://handbook.joinsquareup.com/research-and-insights/voice-of-the-customer.md",
    "json": "https://handbook.joinsquareup.com/research-and-insights/voice-of-the-customer.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "No partner words on record yet, so no theme is customer voice",
    "points": [
     {
      "icon": "chat",
      "text": "Every job and worry wording in the old book is Sample, awaiting real words."
     },
     {
      "icon": "people",
      "text": "The feedback log has 5 partner rows, all actions and none quotes."
     },
     {
      "icon": "eye",
      "text": "Our team's themes sit in their own section, so taste is never sold as voice."
     },
     {
      "icon": "check",
      "text": "A theme needs words from at least two partners to count as a partner theme."
     },
     {
      "icon": "heart",
      "text": "Card notes and Not for me are collected but nobody reads them yet."
     }
    ],
    "stat": {
     "value": "5",
     "label": "partner rows, all actions"
    },
    "decide": "Who reads the card notes every week?",
    "mood": "waiting"
   },
   "open_questions": [
    "**May we quote partners by name inside the handbook?** Proposal: yes, inside only; never outside without written permission.",
    "**Who reads card notes each week?** Proposal: Sai, every Monday, for the five partners.",
    "**Should Param's testing keep its own section?** Proposal: yes, labelled our team, until partner words outnumber it."
   ]
  },
  {
   "id": "16.4",
   "title": "Usability tests",
   "department": "Research and insights",
   "department_slug": "research-and-insights",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Tests run, tasks, findings, fixes",
   "urls": {
    "html": "https://handbook.joinsquareup.com/research-and-insights/usability-tests",
    "markdown": "https://handbook.joinsquareup.com/research-and-insights/usability-tests.md",
    "json": "https://handbook.joinsquareup.com/research-and-insights/usability-tests.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Fifteen insights so far, none from a partner, all from our tests",
    "points": [
     {
      "icon": "warn",
      "text": "Zero usability sessions so far; our own QA walks and code reads stood in."
     },
     {
      "icon": "eye",
      "text": "Seven short tests, from a five second glance to a no login brief page."
     },
     {
      "icon": "clock",
      "text": "Each session runs 30 minutes, with consent first and nothing explained mid test."
     },
     {
      "icon": "people",
      "text": "A store's ad page name often differs from its store name, so trackers read page ids."
     },
     {
      "icon": "flag",
      "text": "Ten places a first timer may get lost are guesses to test, not findings."
     }
    ],
    "stat": {
     "value": "0",
     "label": "usability sessions run"
    },
    "decide": "Do we run the first round of tests with the five partners?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Do we run the first round?** Proposal: yes, one person from each of Arata, Nutrova, Mana, Puma India and Scrubroom, in the two weeks from 2 Nov, inside the weekly call slot.",
    "**Live build or the redesign screens?** Proposal: the live build first, so the redesign has a baseline to beat.",
    "**Which scripts first?** Proposal: the instant test plus script 1 for every person, script 2 a week later.",
    "**What is the pass bar?** Proposal: four of five people pass all four instant signals.",
    "**Who moderates?** Proposal: Sai moderates, Param watches with the camera off and says nothing."
   ]
  },
  {
   "id": "16.5",
   "title": "Market and category research",
   "department": "Research and insights",
   "department_slug": "research-and-insights",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Sources and findings on the market, categories and buyers",
   "urls": {
    "html": "https://handbook.joinsquareup.com/research-and-insights/market-and-category-research",
    "markdown": "https://handbook.joinsquareup.com/research-and-insights/market-and-category-research.md",
    "json": "https://handbook.joinsquareup.com/research-and-insights/market-and-category-research.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Fifteen insights so far, none from a partner, all from our tests",
    "points": [
     {
      "icon": "chart",
      "text": "Of four rings of market, only design partners has a sourced size."
     },
     {
      "icon": "map",
      "text": "Five partner categories read so far, from hair care to medical apparel."
     },
     {
      "icon": "warn",
      "text": "No claim about shoppers using AI to find products has a source yet."
     },
     {
      "icon": "check",
      "text": "A store's ad page name often differs from its store name, so trackers read page ids."
     },
     {
      "icon": "money",
      "text": "Free sources first; ask Param before any paid lookup."
     }
    ],
    "stat": {
     "value": "0 of 8",
     "label": "sizing questions answered"
    },
    "decide": "Is India first for counting the market?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Is India first?** Proposal: yes for counting; size India first and keep global open.",
    "**Do we pay for a store technology lookup?** Proposal: not yet; try free platform figures and a hand sample of 100 stores first.",
    "**Who checks each number?** Proposal: whoever did not gather it, Param, Sai or Arvind.",
    "**Do large brands like Puma India count in our ring?** Proposal: keep them as partners to learn from, size only founder led stores."
   ]
  },
  {
   "id": "16.6",
   "title": "Insight repository",
   "department": "Research and insights",
   "department_slug": "research-and-insights",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Every insight with its evidence, linked to what it changed",
   "urls": {
    "html": "https://handbook.joinsquareup.com/research-and-insights/insight-repository",
    "markdown": "https://handbook.joinsquareup.com/research-and-insights/insight-repository.md",
    "json": "https://handbook.joinsquareup.com/research-and-insights/insight-repository.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Fifteen insights so far, none from a partner, all from our tests",
    "points": [
     {
      "icon": "book",
      "text": "Fifteen insights with evidence and what each one changed in the product."
     },
     {
      "icon": "warn",
      "text": "None comes from a partner interview, so none says how founders feel."
     },
     {
      "icon": "check",
      "text": "Thirteen of fifteen led to a change; the model test and Send brief label did not."
     },
     {
      "icon": "eye",
      "text": "A store's ad page name often differs from its store name, so trackers read page ids."
     },
     {
      "icon": "gear",
      "text": "The model comparison was unfair; a fair rerun on Pro costs about $1."
     }
    ],
    "stat": {
     "value": "15",
     "label": "insights on record"
    },
    "decide": "Run the fair model rerun behind insight 10?",
    "mood": "building"
   },
   "open_questions": [
    "**Should insights from QA count here, or only from people?** Proposal: both, kept in separate sections, so the people section shows how empty it is.",
    "**Run the fair model rerun behind insight 10?** Proposal: yes, five Plays on Pro with today's inputs, about $1.",
    "**Who owns this page?** Proposal: Param, with Sai adding rows after each QA round."
   ]
  },
  {
   "id": "17.1",
   "title": "Press kit",
   "department": "PR and communications",
   "department_slug": "pr-and-communications",
   "direction": {
    "id": "dog",
    "name": "Fetch"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Boilerplate, founder bios, screenshots, logos, the story",
   "urls": {
    "html": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/dog",
    "markdown": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/dog.md",
    "json": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/dog.json"
   },
   "other_directions": [
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Fetch fetched the press kit: checked words, plain facts, art only",
    "points": [
     {
      "icon": "book",
      "text": "Boilerplate checked against the claims page; the old audition paragraph is out of date."
     },
     {
      "icon": "check",
      "text": "Quotable facts: 60 sources read today, 6 second videos, free design partner preview."
     },
     {
      "icon": "heart",
      "text": "Fetch shows up as art only: the mark and figure, never a line of voice."
     },
     {
      "icon": "people",
      "text": "No founder bios or photos exist yet; Param, Sai and Arvind must supply them."
     },
     {
      "icon": "lock",
      "text": "Never name a partner or quote a price, a result or a rival."
     }
    ],
    "stat": {
     "value": "60",
     "label": "sources read today"
    },
    "decide": "Which tagline goes on the kit: This week's ideas, fetched, or the old dropped at your feet?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Who are the founders on the kit, and what are their roles?** No source gives roles for Param, Sai and Arvind. Proposal: Param writes three bios of 40 words each, with one photo each, before any kit goes out.",
    "**Do we name Yellow Monk Technologies LLP in the kit?** Proposal: yes, in the footer line only, as the joinsquareup.com footer already does.",
    "**Can any design partner be named?** Proposal: no until one gives a written yes; say \"a small group of real brands\".",
    "**Which screenshots?** Proposal: new ones on the sample candle store once the name is picked, never a design partner's feed.",
    "**Which tagline goes on the kit?** The direction data says \"This week's ideas, fetched.\" and the old book said \"This week's ideas, dropped at your feet.\" Proposal: the direction data line. [src: brand-directions/docs2/data/dirs.json] [src: brand-directions/book/content/h.js:19]"
   ]
  },
  {
   "id": "17.1",
   "title": "Press kit",
   "department": "PR and communications",
   "department_slug": "pr-and-communications",
   "direction": {
    "id": "bee",
    "name": "Buzz"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Boilerplate, founder bios, screenshots, logos, the story",
   "urls": {
    "html": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/bee",
    "markdown": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/bee.md",
    "json": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/bee.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/dog.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Buzz buzzed through the press kit: checked words, plain facts, one mention",
    "points": [
     {
      "icon": "book",
      "text": "Boilerplate checked against the claims page; the old audition paragraph is out of date."
     },
     {
      "icon": "check",
      "text": "Quotable facts: 60 sources read today, 6 second videos, free design partner preview."
     },
     {
      "icon": "heart",
      "text": "Buzz is named once and shown as art; no bee puns anywhere in the kit."
     },
     {
      "icon": "people",
      "text": "No founder bios or photos yet; the hive needs Param, Sai and Arvind to supply them."
     },
     {
      "icon": "lock",
      "text": "Never name a partner or quote a price, a result or a rival."
     }
    ],
    "stat": {
     "value": "60",
     "label": "sources read today"
    },
    "decide": "Which tagline goes on the kit: The whole hive, one bee, or the old buzzing by Monday?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Who are the founders on the kit, and what are their roles?** No source gives roles for Param, Sai and Arvind. Proposal: Param writes three bios of 40 words each, with one photo each, before any kit goes out.",
    "**Do we name Yellow Monk Technologies LLP in the kit?** Proposal: yes, in the footer line only, as the joinsquareup.com footer already does.",
    "**Can any design partner be named?** Proposal: no until one gives a written yes; say \"a small group of real brands\".",
    "**Which screenshots?** Proposal: new ones on the sample candle store once the name is picked, never a design partner's feed.",
    "**Which tagline goes on the kit?** The direction data says \"The whole hive, one bee.\" and the old book said \"Your store, buzzing by Monday.\" Proposal: the direction data line. [src: brand-directions/docs2/data/dirs.json] [src: brand-directions/book/content/h.js:19]"
   ]
  },
  {
   "id": "17.1",
   "title": "Press kit",
   "department": "PR and communications",
   "department_slug": "pr-and-communications",
   "direction": {
    "id": "raccoon",
    "name": "Scoop"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Boilerplate, founder bios, screenshots, logos, the story",
   "urls": {
    "html": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/raccoon",
    "markdown": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/raccoon.md",
    "json": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/raccoon.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/bee.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/octopus.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Scoop's press kit: the checked dish on what we read",
    "points": [
     {
      "icon": "book",
      "text": "Boilerplate checked against the claims page; the old seven sources line is replaced."
     },
     {
      "icon": "eye",
      "text": "Quotable facts: 60 sources read today, and Scoop says what the read looks at."
     },
     {
      "icon": "heart",
      "text": "Scoop is named once, never given a voice; art is the mark and full figure."
     },
     {
      "icon": "people",
      "text": "No founder bios or photos yet; the case board needs Param, Sai and Arvind."
     },
     {
      "icon": "lock",
      "text": "Never name a partner or quote a price, a result or a rival."
     }
    ],
    "stat": {
     "value": "60",
     "label": "sources read today"
    },
    "decide": "Keep the public pages line, always adding and the accounts you connect, read only?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Who are the founders on the kit, and what are their roles?** No source gives roles for Param, Sai and Arvind. Proposal: Param writes three bios of 40 words each, with one photo each, before any kit goes out.",
    "**Do we name Yellow Monk Technologies LLP in the kit?** Proposal: yes, in the footer line only, as the joinsquareup.com footer already does.",
    "**Can any design partner be named?** Proposal: no until one gives a written yes; say \"a small group of real brands\".",
    "**Which screenshots?** Proposal: new ones on the sample candle store once the name is picked, never a design partner's feed.",
    "**Does the raccoon's public pages line still hold?** The read also uses connected accounts for members. Proposal: keep the line and always add \"and the accounts you connect, read only\". [src: brand-directions/docs2/data/dirs.json] [src: handbook product-marketing/claims-we-can-make]"
   ]
  },
  {
   "id": "17.1",
   "title": "Press kit",
   "department": "PR and communications",
   "department_slug": "pr-and-communications",
   "direction": {
    "id": "octopus",
    "name": "Ocho"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Boilerplate, founder bios, screenshots, logos, the story",
   "urls": {
    "html": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/octopus",
    "markdown": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/octopus.md",
    "json": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/octopus.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/raccoon.json"
    },
    {
     "id": "cooker",
     "name": "Seeti",
     "json": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/cooker.json"
    }
   ],
   "tldr": {
    "headline": "Ocho's press kit: checked facts, drawn in ink, no Ocho words",
    "points": [
     {
      "icon": "book",
      "text": "Boilerplate checked against the claims page; the old audition paragraph is out of date."
     },
     {
      "icon": "check",
      "text": "Quotable facts: 60 sources read today, 6 second videos, free design partner preview."
     },
     {
      "icon": "heart",
      "text": "Ocho is image only in the kit, never named or quoted in the words."
     },
     {
      "icon": "people",
      "text": "No founder bios or photos yet; Param, Sai and Arvind must supply them."
     },
     {
      "icon": "lock",
      "text": "Never name a partner or quote a price, a result or a rival."
     }
    ],
    "stat": {
     "value": "60",
     "label": "sources read today"
    },
    "decide": "Image only, even when a journalist asks about the mascot, with a founder answering in person?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Who are the founders on the kit, and what are their roles?** No source gives roles for Param, Sai and Arvind. Proposal: Param writes three bios of 40 words each, with one photo each, before any kit goes out.",
    "**Do we name Yellow Monk Technologies LLP in the kit?** Proposal: yes, in the footer line only, as the joinsquareup.com footer already does.",
    "**Can any design partner be named?** Proposal: no until one gives a written yes; say \"a small group of real brands\".",
    "**Which screenshots?** Proposal: new ones on the sample candle store once the name is picked, never a design partner's feed.",
    "**Image only, even when a journalist asks about the mascot?** Proposal: yes in the kit; a founder answers the question in person. [src: brand-directions/docs2/data/dirs.json]"
   ]
  },
  {
   "id": "17.1",
   "title": "Press kit",
   "department": "PR and communications",
   "department_slug": "pr-and-communications",
   "direction": {
    "id": "cooker",
    "name": "Seeti"
   },
   "branded": true,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Boilerplate, founder bios, screenshots, logos, the story",
   "urls": {
    "html": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/cooker",
    "markdown": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/cooker.md",
    "json": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/cooker.json"
   },
   "other_directions": [
    {
     "id": "dog",
     "name": "Fetch",
     "json": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/dog.json"
    },
    {
     "id": "bee",
     "name": "Buzz",
     "json": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/bee.json"
    },
    {
     "id": "raccoon",
     "name": "Scoop",
     "json": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/raccoon.json"
    },
    {
     "id": "octopus",
     "name": "Ocho",
     "json": "https://handbook.joinsquareup.com/pr-and-communications/press-kit/octopus.json"
    }
   ],
   "tldr": {
    "headline": "Seeti's press kit is on the stove: checked facts, one whistle",
    "points": [
     {
      "icon": "book",
      "text": "Boilerplate checked against the claims page; the old audition paragraph is out of date."
     },
     {
      "icon": "check",
      "text": "Quotable facts: 60 sources read today, 6 second videos, free design partner preview."
     },
     {
      "icon": "heart",
      "text": "Seeti is named once and never speaks; the sonic logo is three rising whistle toots."
     },
     {
      "icon": "people",
      "text": "No founder bios or photos yet; the kitchen needs Param, Sai and Arvind."
     },
     {
      "icon": "flag",
      "text": "The old book says two founders, but the team is three people."
     }
    ],
    "stat": {
     "value": "60",
     "label": "sources read today"
    },
    "decide": "A few whistles or three whistles on the kit tagline, since the sound is three toots?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Who are the founders on the kit, and what are their roles?** No source gives roles for Param, Sai and Arvind. Proposal: Param writes three bios of 40 words each, with one photo each, before any kit goes out.",
    "**Do we name Yellow Monk Technologies LLP in the kit?** Proposal: yes, in the footer line only, as the joinsquareup.com footer already does.",
    "**Can any design partner be named?** Proposal: no until one gives a written yes; say \"a small group of real brands\".",
    "**Which screenshots?** Proposal: new ones on the sample candle store once the name is picked, never a design partner's feed.",
    "**\"A few whistles\" or \"three whistles\"?** The direction data names \"ready in three whistles\" as the owner's alternate, matching the sonic logo. Proposal: three whistles on the kit, since the sound is three toots. [src: brand-directions/docs2/data/dirs.json]"
   ]
  },
  {
   "id": "17.2",
   "title": "Announcements calendar",
   "department": "PR and communications",
   "department_slug": "pr-and-communications",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "What we announce, when, where",
   "urls": {
    "html": "https://handbook.joinsquareup.com/pr-and-communications/announcements-calendar",
    "markdown": "https://handbook.joinsquareup.com/pr-and-communications/announcements-calendar.md",
    "json": "https://handbook.joinsquareup.com/pr-and-communications/announcements-calendar.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Nothing is announced yet, and nothing goes out before the name",
    "points": [
     {
      "icon": "flag",
      "text": "No post, ad or launch exists, and no date is set for anything."
     },
     {
      "icon": "rocket",
      "text": "Order: name and character, Shopify listing, Meta one click, small batches, then v2 to v4."
     },
     {
      "icon": "people",
      "text": "Partners hear first, at least a day before anything public."
     },
     {
      "icon": "check",
      "text": "We announce a thing only on the day it is true for every brand."
     },
     {
      "icon": "warn",
      "text": "The old plan assumed a waitlist, but the product has none."
     }
    ],
    "stat": {
     "value": "six",
     "label": "week plan in old book"
    },
    "decide": "Build a one field waitlist on the landing before the name announcement?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Is there a public launch day at all?** Proposal: no single day; open reads in small batches, as the roadmap proposes.",
    "**Which channel opens first?** Proposal: Param's LinkedIn for the founder post and Instagram for the character, as the old six week plan assumed.",
    "**Do we build a waitlist before announcing anything?** Proposal: yes, a one field form on the landing, before the name announcement.",
    "**Is the Shopify listing worth a public announcement?** Proposal: yes, because it is the one way in that needs no setup."
   ]
  },
  {
   "id": "17.3",
   "title": "Founder voice",
   "department": "PR and communications",
   "department_slug": "pr-and-communications",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "What Param writes and posts, the topics, the tone",
   "urls": {
    "html": "https://handbook.joinsquareup.com/pr-and-communications/founder-voice",
    "markdown": "https://handbook.joinsquareup.com/pr-and-communications/founder-voice.md",
    "json": "https://handbook.joinsquareup.com/pr-and-communications/founder-voice.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Param's own voice has no channel, no posts and no topics yet",
    "points": [
     {
      "icon": "flag",
      "text": "No founder post or channel exists; the old plan was one LinkedIn post a week."
     },
     {
      "icon": "book",
      "text": "Six topics from the old plan still hold, from a founder's Monday to AI recommendations."
     },
     {
      "icon": "heart",
      "text": "In a founder post the character is off; Param writes plainly in first person."
     },
     {
      "icon": "lock",
      "text": "Never name a partner without a written yes, and never quote a price or a result."
     },
     {
      "icon": "chat",
      "text": "A Friday note to partners is proposed from 30 Oct, with no character."
     }
    ],
    "stat": {
     "value": "six",
     "label": "topics from the old plan"
    },
    "decide": "Start the Friday partner note from 30 Oct, and is LinkedIn the first channel?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Which channel?** Proposal: LinkedIn first, as the old plan assumed.",
    "**Who writes, Param alone or all three founders?** Proposal: Param posts weekly; Sai and Arvind once a month each, on their own work.",
    "**Which topics first?** Proposal: the six above, in that order, starting the week the name is announced.",
    "**Does the weekly note to partners start now?** Proposal: yes, every Friday from 30 Oct, from Param, with no character.",
    "**What tone?** Proposal: plain, specific and honest about what the product does not do yet, the way the claims page reads."
   ]
  },
  {
   "id": "17.4",
   "title": "Media list",
   "department": "PR and communications",
   "department_slug": "pr-and-communications",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "Journalists, newsletters and podcasts worth reaching",
   "urls": {
    "html": "https://handbook.joinsquareup.com/pr-and-communications/media-list",
    "markdown": "https://handbook.joinsquareup.com/pr-and-communications/media-list.md",
    "json": "https://handbook.joinsquareup.com/pr-and-communications/media-list.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "We have no media list, and we are not inventing one",
    "points": [
     {
      "icon": "warn",
      "text": "No journalist, newsletter, podcast or outlet appears in any source."
     },
     {
      "icon": "people",
      "text": "Only people the team has read, heard or met go on the list."
     },
     {
      "icon": "book",
      "text": "Each entry carries a recent piece we read and who on our team knows them."
     },
     {
      "icon": "flag",
      "text": "Outreach waits until the name is picked and the press kit exists."
     },
     {
      "icon": "heart",
      "text": "A founder writes each first note by hand, never a mail merge."
     }
    ],
    "stat": {
     "value": "20",
     "label": "names on the first list"
    },
    "decide": "Who are the first five names Param already reads or knows?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Who are the first five names?** Proposal: Param lists five people the team already reads or knows, India first, and this page records them with why.",
    "**India first, or global?** Proposal: India first, since every partner is Indian; copy stays plain global English.",
    "**Who owns outreach?** Proposal: Param, with one named backup from Sai or Arvind.",
    "**When do we start?** Proposal: the week after the name is announced, with the press kit attached."
   ]
  },
  {
   "id": "17.5",
   "title": "Crisis communications",
   "department": "PR and communications",
   "department_slug": "pr-and-communications",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "What we say when something goes wrong in public",
   "urls": {
    "html": "https://handbook.joinsquareup.com/pr-and-communications/crisis-communications",
    "markdown": "https://handbook.joinsquareup.com/pr-and-communications/crisis-communications.md",
    "json": "https://handbook.joinsquareup.com/pr-and-communications/crisis-communications.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "No crisis plan exists, so we drafted three levels",
    "points": [
     {
      "icon": "warn",
      "text": "Alerts reach only us, and nothing tells a brand about an incident."
     },
     {
      "icon": "flag",
      "text": "Level 1 product error, level 2 touched one brand, level 3 is public."
     },
     {
      "icon": "heart",
      "text": "Apology order: sorry first, what happened, what we changed, a person's offer."
     },
     {
      "icon": "lock",
      "text": "The character is fully off, and the mail comes from a founder the same day."
     },
     {
      "icon": "eye",
      "text": "Four mistakes were caught inside and never reached the public."
     }
    ],
    "stat": {
     "value": "one",
     "label": "hour to first word"
    },
    "decide": "Who speaks in a level 3 crisis, and who is the legal contact for a data exposure?",
    "mood": "urgent"
   },
   "open_questions": [
    "**Who speaks in a level 3 crisis?** Proposal: Param only; Sai and Arvind forward every question to him.",
    "**How fast is the first word?** Proposal: within one hour for level 3, the same day for level 2, as the comms books say.",
    "**Do we keep a public status page?** Proposal: no in the preview; email each affected brand instead.",
    "**What do we say if Meta or Shopify suspends the app?** Proposal: tell partners the same day which connector stops, that their data is safe, and that the other connectors keep reading.",
    "**Who is the legal contact for a data exposure?** No source names one. Proposal: Param names one this week."
   ]
  },
  {
   "id": "17.6",
   "title": "Internal updates",
   "department": "PR and communications",
   "department_slug": "pr-and-communications",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "How the team stays in the loop: weekly note, decisions, wins",
   "urls": {
    "html": "https://handbook.joinsquareup.com/pr-and-communications/internal-updates",
    "markdown": "https://handbook.joinsquareup.com/pr-and-communications/internal-updates.md",
    "json": "https://handbook.joinsquareup.com/pr-and-communications/internal-updates.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "The handbook keeps the team in the loop, but no weekly note",
    "points": [
     {
      "icon": "book",
      "text": "Handbook, decisions log, Next and Comments carry every plan, call and question."
     },
     {
      "icon": "clock",
      "text": "A morning digest of at most five lines goes to Param at 9 a.m."
     },
     {
      "icon": "warn",
      "text": "Sai and Arvind do not see the digest, and no weekly note or meeting exists."
     },
     {
      "icon": "check",
      "text": "Proposed: a Monday note with decisions, shipped work, waits and wins."
     },
     {
      "icon": "flag",
      "text": "No snapshot is taken yet; Handbook 1.0 comes when every document is written."
     }
    ],
    "stat": {
     "value": "five",
     "label": "lines in the morning digest"
    },
    "decide": "Send a weekly Monday note to Sai and Arvind, with a 30 minute meeting after?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Do we want a weekly note at all, or is the morning digest enough?** Proposal: a weekly note on Mondays, because Sai and Arvind do not see the digest.",
    "**Where does it go?** Proposal: email from Param to Sai and Arvind, with a link to the handbook snapshot.",
    "**A weekly meeting?** Proposal: 30 minutes on Mondays after the note, to answer the three questions.",
    "**When is Handbook 1.0?** Proposal: when every document in every department is written."
   ]
  },
  {
   "id": "18.1",
   "title": "Shopify app",
   "department": "Integrations and ecosystem",
   "department_slug": "integrations-and-ecosystem",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "The public app, its listing, review status, install flow, scopes",
   "urls": {
    "html": "https://handbook.joinsquareup.com/integrations-and-ecosystem/shopify-app",
    "markdown": "https://handbook.joinsquareup.com/integrations-and-ecosystem/shopify-app.md",
    "json": "https://handbook.joinsquareup.com/integrations-and-ecosystem/shopify-app.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "The Brew Shopify app awaits review; brands use their own app meanwhile",
    "points": [
     {
      "icon": "clock",
      "text": "Submitted to the App Store on 21 Oct; no answer is recorded since."
     },
     {
      "icon": "lock",
      "text": "Read only scopes, with no customer names, emails, phones or addresses."
     },
     {
      "icon": "link",
      "text": "Today every brand connects through its own Dev Dashboard app, keys pasted."
     },
     {
      "icon": "rocket",
      "text": "After approval one deploy turns on one-click install from the listing."
     },
     {
      "icon": "warn",
      "text": "Whether the live listing matches the new Plays wording is not recorded."
     }
    ],
    "stat": {
     "value": "21 Oct",
     "label": "submitted for review"
    },
    "decide": "What did Shopify answer, and do we go fully visible at once?",
    "mood": "waiting"
   },
   "open_questions": [
    "**What did Shopify answer?** No outcome is recorded after 21 Oct. Proposal: Param checks hello@ and the Partner Dashboard today and notes the state here.",
    "**The repo draft now says `Brew: Daily Marketing Plays`; the listing was submitted as `Brew: Daily Marketing Moves`.** Proposal: change the live listing to the Plays wording only after approval, so the review is not reset, then rename to the picked name.",
    "**Fully visible at once, or limited to the link?** Proposal: stay limited to the direct link until the five design partners have installed it and production carries the app.",
    "**Webhook version 2026-10 against Admin API 2026-04.** Proposal: keep both, and bump the Admin API to the newer version in one tested change after approval.",
    "**Ask for `read_all_orders`?** Proposal: no; 60 days of orders is enough for every Play today."
   ]
  },
  {
   "id": "18.2",
   "title": "Meta",
   "department": "Integrations and ecosystem",
   "department_slug": "integrations-and-ecosystem",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "App review, business verification, permissions, the screencasts",
   "urls": {
    "html": "https://handbook.joinsquareup.com/integrations-and-ecosystem/meta",
    "markdown": "https://handbook.joinsquareup.com/integrations-and-ecosystem/meta.md",
    "json": "https://handbook.joinsquareup.com/integrations-and-ecosystem/meta.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Meta ads reads work, but outside brands wait on two gates",
    "points": [
     {
      "icon": "lock",
      "text": "Read only: ads_read and business_management, through one SquareUp Meta app."
     },
     {
      "icon": "clock",
      "text": "Business Verification was still in review on 24 Oct; App Review cannot submit until it passes."
     },
     {
      "icon": "warn",
      "text": "Two screencasts are still missing, one per permission, to be recorded on Cozy."
     },
     {
      "icon": "link",
      "text": "Until approval, a partner's Meta admin needs a role on the app to connect."
     },
     {
      "icon": "heart",
      "text": "Arata's connection is protected in code and never disconnected."
     }
    ],
    "stat": {
     "value": "2",
     "label": "screencasts still to record"
    },
    "decide": "Has Business Verification passed since 24 Oct?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Has Business Verification passed since 24 Oct?** No later source. Proposal: Param checks today and notes the date here.",
    "**`pages_show_list` is granted at sign in but not in the review list.** Proposal: drop it from the login configuration before Submit, since the Page is now found from the ads.",
    "**Who records the screencasts?** Proposal: Param, on Cozy, the same day verification passes.",
    "**The old Harry and Donna datasets still take events.** Proposal: switch off their pixel and CAPI senders at the source so the portfolio carries only live products."
   ]
  },
  {
   "id": "18.3",
   "title": "Google",
   "department": "Integrations and ecosystem",
   "department_slug": "integrations-and-ecosystem",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "OAuth verification, scopes, Ads and GA4 access",
   "urls": {
    "html": "https://handbook.joinsquareup.com/integrations-and-ecosystem/google",
    "markdown": "https://handbook.joinsquareup.com/integrations-and-ecosystem/google.md",
    "json": "https://handbook.joinsquareup.com/integrations-and-ecosystem/google.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Google is done: verified 21 Oct for Ads and Analytics, read only",
    "points": [
     {
      "icon": "check",
      "text": "The OAuth app was verified after two rejections, and the warning is gone."
     },
     {
      "icon": "lock",
      "text": "Only two sensitive scopes, so any new scope re-opens review."
     },
     {
      "icon": "link",
      "text": "Brands connect by one-click sign in, or GA4 by property ID with a Viewer."
     },
     {
      "icon": "warn",
      "text": "Two past rejections came from stray scopes: never add include_granted_scopes back."
     },
     {
      "icon": "clock",
      "text": "Whether Ads Basic access came through is not recorded since 16 Oct."
     }
    ],
    "stat": {
     "value": "2",
     "label": "sensitive scopes verified"
    },
    "decide": "Did Ads Basic access come through?",
    "mood": "solid"
   },
   "open_questions": [
    "**Did Ads Basic access come through?** No source after 16 Oct. Proposal: Param checks the API Center today; until then the developer token keeps reading as it does.",
    "**Search Console as a connector.** Treg's catalog lists it as connected and free, but no Brew connector reads it [src: memory treg-catalog-for-brew]. Proposal: add it in v2 together with any other new scope, in one review.",
    "**One project for Brew and the old cockpit.** Proposal: keep sharing it, because the developer token is tied to this project, and retire the cockpit's Google connect instead."
   ]
  },
  {
   "id": "18.4",
   "title": "Slack",
   "department": "Integrations and ecosystem",
   "department_slug": "integrations-and-ecosystem",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "The Slack app, events, approvals, the relay",
   "urls": {
    "html": "https://handbook.joinsquareup.com/integrations-and-ecosystem/slack",
    "markdown": "https://handbook.joinsquareup.com/integrations-and-ecosystem/slack.md",
    "json": "https://handbook.joinsquareup.com/integrations-and-ecosystem/slack.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Slack is the one connector that writes, and it needs no review",
    "points": [
     {
      "icon": "chat",
      "text": "It posts cards and jams a team picks, and thread replies return to the jam."
     },
     {
      "icon": "check",
      "text": "Public since 16 Oct; any workspace can install it with no Slack review."
     },
     {
      "icon": "lock",
      "text": "Slack never counts as evidence for a Play, and reads only the workspace and channel."
     },
     {
      "icon": "warn",
      "text": "Anyone in the channel can press Approve; Param chose to keep it."
     },
     {
      "icon": "gear",
      "text": "The manifest now says plays, but a push to Slack is not recorded."
     }
    ],
    "stat": {
     "value": "16 Oct",
     "label": "made public"
    },
    "decide": "Who may press Approve?",
    "mood": "solid"
   },
   "open_questions": [
    "**List the app in the Slack Marketplace?** Proposal: no until the name is picked; the listing would carry the old name.",
    "**Who may press Approve?** Param chose anyone in the channel on 17 Oct. Proposal: keep it, and record who pressed it in the jam as it does now.",
    "**The manifest now says plays, and still names the app Brew.** Proposal: push the new description with `tools/slack-app.mjs update` now, and rename the app in one more update once the name is picked."
   ]
  },
  {
   "id": "18.5",
   "title": "Data and making partners",
   "department": "Integrations and ecosystem",
   "department_slug": "integrations-and-ecosystem",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "2026-10-26",
   "holds": "treg, Apify, Sloosh and the image and video makers: status, limits, contacts",
   "urls": {
    "html": "https://handbook.joinsquareup.com/integrations-and-ecosystem/data-and-making-partners",
    "markdown": "https://handbook.joinsquareup.com/integrations-and-ecosystem/data-and-making-partners.md",
    "json": "https://handbook.joinsquareup.com/integrations-and-ecosystem/data-and-making-partners.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Four outside partners feed Brew, each capped, none spending without a yes",
    "points": [
     {
      "icon": "link",
      "text": "treg and Apify bring the data; Sloosh and Higgsfield make the finals and studio pictures."
     },
     {
      "icon": "money",
      "text": "Caps everywhere: treg 40 dollars a day, Apify 10 per brand a month."
     },
     {
      "icon": "warn",
      "text": "Higgsfield keys are not in Secret Manager yet, so Studio makes are not live."
     },
     {
      "icon": "lock",
      "text": "Sloosh is off on production by Param's call; finals there use Gemini."
     },
     {
      "icon": "people",
      "text": "No source names a contact person at any of the four."
     }
    ],
    "stat": {
     "value": "40",
     "label": "treg dollar cap a day"
    },
    "decide": "Put the Higgsfield keys in Secret Manager now?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Who is our contact at each partner?** Proposal: Param names one person per partner and the email they answer, and this page lists them.",
    "**Put the Higgsfield keys in Secret Manager now?** Proposal: yes, on staging only, with the AI_MOCK tests passing first; production after one paid Studio make on a test brand with Param's yes.",
    "**Sloosh on production.** Proposal: keep it off until a design partner asks for a Sloosh final; then sign in on production and turn `SLOOSH_CHECK` on.",
    "**Talk to Higgsfield sales about Enterprise?** Proposal: yes, one call, to ask whether many brands on one account is allowed for the CLI only features.",
    "**Which treg account owns the bill?** Treg runs on Param's own sign in for team squareup. Proposal: move the team's billing to a company email."
   ]
  },
  {
   "id": "18.6",
   "title": "API and MCP for agencies",
   "department": "Integrations and ecosystem",
   "department_slug": "integrations-and-ecosystem",
   "direction": null,
   "branded": false,
   "status": "needs-you",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "How an agency or AI tool could plug in",
   "urls": {
    "html": "https://handbook.joinsquareup.com/integrations-and-ecosystem/api-and-mcp-for-agencies",
    "markdown": "https://handbook.joinsquareup.com/integrations-and-ecosystem/api-and-mcp-for-agencies.md",
    "json": "https://handbook.joinsquareup.com/integrations-and-ecosystem/api-and-mcp-for-agencies.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "No public API or MCP yet; agencies use Brand Book files",
    "points": [
     {
      "icon": "book",
      "text": "Today: Brand Book as md, json, llms.txt and a kit zip for any AI tool."
     },
     {
      "icon": "warn",
      "text": "No API keys, no MCP server and no one login for many brands exist."
     },
     {
      "icon": "people",
      "text": "Proposal: build the agency login first, since briefs already go to agencies."
     },
     {
      "icon": "lock",
      "text": "Any future key sees one brand, read only, with nothing sent or posted without a yes."
     },
     {
      "icon": "rocket",
      "text": "Proposal: a read only MCP server in v2, one brand per token."
     }
    ],
    "stat": null,
    "decide": "Do we build an agency login before any API?",
    "mood": "waiting"
   },
   "open_questions": [
    "**Do we build an agency login before any API?** Proposal: yes; agencies are the people briefs go to, and the agency route is already one of the five open calls.",
    "**Should Brew offer its own MCP server?** Proposal: yes in v2, read only, one brand per token, starting with Plays, briefs and the Brand Book.",
    "**Who is the first user of it?** Proposal: one design partner's agency, named by Param, before any public docs.",
    "**Is it paid?** Proposal: included in the plan while pricing is parked; decide with pricing.",
    "**Does an agency see connected numbers?** Proposal: no, unless the brand's owner says yes per agency."
   ]
  },
  {
   "id": "18.7",
   "title": "Integration roadmap",
   "department": "Integrations and ecosystem",
   "department_slug": "integrations-and-ecosystem",
   "direction": null,
   "branded": false,
   "status": "draft",
   "owner": "Param",
   "last_verified": "Mon Oct 26",
   "holds": "What we connect next, and why",
   "urls": {
    "html": "https://handbook.joinsquareup.com/integrations-and-ecosystem/integration-roadmap",
    "markdown": "https://handbook.joinsquareup.com/integrations-and-ecosystem/integration-roadmap.md",
    "json": "https://handbook.joinsquareup.com/integrations-and-ecosystem/integration-roadmap.json"
   },
   "other_directions": [],
   "tldr": {
    "headline": "Finish the three approvals, then connect only what a Play needs",
    "points": [
     {
      "icon": "check",
      "text": "Shopify, Meta Ads, Google, Klaviyo, Judge.me and Slack are real and read only today."
     },
     {
      "icon": "clock",
      "text": "Google is verified; Shopify has no answer yet; Meta is blocked on verification."
     },
     {
      "icon": "gear",
      "text": "We build on the platforms directly, since middlemen hit the same approvals."
     },
     {
      "icon": "map",
      "text": "Gaps like Nykaa, Flipkart, Blinkit and Amazon are filled by Apify and treg for now."
     },
     {
      "icon": "lock",
      "text": "Writing to accounts waits for the version that adds it, behind a yes per action."
     }
    ],
    "stat": null,
    "decide": "Which comes first after approvals: marketplaces or Instagram reads?",
    "mood": "building"
   },
   "open_questions": [
    "**Which comes first after the approvals: marketplaces or Instagram reads?** Proposal: own Instagram reads, because they are free and every brand has an account.",
    "**Do write scopes start at v2 or v3?** Proposal: v2 for posting only, as the version plan says, and fix the engineering table to match.",
    "**Do we build email or WhatsApp sending at all?** Proposal: no in v1 and v2; send through the brand's own Klaviyo or WhatsApp tool."
   ]
  }
 ]
}