← Project hub · docs · Production readiness

Production readiness

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

At a glance

Frozen 2026-09-19 audit: what works, blockers B1-B5, secondary gaps, execution plan.

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

Download PDF ↓

Details

2026-09-19 (PST) · Sage@miniPC · read-only audit (no code, no SEND flags, no Trackmint touched)

Question from Barry: "What do we need to do to roll out in production? What are we missing?" Scope: docs + code under ~/apex/receptionist/, ~/apex/website/projects/ai-assistance/, CoS/leads progress, vault decisions. Standing locks respected throughout: Never Fuller · demo DID +1 (650) 476-2005 only · AUTHORIZE SEND NO.


1. What ALREADY works end-to-end today (don't undersell)

Honest framing: this is a demo-grade single-tenant product with a production-grade sales pipeline sitting behind a closed gate. progress.md self-assesses pctReady 58 — fair.


2. Critical blockers (ranked)

B1 — No production call path for a real customer (BIGGEST)

B2 — Booking promise isn't real: no SMS, no persistence

B3 — No live billing

B4 — Production-call compliance pack missing

B5 — The gate itself: SEND is NO and only Barry can flip it


3. Secondary gaps (needed soon, not blocking customer #1)

#GapWhy it mattersEffortWho
O1No monitoring on the call path — nothing in ~/apex/monitoring/ watches the demo DID or a future customer line; no alert if Retell is down or the agent errors mid-call"Fails as silence on a real client's phone" (our own CLAUDE.md)S — daily/hourly scripted test call + Retell API health check into existing fleet-health alertingSage autonomous
O2No failure fallback — if Retell/LLM dies mid-call, caller gets dead air; no forward-to-voicemail/owner-cell fallback configuredFirst bad night destroys trust with customer #1S–M (carrier-side no-answer forwarding config + documented in onboarding)Sage designs; per-customer config
O3No onboarding runbook — nothing documents "plumber says yes → live": intake (greeting, hours, escalation number, services, price disclosures), provisioning, forwarding setup (*61*/conditional forward), test call, go-live checklistEvery hour of Barry-time per customer is margin lostS — Sage writes itSage autonomous
O4No customer-facing transcript/booking visibility — owner gets (future) SMS but no log/dashboard of calls & bookingsChurn risk; also the upsell surfaceM — simple per-customer page can ride on existing owner-board demo UXSage
O5Cost/capacity model undocumented — Retell ≈ $0.07–0.13/min + DID + SMS; at $199/mo a chatty shop could eat margin; no per-account usage capPricing safetyS — one doc + usage alertSage autonomous
O6Multi-tenant backend — per-client folder copies are fine for 1–5 customers; real auth/tenancy/persistence needed to scaleExplicitly listed in progress.md Missing; NOT needed for customer #1L — deferSage, later
O7Marketing site / SEO / self-serve signup — hub is demo-grade, no public pricing/checkout pageInbound channel stays darkM — after first paying customerSage, later
O8Calendar/CRM integration (real write to Google Calendar / Jobber / Housecall)"One shared book" SKU promise; SMS-only window is acceptable v1M–L — defer, sell SMS-window v1Sage, later

4. Execution plan — today's state → first paying customer

Principles: batch Barry's actions into three short sessions; everything else Sage runs autonomously with proof (burn-in, not assurances). Long-lead items (SMS registration) start on day 1. All money/brand/go-live moments ping Barry per standing rule.

Phase 0 — Compliance + plumbing prep (Days 1–2)

StepWhatWhoDurationUnblocks
0.1Add AI + recording disclosure lines to template greeting (all vertical flows), staged on demo agent for verificationSage2 hB4, Phase 3 go-live
0.2Draft privacy policy, ToS, data-retention policy (transcripts 90 days default, recordings off by default for pilot) as hub pages, unlinked until approvedSage3 hB4
0.3Write onboarding runbook + customer intake form (greeting text, hours, escalation cell, services, forwarding instructions per carrier)Sage3 hO3, Phase 3
0.4Stand up demo-DID health monitor (scripted Retell API check + daily test web-call) wired into fleet alertingSage2 hO1
0.5Write cost model (per-min Retell + DID + SMS vs $199) + usage-alert thresholdSage1 hO5
0.6BARRY BATCH #1 (~30 min, one sitting): (a) supply postal/mailing address for CAN-SPAM footers; (b) confirm entity name (or "sole prop for pilot"); (c) create Stripe account; (d) create Twilio account + start toll-free SMS verification (fast path) and A2P 10DLC (slow path, background); (e) authorize purchase of 1 production DID (~$2–5/mo)Barry30 minB2, B3, B4, B5

Phase 1 — Make the promise real (Days 2–5, after Barry batch #1)

StepWhatWhoDurationUnblocks
1.1Insert postal address into the 4 held drafts; QA pass (incl. Lead D (Houston-metro plumbing) surname check)Sage30 minB5 send
1.2Stripe: $199/mo subscription Payment Link + webhook → notify on signup; test-mode proof firstSagehalf dayB3
1.3Booking persistence: Retell post-call webhook → small VPS service → store booking + owner SMS via Twilio (toll-free) ; burn-in on demo line 48 hSage1–2 daysB2
1.4Provision "pilot plumber" agent from plumber template on a SECOND staging config: disclosure greeting, real hours, escalation number, end-to-end test (call → booking stored → SMS received)Sage1 dayB1
1.5Report to Barry with proof: recording of test call, screenshot of SMS, Stripe test receiptSage—Barry confidence for Phase 2

Phase 2 — Open the funnel (Day 5–6)

StepWhatWhoDurationUnblocks
2.1BARRY BATCH #2 (~10 min): review 4 drafts, AUTHORIZE SEND per shop by name (Lead C (Houston-metro plumbing), Lead D (Houston-metro plumbing), Lead A (DFW plumbing), Lead B (DFW plumbing))Barry10 minTop of funnel
2.2Send the 4 Track A emails from Barry's Gmail (one shop per email, per held drafts); log sends; honor opt-outs ≤10 daysSage (with Barry's send auth)1 hReplies
2.3Reply watch: Sage drafts responses within the hour, demo links + demo DID; books a live demo call slot with interested ownerSage drafts / Barry approves sendsongoingPhase 3
2.4In parallel: run next lead batches through the existing Leads→Legal→Marketing→QA machine (Houston Track B revisit, next metro) so the funnel isn't 4 emails deepSageongoingpipeline depth

Phase 3 — First close + go-live (Week 2–4, driven by reply rate)

StepWhatWhoDurationUnblocks
3.1BARRY BATCH #3: the human close — one phone/email exchange with the interested owner; take the yesBarry~30 min per prospectContract
3.2Customer pays via Stripe link → Sage provisions: buy their DID, clone plumber template with their greeting/hours/escalation, disclosures on, monitor onSagehalf dayLive service
3.3Customer sets after-hours conditional forwarding (from our one-pager); joint test call; Barry pinged at go-live (brand/live rule)Customer + Sage1 hLive
3.448 h burn-in: monitor every call, Sage reviews transcripts daily, fallback verified; then declare customer #1 LIVE with numbers, not assurancesSage2 daysProof

Phase 4 — After customer #1 (not before)

Multi-tenant backend + auth (O6) · owner dashboard (O4) · calendar/CRM write (O8) · marketing site/SEO/self-serve checkout (O7) · scale outreach beyond hand-held sends.

Barry's total footprint to customer #1: three batches ≈ 70 minutes + one sales conversation. Everything else is Sage, with proof at each gate.


5. Compact version (phone-readable)

Works today: Retell voice agent live on demo DID · 7-vertical demo hub · pricing set ($199/mo) · 4 legally-cleared outreach drafts HELD · deploy + daily-beat ops.

Blockers: (1) no per-customer number/agent provisioning · (2) booking SMS + storage are stubs — core promise not real · (3) no live Stripe · (4) no AI/recording disclosure, no privacy/ToS, no postal address · (5) SEND gate closed.

Order: Sage prep (disclosures, policies, runbook, monitor) → Barry 30-min batch (address, Stripe, Twilio, DID auth) → Sage wires SMS+storage+billing, proves it on staging → Barry authorizes 4 sends → replies → Barry closes one → Sage provisions → 48 h burn-in → first paying customer. ETA ≈ 2–4 weeks, gated mostly by email reply rate.

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/production-readiness-2026-09-19.md by bin/publish-docs.py. Republish: python3 ~/apex/bin/publish-docs.py then rsync docs/ per COS-DEPLOY.md. Never Fuller.