# P13 — Progress Tracker

**Updated:** 30 August 2026 · Updated with every completed task (working-agreement rule 2). This file also carries the two ledgers the kill criterion runs on: **hours-per-client** and **per-client margin**.

## Status summary

| Item | State |
|---|---|
| Phase | Planning complete · delivery repo built · **P1 execution blocked on money** |
| Blocked on | **O2** (billing entity + payment method) and **O4** (≤$150 budget) block `F-01`→`F-02`→QA · **O1** (pilot shortlist) blocks `F-03`. All founder decisions, nothing external |
| Next action | **Answer O2 and O4.** Then `runbooks/R1` — 2 hours, under $20, first test call the same evening |
| Clients live | 0 |
| MRR | $0 |
| Can the service answer a phone call today? | **No.** No account, no number, no configured assistant |
| P8 gate date | ~ week of 19–25 Oct 2026 |

## Task log

| Date | Task | Status | Evidence | Next |
|---|---|---|---|---|
| 2026-08-30 | Planning documentation suite (19 docs) written; platform/pricing/telephony/law research completed with sources | ✅ Done | This folder; sources in `FOUNDER_GUIDE.md` §8, `SECURITY.md` §7 | Founder reads path (`BUSINESS_PLAN.md` Part 7), answers O1/O2/O4 |
| 2026-08-30 | **Delivery repo built** at `Sites/php/MinaReception` — doc suite copied as the living version; `prompts/`, `runbooks/`, `qa/`, `site/`, `clients/` scaffolded | ✅ Done | Repo root `README.md` | — |
| 2026-08-30 | **`C-01`/`C-02` Restaurant template `restaurant-v1` written** — identity + 3 greeting variants, knowledge-pack schema, 6 call flows, 4 escalation triggers with scripted wording, forbidden topics, after-hours, assembled paste-ready system prompt, 6 tool definitions, fully-populated fictional fixture | ✅ Written · ⛔ **unvalidated** | `prompts/restaurant/` (13 files) | Load onto a platform and run the 20-call script — blocked on O2/O4 |
| 2026-08-30 | **20-call QA script staged** as a runnable sheet with per-case steps, result and evidence columns; preconditions and calendar seeding specified | ✅ Staged · ⛔ **NOT RUN** | `qa/20-call-script.md`, `qa/README.md`, `TEST_PLAN.md` results ledger | Needs a live assistant on a real number |
| 2026-08-30 | **`F-01` runbook written and NOT executed** — account setup, vendor-price verification, US number purchase, dormant Vapi fallback, WhatsApp-route confirmation, with capture boxes | ⛔ **Blocked** — O2, O4 | `runbooks/R1-platform-account-setup.md` | Founder decisions |
| 2026-08-30 | **`F-02` measurement instrument built and NOT executed** — 10-call protocol, call log, tier re-run table, plus a tested calculator | ⛔ **Blocked** — depends on `F-01` | `runbooks/R2-cost-measurement.md`, `runbooks/cost_calc.py` (`--test` passes) | **The $0.10/min planning number remains an assumption** |
| 2026-08-30 | Per-client onboarding SOP and go-live gate turned into executable checklists with hour boxes; client runbook template written | ✅ Done | `runbooks/R3`, `R4`, `templates/CLIENT_RUNBOOK.md` | Used at first pilot |
| 2026-08-30 | **Landing page for minareception.com built** — pitch, self-service missed-call calculator, three tier cards with caps, straight-answers FAQ, demo-call CTA. HostModules design tokens | ✅ Built · ⛔ **cannot publish** | `site/index.html`, `site/README.md` | Domain unpurchased; demo number doesn't exist |

## Hours-per-client ledger (the kill-criterion meter — updated weekly)

> Kill criterion, verbatim: **delivery time >10h/client/mo (service margin death) → drop or productize config into templates.** Target steady state ≤ 2h/client/mo.

| Client | Month | Setup h (one-time) | Care h this month | Status vs kill line |
|---|---|---|---|---|
| — | — | — | — | **no clients yet** |

