The Game Plan

Status
in-flight
Tier
Tier 1 — Operating business
Owner
Ryan Colston
Started
2026-06-14

Linear: RYR-218 — Phase 3 auto-schedule + roster name-match bug (2026-07-23 vault→Linear audit)

One-line description. A weekly game plan for each agent: every week the system preps a per-agent film room from live data, Ry commits one play per agent, and logs how it went. Built to restore set-to-book.

Why

The last 90 days went to automation and ops. Team coaching slipped. It shows in the one number that matters. Set-to-book fell from about 30% to the 12 to 20% range. Verified in BigQuery on 2026-06-14: 13.5% month to date, 20.2% last month. At that rate the team is at risk.

The fix is a weekly habit, run like a coach prepping for a game. Every week the system builds a prepared film room for each agent. Ry reads it, commits one play per agent, and logs what happened and what got in the way. A play can be small, like a 15 minute phone call, or big, like riding along on a listing appointment. The prep is automatic and the logging takes seconds. So the consistency holds, and every new agent inherits the same loop.

Current state

Phase 1 shipped 2026-06-14 (the data engine). Phase 2 shipped 2026-06-15 (MR !579 + the !583 fix): the coach page is live and Cloudflare-Access-gated at handbook.rycolston.com/coach/, restricted to Ry's two emails. Ry reads the severity-sorted film room and, per agent, commits a play and logs the outcome; submissions write to Cloudflare KV and mirror to pos_coaching.weekly_game_plans (the durable record and next week's "last week"). Reliability hardening shipped with it: R1 fail-closed validation (a malformed film room never publishes) and R2 a generate heartbeat plus a Monday-morning BigQuery staleness alert (live in GCP, emails Ry if a week is missed, self-clears). The film room now writes into the handbook's COMPLETION_KV namespace under a gp: prefix so the page can read it edge-side. Post-deploy fix (MR !583): /api/coach is gated under the same coach Access app as /coach/, so the page's client-side fetch works.

First live run done 2026-06-25. Pulled a fresh BrokerMint export (Agent Report 774442, team=ryan colston, YTD) via Claude-in-Chrome on the work Chrome profile, ran generate.py → 40 production rows for 2026-W26 → 28 film-room cards pushed to COMPLETION_KV. The gated coach page renders all 28 (GET round-trip confirmed). The populate ran interactively reading CF_KV_TOKEN from 1Password (op read 'op://POSPJ/CloudFlare KV Worker/credential', len 53) — the 1P token WORKED; the earlier "stale / returns 9106" note is outdated. Capture recipe for the future auto-puller: 2026-06-25-brokermint-export-capture. Still pending: (a) the play-SAVE (POST) round-trip, confirmed when Ry commits his first play; (b) a roster name-matching gap — 12 BrokerMint names didn't match the active roster, several look like real agents (Mimi Rader, Alex Tyler, Roxanne White, Osame Origho), so they got no card; (c) the unattended Phase 3 path (the classifier still blocks an unattended agent — mount the secret in the Cloud Run job).

Next 3 actions

  1. Ry runs his first film-room session on /coach/ (commit one play per agent) — confirms the play-save round-trip.
  2. Reconcile the roster name-matching gap so the 12 unmatched BrokerMint names (Mimi Rader, Alex Tyler, Roxanne White, Osame Origho, etc.) get cards.
  3. Phase 3: a scheduled Cloud Run job to auto-generate weekly with the secret mounted (no human, no classifier) plus completion-rate and set-to-book trend metrics; decommission the now-unused standalone GAMEPLAN_KV namespace 6ee385c17d68461db6e5fb7a4b755f40.

Decisions log

Open issues

References

2026-07-16 — play-save round-trip PROVEN; loop operationally stalled at W26

C4.1 verification (RYR-175): authenticated POST /api/coach → 200 → KV write → mirror dry-run sees the row (test data cleaned after). The mechanics work end to end. The stall is operational: gp:filmroom:current_week still reads 2026-W26 (checked live 7/16, actual week W29) and weekly_game_plans stops at W25 — the week hasn't been advanced in ~3 weeks. Coach action, not a code fix. RYR-141's lost-deals block (approved mockup on branch 51c3021c) will land on this surface next — advance the week before it ships.