FC-26 Sprint 1 Planning
Post-V3 Trust & Engagement — Generated 2026-02-13
1. Sprint Backlog
Epic 1: Trust Foundation P0
| ID | Story | SP | Priority |
|---|---|---|---|
| S1-001 | First 60s Value — deliver meaningful insight within 60 seconds of upload | 8 | P0 |
| S1-002 | Tone Audit — review all user-facing copy for trust-building language | 5 | P0 |
| S1-003 | Methodology Page — transparent explanation of analysis approach | 5 | P0 |
Epic 2: UX Enhancement P1–P2
| ID | Story | SP | Priority |
|---|---|---|---|
| S1-004 | Voice Testing — A/B test narrative voice styles with users | 8 | P1 |
| S1-005 | Progress Tracking — real-time pipeline status with ETA | 8 | P1 |
| S1-006 | Value Differentiation — highlight unique insights vs generic stats | 3 | P2 |
Epic 3: Quality
| ID | Story | SP | Priority |
|---|---|---|---|
| S1-007 | E2E Tests — end-to-end test coverage for critical paths | 5 | P1 |
| S1-008 | Performance — baseline metrics and optimisation targets | 5 | P1 |
| S1-009 | API Docs — OpenAPI spec for all public endpoints | 3 | P2 |
| S1-010 | Style Detection — auto-detect team playing style from footage | 5 | Stretch |
2. Team Roles
| # | Role | Focus Area |
|---|---|---|
| 0 | Lead | Architecture, sprint coordination, final review gate |
| 1 | Product Owner | Prioritisation, acceptance criteria, stakeholder comms |
| 2 | Scrum Master | Ceremonies, blockers, velocity tracking |
| 3 | Frontend Dev | React UI, progress tracking, methodology page |
| 4 | Backend Dev | Fastify API, pipeline optimisation, data integration |
| 5 | UI Designer | Trust-building visual language, tone audit |
| 6 | UX Researcher | Voice testing, user interviews, value differentiation |
| 7 | QA Engineer | E2E tests, performance baselines, regression |
| 8 | DevOps | CI/CD, deployment, infrastructure, monitoring |
| 9 | Business Analyst | Requirements refinement, API docs, demo prep |
3. Review Process — Triple-Gate
Every PR passes three sequential gates before merge:
Gate 1: Cross-Review
Peer dev reviews — 4h SLA
Peer dev reviews — 4h SLA
→
Gate 2: Code Reviewer + QA
Quality + test verification — 4h SLA
Quality + test verification — 4h SLA
→
Gate 3: Lead
Architecture + final approval — 2h SLA
Architecture + final approval — 2h SLA
→
Merge
Total worst-case review latency: 10 hours. Target: same-day merge for P0 items.
4. Phase 0 Audit Checklist
Complete on Day 1 before any feature work begins:
- Test Suite — Verify all existing tests pass; identify coverage gaps
- Dependencies — Audit and update npm packages; flag deprecated deps
- Dead Code — Remove unused routes, components, and utilities
- Feature Completeness — Verify V3 features are fully shipped, no orphan stubs
- Architecture — Review module boundaries and data flow for sprint readiness
- Performance Baseline — Capture current response times and resource usage
- Security — Check auth flows, token expiry, input validation, CORS config
5. Data Integration
Migrations
4 new migrations required
New Columns
6 columns across existing tables
Backfills
1 backfill job for historical data
Key Tables
games, analyses, insights, user_prefs
Schema Changes
| Migration | Table | Change |
|---|---|---|
| M-001 | analyses | Add first_insight_at timestamp, processing_stage enum |
| M-002 | insights | Add confidence_score float, methodology_tag varchar |
| M-003 | user_prefs | Add voice_preference enum, seen_methodology boolean |
| M-004 | games | Backfill style_tags JSONB from existing analysis data |
Key Queries
New indexed queries needed for 60s-value and progress tracking:
- Fetch earliest insight per game for first-60s metric
- Pipeline stage progression query for progress tracking UI
- Aggregated confidence scores for value differentiation
6. Demo Plan — 60 minutes
| Segment | Duration | Content |
|---|---|---|
| Sprint Overview | 5 min | Goals, velocity, team highlights |
| Trust Foundation | 20 min | Live demo: 60s value, tone changes, methodology page walkthrough |
| UX Enhancement | 15 min | Voice test results, progress tracker, value differentiation examples |
| Quality | 10 min | E2E test coverage report, performance dashboard, API docs preview |
| Stretch Goal | 5 min | Style detection proof-of-concept (if completed) |
| Q&A | 5 min | Open questions, feedback, next sprint preview |
7. Timeline — 10-Day Sprint
Day 1 — Phase 0 Audit: test suite, deps, dead code, security, performance baseline
Days 2–4 — P0 Development: First 60s Value (S1-001), Tone Audit (S1-002), Methodology Page (S1-003)
Day 5 — P0 Review + P1 Start: triple-gate review for P0 stories; begin Voice Testing (S1-004) and Progress Tracking (S1-005)
Days 6–7 — P1 Development: complete Voice Testing, Progress Tracking, E2E Tests (S1-007), Performance (S1-008)
Days 8–9 — P2 + Polish: Value Differentiation (S1-006), API Docs (S1-009), Style Detection stretch (S1-010), bug fixes
Day 10 — Demo + Retro: 60-min stakeholder demo, sprint retrospective, backlog grooming for Sprint 2
8. Pipeline Findings — Phase 0 E2E Results
Backend server starts successfully on port 3002
Supabase database is running with 35+ tables
YouTube download — Taps' EAFC26 video downloaded (87MB, 29.4min) via yt-dlp with cookies
Video registration — 2 games detected from single video, 57 GPT-4o vision calls in 245s
Game ingest — Full pipeline: phase detection → clock reading → halftime → forfeit detection. 44 vision calls, cost $0.18/game
Test suite — 30 failing tests fixed. 92/92 files, 2002/2002 tests passing. TypeScript clean.
Note: Stats extraction incomplete for forfeit games (no full-time stats page). Need a complete game for full insights E2E.
Pipeline Performance
| Stage | Result | Cost |
|---|---|---|
| Video download (yt-dlp + cookies) | 87MB in 6s (12.5 MB/s) | $0.00 |
| Registration (segmentation) | 2 games detected, 57 vision calls | $0.19 |
| Ingest (Game 1 — phase detection) | KO/HT/forfeit detected, 44 calls | $0.18 |
| Session total | 2 games registered, 1 ingested | $0.37 |
Test Fixes Applied
| Root Cause | Tests Fixed | Files |
|---|---|---|
| 4 new pn_* patterns not synced to specs/drills | 8 | 6 |
| Missing passingNetworkRepository mock | 20 | 2 |
| lifecycle_status column migration gap | 2 | 2 |
| vi.fn() type signature in test mock | 3 (TS) | 1 |
FC-26 Stats Capture — Sprint 1 Planning Document — 2026-02-13