← Project hub · docs · Master plan

Master plan

SEND NO Never Fuller Demo DID +1 (650) 476-2005 only Web render · leads redacted

At a glance

THE living execution plan. Every task named Barry or Sage; phases 0-4 to customer #1.

Updated 2026-09-20 07:12 PT · full detail in the sections below — jump straight to one:

Download PDF ↓

Details

This is THE plan. One row per task, every row named Barry or Sage (Helen/CoS only where real).

Convention (Barry, 2026-09-19): discussion → update the plan. After every discussion with Barry that changes scope, order, or ownership, the agent updates THIS file (and the SOP docs it points at) in the same session, stamps the "Updated" line, and logs the change in the journal. Never let a decision live only in chat. Sister docs: SELLING-SYSTEM.md (how the machine works), production-readiness-2026-09-19.md (the frozen audit this plan grew from).

Updated: 2026-09-19 ~10:55 PM PT by Sage@miniPC Project home: https://apex.socialtokens.site/projects/ai-assistance/ · Dashboard: …/dashboard/ · Customer site: …/website/ · Leads pipeline: …/leads/

Update 2026-09-19 (site restructure, per Barry): the project URL now splits by audience — root = PROJECT HOME (title, link cards, locks), /dashboard/ = live status (leads counts, phase table, monitor), /website/ = the CUSTOMER-FACING site (4-offering menu with honest available/coming-soon labels, demos, $199 pricing — no internal project info), /webapp/ = the booking prototype. Plan docs are each a webpage + downloadable PDF under /docs/ (PRD · marketing research · financial · SOP · master plan · selling system · production readiness — new canonical sources PRD.md, marketing-research.md, financial.md, SOP.md in this folder, rendered by bin/publish-docs.py). The 4 HELD outreach drafts now link …/ai-assistance/website/. Monitor aiassist-callpath-watch checks both root and /website/.

Standing locks (every row inherits these): AUTHORIZE SEND NO until Barry names the shop · Never Fuller (+1 650 460-1036 never dialed/texted/linked) · demo DID +1 (650) 476-2005 only · no purchases without Barry · no Trackmint.


Where we are (one glance)


Phase 0 — Compliance + plumbing prep