### Template-build ledger (not client hours — the D4 investment)

`SPEC.md` D4 sets the trajectory the template library has to deliver: **pilot 1 ≈ 25h setup → pilot 3 ≤ 12h → steady state ≤ 8h setup / ≤ 2h care.** Hours spent building templates are the investment that buys that curve, and they are tracked separately so they never flatter or distort a client's ledger row.

| Date | Item | Hours | Note |
|---|---|---|---|
| 2026-08-30 | `restaurant-v1` template + QA staging + runbooks + landing page (agent session) | — | Built in an assistant session, not founder hours. **Recorded as zero founder hours by design** — the founder time this replaces is the ~10h of `C-01`+`C-02` estimate in `TASKS.md` |
| | `F-01` platform setup | | est. 2h |
| | `F-02` cost measurement | | est. 3h |
| | 20-call QA run on the template | | est. 4h |

> **Start logging founder hours from the first minute of `R1`.** The kill line is a *rate*, and a rate cannot be reconstructed from memory at month end. The `runbooks/` files all carry hour boxes for this reason.

## Per-client margin ledger (monthly, from `PRICING.md` §3 rules)

| Client | Tier | Minutes used / cap | Infra $ | Infra % of fee (floor 40%) | Action |
|---|---|---|---|---|---|
| — | — | — | — | — | — |

## Decisions log

| Date | Decision | Where recorded |
|---|---|---|
| 2026-08-30 | Docs namespaced under `docs/p13-ai-voice-receptionist/` (shared multi-project `docs/` root, same convention as P04) | This file |
| 2026-08-30 | D1–D10 settled (platform: Retell primary / Vapi fallback; caps on every tier; no white-label at pilot; template library as productization path; English-first) | `SPEC.md` §0 |
| 2026-08-30 | Pricing finding adopted: $99–199 viable **only with minute caps**; Pro tier ships budget-stack voice by default | `PRICING.md` §3 |
| 2026-08-30 | **Naming CONFIRMED by founder: brand = Mina ("Mina — your 24/7 receptionist"), domain = minareception.com** — verified available, purchase pending; USPTO screen (classes 35/42) due before print | `../DOMAINS.md` |
| 2026-08-30 | **Repo is `Sites/php/MinaReception`, not `Sites/php/Mina`** as the kickoff prompt specified. The MinaReception directory already existed, git-initialised, with remote `themetags/MinaReception.git` — the founder had already created it. Using the existing repo rather than making a second one; the name also matches the domain | This file |
| 2026-08-30 | **Landing page adopts the HostModules admin-panel design tokens** (`#0d1f0d` / `#1a3a1a` / `#5ddb5d` / `#f4f6f4`, IBM Plex Sans) at the founder's request, so Mina reads as part of the same house | `site/README.md` |
| 2026-08-30 | **No admin panel is in scope for P13** — `SPEC.md` D2 and §5 forbid a software build; there is no product to administer. If a client portal is ever scoped post-P8, the HostModules admin panel is the agreed starting template | This file |
| 2026-08-30 | **Template `restaurant-v1` marked 📝 (written), not 🟨 (built)** in `FEATURES.md`. 🟨 requires a configured, demonstrable assistant; nothing has been loaded onto a platform | `FEATURES.md` |

## Findings & bugs (reported plainly, never buried)

