Weekly Digest 003
Built from ops/weekly/2026-09-07.json vs ops/weekly/2026-09-14.json, GitHub issue
history for that window, and decisions/ entries dated this week. Numbering note:
the previous digest in this repo is 002 (2026-08-24, period ending 2026-08-23) — no
digest was produced for the weeks of 2026-08-31 or 2026-09-07, so this digest's
carry-forward section spans three weeks of gap, not one. Flagged plainly below rather
than silently treated as a normal one-week cadence.
1. Drivers that moved
Diff of drivers block, 2026-09-07.json → 2026-09-14.json:
| Driver (JSON key) | 09-07 | 09-14 | Change |
|---|---|---|---|
| parents_invited_per_coach_per_month | 1.5 (n=4) | 2 (n=3) | value +0.5, n −1 — the denominator shrank (4 active coaches → 3), not a measured improvement in invite behavior |
| coach_monthly_churn | 0 (n=4) | 0 (n=3) | value unchanged, n −1 — same denominator shrink |
| reviews_per_active_parent_per_month | 1.333 (n=6) | 1.333 (n=6) | none |
| invite_to_first_purchase_conversion | 6 (n=1) | 6 (n=1) | none |
| parent_monthly_retention | null (n=0) | null (n=0) | none |
| price_per_review.usd | 15.00 (n=8) | 15.00 (n=8) | none |
Data anomaly, not a driver move but explains the table above: between the
2026-09-07 and 2026-09-14 exports, one coach (C-0f4b1805) and three never-purchased
parents (P-7b85a48b, P-5bb5b688, P-8f055e7e) present in every snapshot back through
2026-08-31 are simply absent from coaches/parents/roster in 2026-09-14.json — not
flagged inactive, gone entirely. volume.active_coaches drops 4→3 in step. No
contact_evidence row or decisions/ entry explains the coach's departure; the one
prior signal is a coach-churn↑-tagged contact with C-0f4b1805 from 2026-08-20
(carried in earlier snapshots, itself now dropped from the evidence array — see §2).
Flagging for the export owner rather than guessing at cause (deletion, deactivation, or
an export bug are all consistent with what's visible here).
Guess-basis baseline, now past the 3-week clock: digest 002 (2026-08-24) started a
3-week clock on five plan values still on basis: guess in model/assumptions.yaml
with no owner: coach_monthly_churn, parents_invited_per_coach_per_month,
invite_to_first_purchase_conversion, parent_monthly_retention,
reviews_per_active_parent_per_month. All five are still guess and still unowned
today — three weeks (or, given the digest gap, closer to seven) later. Flagging per the
honesty rule rather than letting it lapse further.
2. Evidence logged
contact_evidence rows in 2026-09-14.json dated after digest 002's period
(2026-08-23) — i.e., genuinely new since the last digest:
| Handle | Date | Channel | Driver tags | Direction |
|---|---|---|---|---|
| C-26df727f | 2026-09-09 | call (us) | coach-churn↓ | Positive — a retention-leaning coach touch |
| P-c2dc0179 | 2026-09-11 | call (us) | retention↑, frequency↑, price, retention↓, frequency↑ | Mixed — net frequency/retention-positive tags outnumber the one retention↓, but not a clean read |
Every other row in the current export (P-4719cb7d, P-7d3431ec, P-2952f6f8, P-494a7944, P-f1c95a7d — all dated 2026-08-19/08-20) falls inside digest 002's own period and was already the basis for that digest's touch-point table; not re-counted here as new.
Same caveat as digest 002 flagged: the contact_evidence array does not read as
cumulative — the two 08-19/08-20 rows for C-0f4b1805 present in the 09-07 export are
gone from 09-14's array entirely, in step with that coach's disappearance noted in §1.
Whatever the cause, a digest that only reads the latest snapshot cannot fully trust it
as an append-only log; flagging for the export owner again.
3. Backlog shipped and started
Issue history for 2026-09-07 → 2026-09-14 (closed_at/created_at from gh/GitHub).
Shipped (closed this week):
| # | Title | Track / driver |
|---|---|---|
| 148 | Auth-gate the unauthenticated /api/games/:id/* endpoint family — Tier-1 PII+video leak | track:obligation, P0 |
| 147 | Unauthenticated player-reel endpoint leaking full player name + game video | track:obligation, P0 |
| 105 | Close the unauthenticated playlist share-token PII leak | track:obligation, P0 |
| 134 | Coach-account identity conversion — Tier-1 payments/compliance fix | track:obligation, P0 |
| 83 | Error monitoring and alerting | track:table-stakes, P0 |
| 155 | Post-prod-deploy smoke must verify prod's own domain | track:table-stakes, P1 |
| 153 | Dual-role coach lands on the parent view — no route to coach dashboard | track:table-stakes, P1 |
| 113 | Cloned voice mispronounces player names — per-kid pronunciation handling | track:table-stakes, P1 |
| 160 | Migrate live review agent off sonic-2 before Cartesia sunset | track:table-stakes, P1 |
| 131 | Roster/canonical filter counts coach-owned parent accounts as parents | track:table-stakes, P2 |
| 123 | Mark-the-player step is frame-zero only | track:table-stakes, P2 |
| 161 | Parent-side audio preview of a player's name pronunciation | track:table-stakes, P2 |
No track:driver issue closed this week — everything shipped served
track:obligation (4 P0 security/compliance closes, all Tier-1 PII/video-leak
patches) or track:table-stakes. Worth naming plainly: real throughput, but none of
it moved a driver label this week.
Started (opened, still open): 10 issues — driver:retention ×1 (#156, Canadian
parents charged in USD on a US-based coach's Stripe account — cross-border FX
friction), driver:coach-churn ×1 (#143, public coach profile page), driver:conversion
×1 (#141, instrument the invite→first-purchase funnel), the rest track:table-stakes
×7 (#167, #166, #165, #163 — pronunciation-feature follow-ups; #158 — guard against
deploying prod from a stale main; #149 — broadcast-agent 401 regression from #148's
gating; #146 — synthetic prod showcase account, the follow-up named in this week's
promotion-ladder decision).
4. Decisions needed
Carried forward from digest 002 (carried, 3 weeks):
- Price-per-review derivation unconfirmed (
decisions/2026-08-19-price-per-review.md) — Matt still needs to confirm or complete the $120/hr → $15 derivation. - Season-one plan adopted without Alex, Danny, or Derek (
decisions/2026-08-20-season-one-plan.md) — the free-allowance removal and $20 September default still need those three conversations; still owed. - Market analysis + seasonality layer (
decisions/2026-08-20-market-analysis-and-seasonality.md) — still flagged for Alex's review at onboarding, still unreviewed. - Startup capital exclusion (
decisions/2026-08-20-startup-capital-excluded-from-operating-model.md) — the reversal condition is explicitly Alex's to invoke as CFO; still open.
New this week, from decisions/2026-09-09-incorporation-in-place-no-coach-reonboard.md:
- Residual Tier-1 confirmation, not settled by that decision — confirm with Stripe/counsel that swapping the platform's legal entity (sole-prop → incorporated) does not trigger a platform re-KYC that pauses payouts; and resolve the incorporation-jurisdiction conflict the decision file itself flags (repo currently states both "Delaware C-corp" and "Ontario / GameBooth Inc." in different places) — a US jurisdiction would reactivate the cross-border capability inversion from the multi-currency work.
Five open decisions now, four of them unmoved for three weeks — worth a standing agenda item, as digest 002 already said once.
5. Touch points this week
From the roster block (2026-09-14.json). 8 parents carry a flag; 6 shown (all
SILENT), 2 cut (P-c4005031, P-64d03653 — both NEVER_CONTACTED, unchanged from
digest 002, no new facts to report beyond what's already carried in §4-adjacent
history).
| Handle | Why (primary_flag) | Owner | Suggested opener | |---|---|---|---| | P-2952f6f8 | SILENT | Alex | Last purchase 8/3, one delivered review 8/4, last touched 8/20 (25 days ago, nothing since) — check whether that call surfaced why nothing's booked. | | P-c2dc0179 | SILENT | Alex | Most active parent on record — 3 paid, 3 delivered, all by 8/7 — just talked 9/11; the SILENT flag persists because there's still no purchase since 8/7, worth a fast follow-up on what that call turned up. | | P-494a7944 | SILENT | Alex | 2 paid, 1 cancelled, last delivery 8/16, last touched 8/20 (25 days ago) — the cancellation plus continued silence is worth a direct check-in. | | P-7d3431ec | SILENT | Alex | One delivered review 8/14, last touched 8/19 (26 days ago) — no repeat purchase since. | | P-f1c95a7d | SILENT | Alex | One delivered review 8/14, last touched 8/20 (25 days ago) — no repeat purchase since. | | P-4719cb7d | SILENT | Alex | One delivered review 8/19, last touched 8/19 (26 days ago) — no repeat purchase since; earliest-joined (8/18) of this cohort. |
Follow-through on digest 002's touch list (6 handles):
- P-c2dc0179 — contacted. New
contact_evidencerow 2026-09-11 (see §2). - P-2952f6f8 — no new contact. Last contact is still the 2026-08-20 call already known to digest 002.
- P-494a7944 — no new contact since 2026-08-20.
- P-7d3431ec — no new contact since 2026-08-19.
- P-f1c95a7d — no new contact since 2026-08-20.
- P-4719cb7d — no new contact since 2026-08-19.
- P-7b85a48b, P-5bb5b688 — both were
NEVER_CONTACTEDon digest 002's list and still show zero contact ever; both have also dropped out of the roster entirely in this week's export (§1's data anomaly). Can't confirm follow-through either way — there's nothing left to check against.
Net: of six touch-list handles from three weeks ago, one was actually followed up on. This is the first follow-through check (digest 002 had no prior list to check against), so "three weeks running" doesn't yet apply — but starting at 1-for-6 is worth saying plainly rather than softening.
6. Mid-week pulse
No pulse entries this week.