#TaskOwnerState
0.1AI + recording disclosure lines in every greeting (template flow + all 8 demo verticals; paste doc greeting-disclosures.md)Sage✅ DONE 9-19
0.2Privacy policy, ToS, data-retention drafts (docs/legal/) — unlinked until approvedSage✅ DONE 9-19 (needs Barry's entity + postal to finalize)
0.3Onboarding runbook + customer intake form + carrier forwarding one-pagerSage✅ DONE 9-19
0.4Demo-DID call-path monitor wired into fleet alerting (aiassist-callpath-watch, 15-min)Sage✅ DONE 9-19 — burning in
0.5Cost model + usage-alert threshold (cost-model.md: 100 calls/mo ≈ $42 → $157 margin at $199)Sage✅ DONE 9-19
0.6BARRY BATCH #1 (~30 min, one sitting): (a) postal/mailing address for CAN-SPAM footers · (b) entity name or "sole prop for pilot" · (c) create Stripe account · (d) create Twilio account + start toll-free SMS verification (fast) and A2P 10DLC (slow, background) · (e) authorize purchase of 1 production DID (~$2–5/mo)Barry⏳ WAITING BARRY — the single blocker for Phase 1
0.7Leads status live on the project page, regenerated from agents/leads/leads-data.json (bin/update-leads-status.py)Sage✅ DONE 9-19
0.8Master plan (this doc) + selling-system doc written and kept livingSage✅ DONE 9-19

Phase 1 — Make the promise real (after Barry Batch #1)

#TaskOwnerState
1.1Insert Barry's postal address into the 4 held drafts; final QA pass (incl. Lead D (Houston-metro plumbing) surname check)Sageblocked on 0.6a
1.2Stripe $199/mo subscription Payment Link + signup webhook; prove in test mode firstSageblocked on 0.6c
1.3Booking persistence: Retell post-call webhook → small VPS service → store booking + owner SMS (toll-free) · 48 h burn-in on demo lineSage (VPS side may ride Helen's host — Sage owns build)blocked on 0.6d
1.4Provision "pilot plumber" agent from plumber template on a second staging config; end-to-end proof (call → booking stored → SMS received)Sageblocked on 1.3
1.5Proof pack to Barry: test-call recording, SMS screenshot, Stripe test receiptSageafter 1.2–1.4

Phase 2 — Open the funnel

#TaskOwnerState
2.1BARRY BATCH #2 (~10 min): review 4 drafts, AUTHORIZE SEND per shop by name (Lead A (DFW plumbing) · Lead B (DFW plumbing) · Lead C (Houston-metro plumbing) · Lead D (Houston-metro plumbing))Barryblocked on 1.1
2.2Send the 4 Track A emails from Barry's Gmail (one per shop, per held drafts); log sends; honor opt-outs ≤10 daysSage (with Barry's named auth)blocked on 2.1
2.3Reply watch: draft responses within the hour (demo links + demo DID); book live demo slotsSage drafts / Barry approves sendsafter 2.2
2.4Next lead batches through Leads→Legal→Marketing→QA→CoS-hold (Houston Track B revisit; next metro) so the funnel isn't 4 emails deepSage (CoS holds the queue)can run any time — not blocked
2.5Backfill: take all 7 dossier-only Track A keeps through Legal review + Marketing draft + QA → HELD in receptionist/docs/ — Austin (Lead E (Austin plumbing), Lead F (Austin plumbing)) · Columbus (Lead G (Columbus auto), Lead H (Columbus auto)) · Lead I (Jacksonville HVAC) · Lead J (Indianapolis electrical) · Lead K (Louisville plumbing/HVAC). (G9 resolved 2026-09-19: the Austin/Columbus "held drafts" never existed on any host — re-verify sites + draft from scratch)Sagecan run any time

Phase 3 — First close + go-live

#TaskOwnerState
3.1BARRY BATCH #3: the human close — one phone/email exchange per interested owner; take the yes (~30 min each)Barrydriven by reply rate
3.2Customer pays via Stripe link → provision: buy their DID (Barry auths spend), clone vertical template with their greeting/hours/escalation, disclosures on, monitor onSage (Barry: DID spend auth)after 3.1
3.3Customer sets conditional call-forwarding from our one-pager; joint test call; Barry pinged at go-liveCustomer + Sageafter 3.2
3.448 h burn-in: every call monitored, transcripts reviewed daily, fallback verified — then declare customer #1 LIVE with numbers, not assurancesSageafter 3.3

Phase 4 — After customer #1 (not before)

Multi-tenant backend + auth · owner dashboard · calendar/CRM write · marketing site/SEO/self-serve checkout · scale outreach beyond hand-held sends · build the text-assistant and website offerings into real SKUs (see SELLING-SYSTEM.md §8 gaps G1–G3). All Sage, sequenced with Barry.


Barry's total footprint to customer #1

Three batches ≈ 70 minutes + one sales conversation per prospect. Everything else is Sage, with proof at each gate.

What Sage needs from Barry to keep these docs true

  1. Postal/mailing address (0.6a) — unblocks the 4 drafts' CAN-SPAM footers.
  2. Entity name or "sole prop for pilot" (0.6b) — finalizes privacy/ToS drafts.
  3. Stripe + Twilio accounts (0.6c/d) — only Barry can (identity/bank).
  4. DID purchase authorization (0.6e) — money = Barry.
  5. Confirm the four-offering menu + pricing for the non-voice SKUs (text assistant / web app / website) — today only voice has a decided price ($199/mo). See SELLING-SYSTEM.md §2.
  6. Send authorizations, per shop by name (2.1) — the gate stays closed until then.

Web-version note: specific lead business and owner names are redacted here to “Lead A–K (metro, vertical)” labels. Full names live in the private repo registry (agents/leads/leads-data.json) and the live leads pipeline.

Generated 2026-09-20 07:12 PT from receptionist/docs/MASTER-PLAN.md by bin/publish-docs.py. Republish: python3 ~/apex/bin/publish-docs.py then rsync docs/ per COS-DEPLOY.md. Never Fuller.