Sprint Plan — 2026-06-17 (Sprint: Path to First Paid Customer)
Produced by: product-manager agent from card-groomer output (44 ready-for-dev cards)
Date: 2026-06-17 UTC
Input: Grooming session completed 2026-06-17; 44 cards labeled ready-for-dev
Sprint Goal
Ship all v1 launch-blocking surface work this wave so that the first paying customer can sign up, receive a properly-branded transactional email, and see a complete Confidence Engine UI — while laying the Paper Trading foundation (flag-off) in parallel to preserve post-launch velocity.
Committed Sprint Backlog
Cards are sequenced by dependency order within each group. Size annotations: XS (<2 hrs), S (half-day), M (1 day), L (2 days).
Group A — Pre-Launch Blockers (7 cards, ship before v1 day-1)
These 7 cards are the only things that can make or break launch. Dev wave starts here.
| # | Card | Size | Dependency |
|---|---|---|---|
| 1 | #3325 Migration-collision CI guard | S | None — ship first; gates Paper Trading's 18 migrations |
| 2 | #3309 Synth probe /api/waitlist/signup |
S | None — parallel with #3325 |
| 3 | #3211 getraxx /privacy + /terms placeholder pages (live, no 404) |
S | None — parallel |
| 4 | #3310 Postmark delivery monitor | S | None — parallel |
| 5 | #3311 Postmark bounce-check cleanup | XS | #3310 preferred first but not strictly required |
| 6 | #3341 Email template sweep — voice + Erie footer + CE skin | M | #3310/#3311 done |
| 7 | #3207 CE skin: Login / Settings / Onboarding screens | L | None — parallel with #3341 |
Verify gate between A and B: All 7 merged + staging green before dev wave advances to Group B.
Group B — Paper Trading Foundation Wave (flag-off, 5 cards)
Build now while flag stays off. Business gate (#197 attorney clearance + Alpaca redistribution confirmation) only applies to turning the flag ON, not to writing the code. These 5 cards are the critical-path foundation — remaining Paper Trading sub-cards (#3489–#3503) are a follow-on wave after the Alpaca client is verified.
| # | Card | Size | Dependency |
|---|---|---|---|
| 8 | #3484 FLAG_PAPER_TRADING_V1 feature flag + B1 promotion migration | S | #3325 (CI guard) must be green |
| 9 | #3485 Paper trading schema — accounts table | S | #3484 merged |
| 10 | #3486 Paper trading schema — positions table | S | #3484 merged (parallel with #3485) |
| 11 | #3487 Paper trading schema — fills/orders table | S | #3484 merged (parallel with #3485/#3486) |
| 12 | #3488 Alpaca data client — sub-daily bars + market-data wrapper | M | #3485/#3486/#3487 all merged |
Remaining Paper Trading sub-cards (#3489–#3503, GAP-1 through GAP-5 + SC-5 through SC-14) go into the next sprint after #3488 ships and the Alpaca client is verified against staging data.
Group C — Observability / CI Hygiene + Security FP Close (4 items)
Run in parallel with Group B. These are the CI reliability improvements that make the autonomous dev wave faster and less noisy.
| # | Card | Size | Dependency |
|---|---|---|---|
| 13 | #2007 Postgres CI atom | S | None |
| 14 | #2008 Gitleaks-on-push | S | None — parallel with #2007 |
| 15 | #3450 Log drain to S3 | M | None |
| 16 | Close 32 security-scan false positives (batch action) | XS | None — groomer-confirmed test-fixture gitleaks/bandit; close with rationale comment per policy |
Group D — Tax Follow-Ups (6 cards, fill work)
All size S and independent. Slot into any gap in the dev wave; do not let them block Groups A or B.
| # | Card | Size | Dependency |
|---|---|---|---|
| 17 | #3326 Tax follow-up | S | None |
| 18 | #3327 Tax follow-up | S | None |
| 19 | #3328 Tax follow-up | S | None |
| 20 | #3329 Tax follow-up | S | None |
| 21 | #3334 Tax follow-up | S | None |
| 22 | #3337 Tax follow-up | S | None |
Group E — Docs Hygiene (5 cards, trailing fill)
XS cards. Run last or in background. Do not hold sprint close on these.
3460, #3461, #3462, #3463, #3464
Total Committed This Sprint: 27 items
(7 pre-launch blockers + 5 Paper Trading foundation + 4 CI/obs/FP-close + 6 tax fill + 5 docs = 27)
Intentionally excluded from commit: The remaining 17 Paper Trading sub-cards (#3489–#3503) are in the backlog but not committed — they depend on #3488 (Alpaca client) shipping first and are a clean next-wave scope.
Operator Punch-List (4 items — gates that only Kristerpher can open)
These are not dev work. The sprint proceeds without them, but each has downstream impact.
| Priority | Action | Unblocks |
|---|---|---|
| 1 (highest leverage) | CF Access removal from raxx.app — operator Terraform destroy; runbook exists. Dashboard action, ~15 min. | Unblocks public launch + #3204; highest single-action leverage of any open item |
| 2 | Stripe Checkout ownership decision — Raptor vs Queue, one-sentence answer on #3206. | Founders revenue path cannot be built until this is resolved |
| 3 | Attorney privacy/ToS content (#3149) | #3205 (live legal pages with final copy); #3211 ships placeholder pages this sprint so the 404 is fixed regardless, but attorney copy must land before go-live |
| 4 | Alpaca redistribution written confirmation + #197 attorney clearance | Paper Trading FLAG_ON; code ships flag-off this sprint without it, but the flag cannot be enabled on prod until both clearances are in writing |
What Is NOT In This Sprint
| Item | Reason |
|---|---|
| Paper Trading sub-cards #3489–#3503 (SC-5 through SC-14, GAP-1 through GAP-5) | Depend on #3488 Alpaca client shipping and verifying; next wave |
| Account-merge epic #3245 (11 sub-cards) | Post-launch; no first-customer path requires account merge |
| Status dashboard | Design not locked; CE skin direction for degraded states is unresolved |
| CF Access removal code work (#3209/#1025) | This is an operator Terraform action, not a dev card; listed in operator punch-list above |
| Paper Trading FLAG_ON activation | Gated on Alpaca redistribution clearance + #197; code proceeds flag-off |
Dev Wave Start Recommendation
Start with #3325 (migration-collision CI guard) and #3309 (synth probe) as the first two PRs — both size S, zero dependencies, and their green state is a precondition for everything else. Once both are merged and staging is green, open the full Group A wave in parallel: #3207 (CE skin, size L), #3310 (Postmark monitor), #3311 (bounce cleanup), #3211 (getraxx pages), and #3341 (email template sweep) as five simultaneous PRs. The CE skin is the longest card in Group A; starting it the moment #3325 merges means it runs in parallel with the email work rather than behind it. Do not open Paper Trading PRs (#3484 onward) until all 7 Group A cards have merged — the migration-collision guard must be live in CI before 18 new migrations land.
Source: card-groomer session 2026-06-17. Parent epics: #3483 (Paper Trading v1), plus core epics. Next grooming trigger: after Group A merge + staging verify.