| Date | Finding |
|---|---|
| 2026-08-30 | **Margin warning:** uncapped usage at researched per-minute costs (~$0.10/min planning number) makes a $99 client unprofitable at ~750+ min/mo. Caps are existential. (`PRICING.md` §3) |
| 2026-08-30 | **Telephony finding:** UAE local VoIP numbers are effectively unavailable/blocked; BD heavily constrained. BD/Gulf = WhatsApp-calling markets. US is the friction-free market. (`COMPATIBILITY.md` §1) |
| 2026-08-30 | **Language finding (unresolved risk):** Bangla conversational STT/TTS unproven for phone-quality real-time use; gated experimental, tested at C-06 — do not sell Bangla yet. (`COMPATIBILITY.md` §3) |
| 2026-08-30 | Third-party pricing round-ups disagree on all-in $/min ($0.07–0.31 spread); first-party measurement task `F-02` exists to replace the planning number with our own measured figure |
| 2026-08-30 | **Pro tier breaches its own margin floor at full utilisation, and `PRICING.md`'s stated fix is the breaching case.** §3 prescribes "Pro ships on the budget stack by default" — but budget-stack Pro is $85 infra on a $199 fee = **42.7%**, against a 40% floor. At $0.10/min the floor implies a Pro cap of **746 minutes, not 800**. Mitigating: the floor is checked against *actual* usage, so a Pro client at 600 min sits at 33% and is fine; and a measured rate of $0.085 would clear it entirely. **Founder decision after `F-02`:** cut the cap, raise the price to ~$215, or state explicitly that the floor governs actual usage. Verify with `python3 runbooks/cost_calc.py --rate 0.10` (`PRICING.md` §3) |
| 2026-08-30 | **`ROADMAP.md` and `TASKS.md` disagree on task IDs from P3 onward — following the roadmap by ID would skip QA.** ROADMAP P3 calls `C-05` "pilot 1 onboarding" while TASKS `C-05` is "run the 20-call QA script on the template"; ROADMAP P4 calls `C-06` "clone template → vertical #2" while TASKS `C-06` is the Bangla/Arabic feasibility test; ROADMAP P5/P6 cite `C-07`/`C-08`, which don't exist in TASKS at all (pilot onboarding is `C-10`–`C-16`). **`TASKS.md` is the authority** — the runbooks in this repo follow its IDs. Someone working from the roadmap's IDs would ship a pilot without running QA on the template, which is the exact gate `RELEASE_CHECKLIST.md` §D calls blocking. Needs one editing pass on `ROADMAP.md` |
| 2026-08-30 | **The kickoff prompt compresses P1 and P2 into one week.** It lists the restaurant template (`C-01`+) and the QA run as P1 deliverables; `ROADMAP.md` places `C-01`–`C-06` in P2. The template work is now done ahead of schedule, so the compression is harmless here — but the P2 acceptance criterion ("setup-hours counter started") now begins earlier than the roadmap's week boundaries assume |
| 2026-08-30 | **Minor doc drift:** the kickoff prompt cites the founder open items as `SPEC.md` §9; they are §6. `TASKS.md` cites §6 correctly |
| 2026-08-30 | **The landing page has nowhere to go.** `minareception.com` is confirmed available but **not purchased**, and DOMAINS.md warns availability is a snapshot squatters watch. The page's primary CTA is a demo phone number that will not exist until `F-01`. The USPTO screen for "Mina" (classes 35/42, crowded name-space) is also outstanding and DOMAINS.md requires it before anything is printed on the brand |

## What's next (standing list)

### Blocking, founder-only — nothing below this line moves without it

1. **O4** — approve the ≤ $150 pilot budget. This is the single decision gating the entire delivery chain.
2. **O2** — billing entity and payment method (ThemeTags/BDT vs LLC/USD), and pilot price terms.
3. **Buy `minareception.com`** and run the USPTO screen (classes 35/42).
4. **O1** — name the 3 pilot clients. Restaurant first: `restaurant-v1` is the only template that exists.

### Unblocked the same day O2/O4 land

5. `runbooks/R1` — Retell account, US test number, first call. **2h, under $20, same evening.**
6. `runbooks/R2` — measure real $/min. **3h.** Rewrites `PRICING.md` §2–3 and settles the Pro-tier finding.
7. `qa/20-call-script.md` against `restaurant-v1` + the Clay Oven fixture. **4h.** First real evidence the template works.
8. `F-03`/`F-04` — missed-call audits on the O1 names, then the before/after demo asset.
9. `F-05` — 1-page pilot agreement.
10. `C-06` — Bangla and Arabic feasibility calls. Log the verdict honestly in `COMPATIBILITY.md`, including "it isn't good enough".

### Needs one editing pass, no blockers

11. Reconcile `ROADMAP.md` task IDs against `TASKS.md` (finding above).
