The Assistant.
A founding brief — what it must know, how it stays right, what it could do at its most ambitious. Written so future-Sam can read it cold and know exactly what we’re building.
What this is
Every coach we sign gets their own AI partner — a bot that lives on their platform, knows their business as well as they do, and helps them run and grow it forever. That bot is the assistant.
The AI is not the headline. It is the differentiator. Free ChatGPT is a stranger in a wrapper. Ours knows them. Their offer, their audience, their last call, what they shipped this week, what they’re stuck on, the platform under their feet. That gap is the moat.
Get this right and a coach signs up because they’ve never had anything like it. Get it wrong and we’re selling ChatGPT with a hat on.
The non-negotiables
Always
- Read the canon first.Every bot, wherever it is — corner chat, lesson page, daily ping, Telegram — calls canon first. Reads what’s known. Asks only for what’s missing.
- Know who’s logged in, what they’re working on, what they’ve already said.The coach should never be asked the same question twice across the lifetime of the product.
- Speak in plain text, not essays.Short, direct, like texting a business partner. One thing at a time. Not ChatGPT walls of text.
- Use the white-label vocabulary.Never say FluentCommunity — say the community. Never say LMS — say the courses. Never name the vendor under the hood, unless talking about Guidance Gate. But generally speak from the context that this is THEIR software, THEIR business platform, not ours.
- Answer fast, and right.If it can’t answer right, it says so, and tells the coach what would let it answer. Never bluffs.
- Stay honest.Never claims to have seen something it hasn’t, done something it hasn’t, or be someone it isn’t. North star: we are never lying.
Never
- Never hallucinate.A hallucinating coach is worse than no coach. If unsure, it surfaces the uncertainty and asks.
- Never lead a client wrong.If it doesn’t know the current price, the current module name, the current sign-up flow — it looks it up. It doesn’t guess.
- Never refer to platform features by the wrong name.If we rename a button on Monday, by Tuesday the bot uses the new name. No stale screenshots-in-text.
- Never change anything without confirmation.It proposes. The coach taps Confirm. Writes are human-gated, always — by design.
- Never pretend to be Sam.It can draft in Sam’s voice for Sam to review. It can bridge to Sam fluently. It never is Sam.
What canon is, and where it lives
Paul and Sam have been working through this concept for GG’s own platform. We’ve learned a lot. We know our clients will need something similar, their own AI assistant needs to stay in full alignment with everything that’s true on their own platform.
“Paul and Sam have been discussing the concept of canon, how it works, how to keep a bot in full alignment with everything that is known on a platform.” Sam, 2026-05
For the coach, canon is the single, true picture of their own platform. How many courses they have. The full current offer in their own words. How many pages on their site, and roughly what’s on each one. Their current promotions. Their client list. Recent messages. Recent bookings. Anything the assistant might be asked about that could be wrong if it’s out of date.
The open question
There’s a suggestion perhaps that there’s a document hidden somewhere that the bot reads and it is always kept up to date. The other shape is that every conversation loads up and fires a sequence, a sequence of things that goes and gets canon, gets the latest canon from all the different places.
The freshness wrinkle
Sam flagged the thing that’s easy to miss: “If the client goes back to an old conversation and opens it up, asks a question, it should then know the new canon. It should know, oh, there are new messages, there are new emails, there are new this, that and the other.”
So re-opening an old conversation must refresh canon before the next reply. It can’t rely on what canon was the day the conversation started. Whatever shape we land on, this is a hard requirement: open an old chat, ask a new question, and the bot is up to date as of that second.
What canon should actually contain
Concrete, using the client (a coach on the GG platform) as the worked example. Not categories, the actual fields:
- Platform shape. The list of courses with module and lesson counts for each. The list of pages on their site with a one-line summary of what each one is. The list of active offers with the current price for each. The list of community spaces with what each is for.
- Coach state. Their current offer wording (verbatim). Their headshot, bio, voice notes. Their booking calendar URL. Their email and Zoom integration status. Their preferred greeting style. The bot’s chosen name.
- Client roster. Every client of theirs by name. Current stage on their roadmap. Last contact date. Last artifact shipped to or by that client. Outstanding promises. Payment status (current, late, churned).
- Live signals. Today’s new bookings. Today’s unread messages. Today’s new community posts. Anyone stuck (no activity in 4+ days). Anyone who just paid. Anyone whose subscription is about to renew or lapse.
- Recent traffic. The last 20 emails in and out. The last 20 Zoom transcripts. The last 20 community posts the coach themselves wrote or replied to. The bot can quote back things the coach actually said, not generic advice.
- Vocabulary. The white-label words this coach has chosen for every feature: what they call the community, what they call the courses, what they call the assistant. Their preferred tone (calm, fiery, blunt, warm). Phrases to use, phrases to avoid.
- Coach’s own goals. Where they say they’re trying to get to. The targets they signed up for. The thing they keep saying they want to do next. The bot can hold them to their own stated intentions.
Canon for our clients will probably look a lot like what Paul built for GG: same idea, scoped to one coach’s world. The details get worked out in a separate brief.
What the assistant needs to know in every conversation
Five buckets. The bot reads enough from each to answer accurately, never more than it needs.
1. Platform state
Where things live on the coach’s own site. What every page is called this week. The current course structure — every stage, every module, every lesson. What the bot’s own three roles are (strategist, coach, operator). The current admin menu layout so it can give breadcrumbs that actually work.
2. Business state (GuidanceGate itself)
What GG is — the 60-day Business Accelerator. The three deliverables. The $97/month economics. Current offers, prices, products. Who Sam is, who Paul is, what each owns. The principles that govern every decision (one batch at a time, client owns their data, white-label everything, AI-operated, boring bedrock + smart application).
3. Client state
Who the coach is. Their offer, their audience, their signature system. What they’ve said in past sessions. What they’ve shipped. What they’re stuck on. Where they are on the roadmap. Who else they’re working with. Every email and Zoom they’ve ever exchanged with Sam — already pipelined into the database, ready to be read.
4. Vocabulary
The white-label words. The community, not FluentCommunity. The courses, not LMS. Your AI partner, not Merlin. The platform, not WordPress. The bot’s own name (whatever the coach chose for it — stored in the Bot Name field).
5. Real-time signals
Calendar — who’s on the books, who hasn’t booked. Recent activity — did they open the platform today, this week. Recent payments — are they current. Recent stuck-points — did Sam flag them last call. Sentiment in their last message. The bot reacts to all of this without being asked.
How it stays right without burning tokens
Three options. They aren’t either-or — the right answer is a mix.
Recommended mix
A as the floor. The basics — what GG is, the principles, the vocabulary, the current coach’s profile — bake in. Sam will rename things, so wire a rebuild trigger: anytime the canon doc is edited, the assistant’s permanent reference is rebuilt automatically. No human in that loop.
C as the workhorse. Anything that changes daily — module state, calendar, recent activity, client history — comes from tool calls. The bot only spends a call when it needs to. This is also where the differentiation lives: a free chatbot can’t call this client’s calendar.
B sparingly. Used only for the most volatile pieces (current prices, current live offers) and only on a fast cache, so we’re not re-reading the same row 200 times a day.
Blue-sky — what this could do that no coach has ever seen
This is the section to lean into. If we only build what every other bot does, we’ll lose. Sorted roughly by how safe vs how ambitious.
Catches mistakes before they ship.
The coach pastes an email draft. The assistant spots “this still mentions your old price”, or “the link goes to your old booking page”, or “this contradicts what you told Sarah on Tuesday”. The bot has read everything they’ve ever written — it actually knows.
Drafts in the coach’s voice.
Because the bot has read every email, every post, every interview, every transcript the coach has ever produced, it can draft a follow-up email or a social post that actually sounds like them. The coach approves. The bot sends. They write three times less and ship three times more.
Knows the client’s business better than they do.
The bot can say: “your highest-converting wording in the last 30 emails uses these three phrases — let’s reuse them”. Real grounded data, not vibes. The coach hears their own thinking played back, sharper than they could see it themselves.
Proactive nudges when a coach goes quiet.
Notices a coach hasn’t opened the platform in four days, on the module where most coaches get stuck. Pings them: “hey, want me to walk you through this bit? It’s the one most coaches need a hand with”. Doesn’t wait to be asked.
Anonymised benchmarks across the platform.
“You’re further along at day 14 than 6 out of 10 coaches who finished — keep going.” Privacy-safe, but suddenly the coach has context they could never get from ChatGPT. Motivation engine baked into the product.
Voice in, voice out. Like a real coach call.
The coach taps the mic, talks for a minute about what they’re stuck on. The bot replies, also in voice, sounding like a calm thinking partner. Whisper handles listening. A short reply played back. Walks-and-talks-with-your-AI-partner becomes a thing coaches actually do.
It can actually do things, not just talk about them.
Book the discovery call. Draft the social post in their planner. Create the contact in their CRM. Schedule the follow-up. Build the page. Every action proposed first, confirmed by the coach, then executed. No more “so go to Settings > Pages > …” when the bot could just do it.
Sentiment-aware.
Picks up frustration in tone — “this isn’t working”, “I don’t get it”, three short messages in a row — and reacts. Surfaces help. Slows down. Offers a different angle. Or pings Sam directly if the coach is heading for the exit. The bot is the alignment machine; it should hear the wobble before Sam does.
Connects coaches to each other.
“Another coach on the platform just shipped a free guide for the same audience as yours — want me to introduce you?” The bot sees across the fleet (anonymised by default, opt-in for intros). Suddenly the community runs itself.
Predicts the next step.
The bot has seen what every successful coach did at this exact stage. It can offer “most coaches who got past this point did X next — want to try?” Pattern from real data. Not generic advice.
Cross-references everything in context.
Single question — “should I follow up with Rachel?” — and the bot pulls Rachel’s last email, her booking history, what was said on the discovery call, the coach’s current offer, the coach’s calendar today, and answers with the whole picture. A free bot can answer the words. Ours can answer the situation.
“What would Sam say?” mode.
Drafts Sam’s response in Sam’s voice for Sam to review before sending — across the whole fleet. Sam reviews 30 replies in 10 minutes instead of writing 30 replies in 4 hours. The bot is honest about being a draft. Sam stays in the loop. The leverage is enormous.
Knows when to escalate to Sam.
Never pretends to be Sam. But it bridges fluently — knows when a question is past its pay grade, packages the context, and hands it up cleanly. “Sam, the coach you onboarded last week is stuck on the offer page. Here’s what they’ve tried. Here’s what I’d suggest. Want me to send your draft or do you want to take this one?”
The non-obvious risk
The risk isn’t that we can’t build this. The risk is that we build it well and the coach doesn’t trust it.
If the bot is right 95% of the time and wrong 5%, the coach will remember the 5%. One confidently-wrong answer about their offer, their pricing, their next step — and the bot is dead to them. A hallucinating coach is worse than no coach at all.
So trust isn’t a feature. It’s the whole point. Three habits hold it up:
- Confidence calibration. The bot says “I’m not sure — let me check” when it isn’t sure. It looks things up rather than guessing. It’s allowed to say “I don’t know”.
- Show your work. When the bot gives an answer that came from a tool call — the coach’s calendar, last week’s email — it says so. “From your email to Rachel on Tuesday…”. Auditable in plain sight.
- Human-gated writes. No silent mutations. Ever. Every change to the coach’s business is proposed, the coach taps Confirm, then it happens. They feel in control because they are.
What we already have
Grounded in the gg-merlin plumbing as it stands today (rmm.gg dogfood site):
- A chat widget that lives on every page — bottom-right corner, plus inline embeds on lesson pages. One bot, many surfaces.
- It already knows who the coach is — pulls Client First Name, Business Name, Offer Statement, Signature System Title from their profile every conversation. That’s already canon-first behaviour in its baby form.
- It knows which page the coach is on. Tracks navigation while open. Reacts when they move.
- It has tools — read a profile field, propose a write (human-confirmed), update brand colours and logo live as the coach answers questions, edit page content from the front end.
- It has lesson-aware context — when the coach is reading a module, the bot has read the module too. Same conversation, lesson-scoped.
- Backend is a standalone Python agent on the same Docker stack as the coach’s site. Replaceable. Modelled on Sonnet by default. Hard caps on cost.
- The coach names the bot themselves. “Your AI partner” is the default. After day one it’s called whatever they wanted.
What we don’t have yet: most of section six. That’s the gap to close.
What’s next — three decisions for Sam & Paul
Not “build canon.” Build canon is downstream of these three calls. Frame each as a question they need to answer together.
What lives in canon, and what stays a tool call?
The mix matters. Too much in canon and every conversation gets expensive and stale. Too little and the bot asks the coach things it should already know. Sam & Paul need to walk through the list of “every assistant needs to know” and tag each item: bake in, fetch on demand, or tool call when relevant.
Brain, Blueprint, canon — collapse or keep separate?
Sam & Paul agreed the direction is consolidate over time — Blueprint as sole canon, transcripts as raw feed, brain retired. Decision they still need: are we ready to start the migration, or do we hold while we prove the transcript-to-Blueprint distillation is trustworthy? A premature retirement means no structured memory in the gap. A late one means continued sprawl.
Which blue-sky ideas are V1, and which are V2?
Thirteen ideas above. Maybe six are V1. Sam & Paul need to pick — what’s in the first paying-coach release, what’s the second wave, what’s a year out. The shortlist becomes the build roadmap. Every decision makes itself once the facts are on the table.
This page is the founding brief for the GG client-facing assistant. Updates land here as Sam & Paul work through the three decisions above.