{
  "video": {
    "id": "ij-AU9dpJjc",
    "title": "Stop Writing Tone Instructions. Layer Them. - Isadora Martin-Dye, Isadora & Co",
    "duration": 1257,
    "upload_date": null,
    "channel": "AI Engineer",
    "source": "AI Engineer",
    "event_format": "Online"
  },
  "analysis": {
    "video_id": "ij-AU9dpJjc",
    "title": "Stop Writing Tone Instructions. Layer Them. - Isadora Martin-Dye, Isadora & Co",
    "one_liner": "Split \"brand voice\" into four separately-built layers — immutable identity, situational mode, example-anchored voice, and a deterministic post-generation veto — because a single system prompt cannot simultaneously be inviolable, situational, expressive and self-checking.",
    "summary": "Isadora Martin-Dye runs a 225-year-old Virginia wedding venue and built the AI (\"In Bloom\") that talks to her couples, plus Thread Light, a tool for families of missing people. She argues that \"write in our brand's voice\" fails because one prompt is being asked to do four different jobs, and it breaks on \"turn 21\" — the first question your examples never covered. Her fix is one canonical assembly point producing a four-layer stack in a load-bearing order (hard rules first, task last), replacing the 24 ad-hoc system prompts she had scattered across her codebase. The punchline: the first three layers are instructions the model usually follows, while layer four is the only non-prompt, deterministic layer that reads what actually came out and can refuse to ship it.",
    "key_points": [
      "The framing is \"a brilliant intern with an incredibly high IQ and a terrible EQ\" — not a robot you write rules for and walk away from, but someone whose work you check before it goes out the door.",
      "Layer 1 (immutable identity) is what the brand structurally cannot say, overridable by nothing — not venue config, voice profile, or user request. Examples: every In Bloom AI discloses it is an AI in its very first response (a product decision, not a legal one — betting a couple who knows from turn one trusts it more than one who finds out on turn seven), and the physical-presence boundary that forbids \"I'd love to show you around\" in favour of \"the team would love to host you for a tour.\"",
      "Thread Light, the missing-persons tool, proves the architecture transfers: totally different voice, identical structure, and its layer one bans the words confirmed, identified, matched, proven, linked and solved — the model reaches for \"match\" because it's statistically natural, with a confidence it cannot bring to someone who is grieving.",
      "Layer 2 (situational mode) is the layer most teams never build: the same AI talks to couples and briefs venue coordinators as a colleague (a coordinator can be told \"I can't forecast that confidently, here's the trend\"; a couple should never be refused like that), and uses soft context notes for tone and what-not-to-say, never quoted verbatim.",
      "Render order inside layer 2 matters: the couple-note block renders before the numbers-guard block so the model sets tone from soft context first, then satisfies numeric constraints — reversing it makes the prose feel mechanically slotted because the model has already committed to the numeric framing. A drop on the engagement heat map is narrated differently when the system knows a client's mother has been in chemo for three weeks.",
      "Layer 3 (example-anchored voice) is the induction pack handed to the intern before they've met anyone — good for teaching what \"good\" looks like on the happy path, but structurally unable to enforce a rule, respond to context, or catch bad output. In Bloom trains it from coordinators editing real AI responses.",
      "Layer 4 (post-generation veto) was not in the original design; it was added after the AI kept warmly offering dates that were already booked because it was never given the calendar. Every layer above did its job — \"the voice was also the problem,\" since a warm confident offer of something unreal is worse than a cold one. It comes in two forms: a soft flag (the honesty inspector, e.g. did it actually answer the question) and a hard reject (the numbers guard, which rejects invented figures). False positive = someone double-checks a response; false negative = a hallucinated number or privacy violation ships.",
      "Multi-tenancy: layer one is identical for every tenant, layers two and three are per-venue, and one function call is the seam. Letting brand identity fields default silently caused a critical white-label leak with every venue shipping as sage@hawthornemanner.com — the fix is a principle: identity must never have a default; a missing brand identity is a crash, not a fallback.",
      "Things she'd build differently: make the veto a shared gate service everything passes through by default rather than wired per surface (\"a checklist waiting to be forgotten\"), build a central condition resolver instead of each surface deciding which conditions load, and she keeps regex over a small classifier — choosing determinism over coverage, while naming it as a real trade-off."
    ],
    "takeaways": [
      "Stop stuffing brand voice into one system prompt. Compose every surface's prompt through a single assembly point in a fixed order — hard rules first, task last — instead of accumulating per-surface prompts.",
      "Put the things your brand can never say in a layer the voice physically cannot reach, and write them as constraints rather than preferences (AI disclosure, no-body claims, banned certainty words).",
      "Build the situational layer at all: branch on who is in the conversation and what they're going through, feed soft context in for tone only (never quoted back), and render human context before numeric constraints.",
      "Add a deterministic post-generation check that reads actual output and validates specifics — dates, prices, policies — against an allow list. It's the cheapest layer to build and the only non-probabilistic one; prevention is the prompt, the veto is the check, and you need both.",
      "In multi-tenant systems, make missing brand identity throw rather than fall back to a default, so you never silently ship one tenant speaking in another's voice."
    ],
    "topics": [
      "prompt-engineering",
      "llm-guardrails",
      "brand-voice",
      "agent-architecture",
      "multi-tenancy",
      "output-validation",
      "trust-and-safety",
      "ai-disclosure"
    ],
    "tools": [
      "In Bloom",
      "Thread Light",
      "regex",
      "Google Maps (as routing analogy)",
      "Isadora & Co"
    ],
    "quotes": [
      {
        "text": "I'm not programming a robot, I'm managing a brilliant intern with an incredibly high IQ and a terrible EQ.",
        "at": "00:21",
        "url": "https://www.youtube.com/watch?v=ij-AU9dpJjc&t=21s"
      },
      {
        "text": "They will say something technically perfect and socially catastrophic in the same confident sentence.",
        "at": "00:36",
        "url": "https://www.youtube.com/watch?v=ij-AU9dpJjc&t=36s"
      },
      {
        "text": "You haven't given them good service, you've given them a disappointment with a 48-hour delay on it.",
        "at": "15:30",
        "url": "https://www.youtube.com/watch?v=ij-AU9dpJjc&t=930s"
      },
      {
        "text": "The first three layers are instruction, the fourth is permission. And that's the whole distinction. Instructions are probabilistic. Permission is deterministic.",
        "at": "18:12",
        "url": "https://www.youtube.com/watch?v=ij-AU9dpJjc&t=1092s"
      }
    ],
    "words": 4314
  },
  "summary_url": "/#ij-AU9dpJjc",
  "transcript": {
    "html": "/transcripts/ij-AU9dpJjc.html",
    "txt": "/transcripts/ij-AU9dpJjc.txt",
    "vtt": "/transcripts/ij-AU9dpJjc.vtt"
  }
}