# Blue Wave — Development Plan & Sprint Breakdown

**Project:** Blue Wave AI Campaign Platform  
**Owner:** Brainworks Ventures  
**Version:** 1.0 | April 7, 2026  

---

## Overview

Blue Wave development follows a three-phase plan aligned with the PRD roadmap. Each phase is broken into 2-week sprints with clear milestones and gate criteria.

**Total Timeline:** ~10 months (Phase 1: 2 months → Phase 2: 3 months → Phase 3: 6 months, with 1 month overlap between phases)

---

## Build Team: AI-Native Execution

Blue Wave is built entirely by AI sub-agents orchestrated by HAL (OpenClaw). This is not a conventional engineering team.

| Function | Executor | Notes |
|----------|----------|-------|
| Architecture & orchestration | HAL (main session) | Orchestrates all sub-agents |
| Backend development | Coding sub-agents (Opus 4.6) | FastAPI, data pipelines, APIs |
| Frontend development | Coding sub-agents (Opus 4.6) | React dashboard |
| Data engineering | Coding sub-agents (Opus 4.6) | Ingestion, normalization, storage |
| ML/scoring | Coding sub-agents (Opus 4.6) | Propensity models, NLP |
| Testing | Per-feature sub-agents | Unit + integration per sprint |
| Deployment | HAL + exec tools | DigitalOcean, Docker |

**Advantage:** Parallel sprint execution — multiple sub-agents build different modules simultaneously. Sprint 1 that would take a human team 2 weeks takes 2-4 days with parallel AI execution.

---

## Phase 1: Intelligence Platform (60 days)
**Goal:** Internal Brainworks research tool + Kaplan pilot intelligence briefs

### Sprint 1 (Days 1-14): Data Foundation
**Goal:** All free-tier data sources live and ingesting
**Status:** ✅ Complete — 112/112 tests passing | Live: http://64.225.20.29:8000/

- [x] Project setup: repo, Docker, CI/CD on DigitalOcean
- [x] PostgreSQL + Redis deployment (Managed DB on DO)
- [x] FEC bulk data API integration (candidate filings, expenditures, donations)
- [x] OpenSecrets API integration
- [x] Ballotpedia API integration (races, candidates)
- [x] Congress.gov API integration (voting records)
- [x] Census ACS data pull (block-level demographics for priority states)
- [x] Google Civic Information API (district boundaries)
- [x] Celery job queue setup for async ingestion
- [x] Data normalization layer (common schema across sources)

**Milestone:** All 8 data sources ingesting; data warehouse populated for all Senate + competitive House races

---

### Sprint 2 (Days 15-28): Race Intelligence Engine
**Goal:** Core intelligence layer processing data into race intelligence
**Status:** ✅ Complete — 186/186 tests passing

- [x] Race Intelligence Engine (all 34 Senate + ~60 House races)
  - Candidate profiles (bio, party, incumbency, endorsements)
  - Fundraising dashboard (raised, cash on hand, burn rate, vs. opponent)
  - Competitive Index algorithm (polling + fundraising + historical PVI)
  - Alert system (polling shift >3pts, donation spike, news event)
- [x] Polling aggregation pipeline (FiveThirtyEight + RCP scraping)
- [x] News aggregation (RSS feeds for 50+ political news sources)
- [x] Basic sentiment analysis on news (VADER + Claude Haiku classification)
- [x] Reddit signal integration (r/politics, state-specific subreddits)
- [x] Race prioritization: Top 30 seats algorithm

**Milestone:** Race Intelligence Engine live; daily briefing email to Brainworks team with race updates

---

### Sprint 2 Parallel: Kaplan/Newsom Sell-Sheet Web Page
**Goal:** A single, stunning web page on brainworks.ai that serves as a teaser and proof-of-capability for the Democratic establishment — something Phillip can send to Jonathan Kaplan and the Newsom network before any meeting.

**What it is:** A research/intelligence page that demonstrates the Blue Wave capability without fully revealing the system. Designed to make sophisticated political operatives say "I need to talk to these people."

**Page content:**
- Hero: "A New Kind of Political Intelligence" — AI-native campaign analytics at scale
- The gap: what campaigns know vs. what they could know (data visualization mockup)
- Capability showcase: sample race intelligence snapshot (using real public data — e.g., top 5 Senate toss-ups with live fundraising deltas, polling trends, competitive index)
- The HAL advantage section: 7 AI-native capabilities framed for political audience (no mention of "AI" directly — use: precision targeting, real-time intelligence, autonomous optimization, 24/7 signal monitoring)
- "What we're building" — brief Phase 1-3 roadmap teaser
- Call to action: "Request a briefing" → mailto:alvelda@brainworks.ai
- Brainworks branding throughout (navy #112337, accent blue #527EFF, Source Sans Pro)
- Mobile responsive, clean, McKinsey-meets-campaign-war-room aesthetic

**Status:** ✅ Complete — Live at https://fleet.brainworks.ai/blue-wave/

**Deliverables:**
- [x] Scope the page design (wireframe in markdown)
- [x] Draft full page copy (headline, subheads, body, CTAs)
- [x] Build HTML/CSS (self-contained, Brainworks design system)
- [x] Include at least 2 live data widgets using real public data (FEC fundraising comparison for top 3 Senate races, polling average chart for top toss-ups)
- [x] Deploy to brainworks.ai/research/blue-wave OR as standalone at fleet.brainworks.ai/blue-wave/
- [x] Mobile responsive

**Success criteria:** Phillip can send the URL to Kaplan with a 2-sentence intro and it speaks for itself.

**Target:** Ready by end of Sprint 2 (Day 28)

---

### Sprint 2.5 (Days 29-42): Elite Analytics — "Impossible Before AI" ✅ COMPLETE
**Goal:** "Impossible Before AI" tier capabilities — first 8 elite modules live
**Result:** 54/54 tests passing — 9 endpoints live

- [x] Pollster quality weighting (POLLSCORE-style decay model — replaces unweighted averages)
- [x] Uncertainty visualization: confidence bands on all polling trend charts (fan charts, 50/80/95% CI)
- [x] Electoral vote distribution histogram (shape of uncertainty, not just win %)
- [x] Narrative Contagion Tracker (Zignal Labs vacuum filler — story spread network graph)
- [x] Natural Language Chart Interrogation ("why did our numbers drop?" → AI synthesis)
- [x] Automated Opposition Research Brief generator (Claude → 4-hour oppo brief)
- [x] Cross-Signal Synthesis Timeline (FEC + polls + social + news on unified timeline)
- [x] Narrative Autopsy (causal explanation of poll movements, 8 min, zero analyst hours)

**Milestone:** ✅ Day 42 — Narrative Contagion Tracker live; NL Chart Interrogation demo-ready; oppo brief generator producing Kaplan-demo-quality output

---

### Sprint 2.6 (Days 43-56): Order-of-Magnitude Improvements ✅ COMPLETE
**Goal:** Order-of-magnitude improvements over legacy tools
**Result:** 39/39 tests passing — 8 endpoints live

- [x] Synthetic polling for under-polled segments (LLM + demographics for segments legacy polls miss)
- [x] Emotional resonance scoring (fear/hope/anger/pride by demographic segment)
- [x] Authentic vs. amplified signal separation (bot/organic split on social sentiment)
- [x] Meme velocity tracker with 4–6 hour alert window (image content early warning)
- [x] Donor fatigue prediction + ask optimization engine (cadence + amount per segment)
- [x] Bundler network visualization (force-directed graph from FEC bundler disclosures)
- [x] LV model stress-testing (50 screen variations → full outcome distribution)
- [x] Poll herding detection (flags when pollsters anchor to each other; adjusts effective N)

**Milestone:** ✅ Day 56 — Full emotional resonance + synthetic polling + donor optimization live

---

### Sprint 2.7 (Days 57-70): Elite Visualization Suite ✅ COMPLETE
**Goal:** Advanced chart types that don't exist in any political analytics tool
**Result:** 37/37 tests passing — analytics-dashboard.html live with 11 elite visualizations

- [x] Ridgeline plots (polling distribution shifts across demographics — rare in political tools)
- [x] Beeswarm poll chart (individual polls weighted by sample size; outliers immediately obvious)
- [x] Sankey voter flow diagram (2020→2024→2026 coalition shift visualization)
- [x] Candlestick-style polling (range + average + trend per pollster)
- [x] Narrative contagion network graph (origin → spread → sentiment per node)
- [x] Adaptive cartogram (map reshapes live by persuadability / fundraising / turnout density)
- [x] Scenario fan charts (real-time confidence bands updating as new polls arrive)
- [x] Time scrubber (drag to replay race evolution from filing deadline to today)
- [x] Hover-to-drill-down (state → county → precinct; CDO commentary on hover)
- [x] Scroll-triggered animated chart reveals (key facts animate in as user scrolls)
- [x] Horizon charts (compact multi-race simultaneous tracking — 40 races one screen)

**Milestone:** ✅ Day 70 — Elite visualization suite complete; full Kaplan demo package ready

---

---

## Phase 1.5: Campaign Operations MVP (Days 71–112) ✅ COMPLETE
**Goal:** Build the 12-pillar campaign operating system — MVP backend + operations dashboard + cross-pillar intelligence

### Sprint 3.1 (Days 71-84): Operations MVP Backend ✅ COMPLETE — 68/68 tests, 55 endpoints live
- [x] Fundraising module: donor scoring API, ask optimization, call time prep, FEC compliance check
- [x] Field ops module: voter segment API, volunteer matching, turf optimization, contact rate tracker
- [x] Advertising module: budget allocation optimizer, creative performance, CTV attribution
- [x] Earned media module: press monitoring, rapid response timer, Claude draft generator
- [x] Coalition module: endorsement tracker, surrogate brief generator, relationship graph
- [x] GOTV module: early vote tracker (50-state), mail ballot status, ballot cure queue
- [x] Message lab module: talking points generator, A/B variants, optimizer, discipline tracker
- [x] Oppo module: donor conflict checker, vote record flags, attack log
- [x] Compliance module: 2026 FEC calendar, contribution validator, expenditure flags
- [x] Campaign health: weighted score algorithm, Claude Sonnet daily briefing, alerts

**Milestone:** ✅ 55 operational endpoints live at http://64.225.20.29:8000; 68/68 tests passing

---

### Sprint 3.2 (Days 85-98): Campaign Operations Dashboard ✅ COMPLETE
- [x] campaign-ops.html live (https://fleet.brainworks.ai/blue-wave/campaign-ops.html)
- [x] 12-pillar command center with live API wiring
- [x] Campaign health score live (77.2/100)
- [x] Dual-purpose: ops dashboard + platform sell sheet
- [x] CDO Advantage + Platform Comparison sections
- [x] All cards: capability headlines, AI badges, legacy tool replacements

**Milestone:** ✅ campaign-ops.html live at https://fleet.brainworks.ai/blue-wave/campaign-ops.html

---

### Sprint 3.3 (Days 99-112): Cross-Pillar Intelligence ✅ COMPLETE — 15/15 tests
- [x] fundraising→field: high-donor zips → field priority scores
- [x] message→ads: approved talking points → 5 ad copy variants
- [x] donor→coalition: major donor relationships → endorser network
- [x] GOTV→field: unreturned ballots → urgent door-knock list
- [x] synthesis: top 5 cross-signal insights with recommended actions

**Milestone:** ✅ Cross-pillar intelligence layer live; 15/15 tests passing

**Phase 1.5 Gate Review:**
- [x] All 12 module endpoints live
- [x] campaign-ops.html deployed and accessible
- [x] Cross-pillar intelligence layer operational
- [x] Campaign health score algorithm running (77.2/100 live)
- [x] Synthesis endpoint generating top insights with recommended actions

---

## Sell-Sheet Expansion ✅ COMPLETE
- [x] index.html hero: "Complete AI Campaign Operating System"
- [x] Platform Overview section (2-pillar architecture diagram)
- [x] Operations grid (12 module cards, sell-sheet style)
- [x] Why CDO differentiators (6-card grid)
- [x] Cost Comparison table ($200K-800K/cycle → CDO)
- [x] CTAs updated with Operations Dashboard link
- [x] Nav updated across all 4 pages

---

---

## Phase 4: Invisible Primary Intelligence & Influence Engine ✅ COMPLETE
**Completed: April 12, 2026**

### Sprint 4.0: Core Actor Graph & Causal Engine ✅ COMPLETE
*(Built April 11, 2026 — 82 new tests, 595 total)*
- [x] 68 real named actors seeded (Obama, Clyburn, Katzenberg, Soros, Musk, Leo, 62 more)
- [x] 15 causal edges from research documents (9 Grade A confirmed, 6 Grade B)
- [x] 6 pre-primary filter gates mapped with 2028 candidate status
- [x] 5 new API endpoints: `/actors`, `/causal-edges`, `/gatekeepers-2028`, `/upstream-gates`, `/candidates/{id}/full-profile`
- [x] Cascade Simulator using real causal weights (Obama +45pt, Clyburn +38pt, etc.)
- [x] Candidate Comparison Matrix: 9 candidates × 7 gatekeeper dimensions

### Sprint 4.1: Ferguson Tracker Page ✅ COMPLETE
*(Completed April 12, 2026)*
- [x] Ferguson Model Viability Scoreboard — 9 candidates, composite scores, trend indicators
- [x] Fundraising Primary Timeline — invisible primary calendar through Iowa 2028
- [x] Signal Donor Tracker — 20 key actors with commit probability + cascade effect estimates
- [x] Investor Bloc Alignment Map — 11 investor blocs with 2008–2024 historical data
- [x] Ferguson Model Calibration scatter plot — R²=0.71, historical validation 1992–2024
- [x] Intervention Priorities by Candidate table — 6 viable/watching candidates, #1 action each
- [x] Hardcoded fallback data — 4s API timeout with graceful fallbacks (no hanging spinners)
- [x] Responsive layout — 768px + 480px breakpoints, `col-hide-mobile` on historical columns
- [x] Sticky scoreboard removed (was blocking content on small screens)

### Sprint 4.2: Network Ops Page ✅ COMPLETE
*(Completed April 12, 2026)*
- [x] Mission Overview — 6-candidate dashboard cards (current probability + #1 priority action)
- [x] Candidate tabs replacing dropdown — instant pre-loaded sequences, no simulation wait
- [x] 4-phase hardcoded intervention sequences for all 6 candidates (Buttigieg, Harris, Newsom, Whitmer, Shapiro, Pritzker)
- [x] Pre-generated tactical intelligence briefs for all 6 candidates
- [x] Active Operations Kanban board
- [x] D3 force graph — complete rewrite fixing `clientWidth=0` init bug; proper forceCenter + forceManyBody(-300) + forceCollide + bounded tick; 20 named actors; colored edges by relationship type; 300ms init timing buffer
- [x] Cascade Probability Monitor with pre-run simulation results tabbed by candidate
- [x] Responsive layout — Kanban horizontal scroll, tab bars scroll, SVG container bounded

### Sprint 4.3: Intelligence Report Page ✅ COMPLETE
*(Completed April 12, 2026)*
- [x] Trump Anomaly chart — rewrote blank canvas as dual-axis bar+line chart (Trump earned media vs. field average, donor capital on right axis, Jul 2015–Mar 2016)
- [x] Ferguson calibration scatter plot — fixed binary Y-axis label collisions (±0.03 jitter, selective labels on 7 key candidates only)
- [x] Cascade Simulator — pre-run results for all 6 candidates in tabbed interface (was empty panel)
- [x] Responsive layout — simulator stacks vertically on mobile; scatter plots in scroll containers

### Sprint 4.4: Design Overhaul (Unplanned — Completed April 12, 2026) ✅ COMPLETE
*(Not in original plan — completed same day)*
- [x] Logo — replaced emoji and solid-background image with `brand/final/catalyst-transparent-white-512.png` at 120px height across all 3 pages
- [x] Typography — body paragraphs switched from monospace to `Source Sans Pro / system-ui`; monospace preserved for headers/stats/badges
- [x] Color system — enforced `--navy #0d1b2a`, `--accent-blue #527EFF`, `--accent-cyan #00d4ff` consistently
- [x] Navigation — consistent sticky nav bar across all 3 pages with active page highlighting
- [x] Contextual info blocks — 27 `section-info` callout blocks added across all 3 pages

### Sprint 4.5: Responsive Overhaul (Unplanned — Completed April 12, 2026) ✅ COMPLETE
*(Not in original plan — completed same day)*
- [x] Ferguson Tracker: 768px + 480px breakpoints, `col-hide-mobile` on historical data columns
- [x] Network Ops: Kanban horizontal scroll, tab bars scroll on mobile, SVG container bounded
- [x] Intelligence Report: simulator stacks vertically on mobile; scatter plots in overflow-x scroll containers; inline-style two-column grids addressed
- [x] All 3 pages: sticky scoreboard removed, mobile content not blocked

### Sprint 4.6: Hardcoded Data Strategy (Unplanned — Completed April 12, 2026) ✅ COMPLETE
*(Design decision formalized and fully implemented)*
- [x] All API calls across 3 pages use 4s timeout with graceful degradation to hardcoded data
- [x] Zero hanging spinners — pages always fully render with complete content
- [x] All 6 candidate intervention sequences hardcoded (not API-dependent)
- [x] All 6 candidate tactical briefs pre-generated and hardcoded
- [x] All simulation results pre-run and embedded in tabbed interfaces
- [x] Rationale: eliminates UX failure modes; backend can go down without affecting intelligence pages

### Sprint 4.7: Ferguson Model Research (Completed April 12, 2026) ✅ COMPLETE
*(Research sprint supporting all Phase 4 pages)*
- [x] Ferguson model empirical validation: R²=0.76 House/Senate, R²=0.71 presidential primaries (1992–2024)
- [x] Named actor database: 68 actors with influence weights, causal confidence grades, access difficulty
- [x] 2028 invisible primary intelligence: current positioning for all 9 Democratic candidates
- [x] Fundraising cascade analysis: 47-day average window; <24h compression in Harris 2024 surge
- [x] Ferguson viability scores: all 9 candidates (Buttigieg 63.6 → Beshear 19.8)

**Phase 4 Gate Review:**
- [x] Ferguson Tracker live and fully functional
- [x] Network Ops live with 6-candidate intervention sequences
- [x] Intelligence Report live with all charts rendering
- [x] Design overhaul applied to all 3 pages
- [x] Responsive layout verified at 768px + 480px
- [x] Hardcoded fallback data strategy implemented
- [x] 27 contextual info blocks deployed
- [x] All git commits pushed (890ee8b, ae2e062, 86ca7fc, 7a03125, e2f236b)

---

## Phase 5: Live Data Integration & Platform Hardening (Next)
**Goal:** Upgrade from hardcoded/demo data to live data feeds; add critical operational features before commercial deployment

### Sprint 5.1: Live Data Integration
**Priority:** High — bridges gap from demonstration to operational platform
- [ ] **FEC API → Ferguson Scores**: real-time fundraising → investor bloc alignment → live Ferguson viability score updates
- [ ] **Real Signal Donor Tracking**: FEC contribution monitoring for 68 named actors; alert when a tracked actor's committee files
- [ ] **Real Cascade Probability Engine**: replace hardcoded intervention sequences with live-weight Monte Carlo using current actor status
- [ ] **Live Actor Status Updates**: ingest news + FEC data to update actor access difficulty and influence weight in real time
- [ ] **Invisible Primary Timeline**: auto-update calendar milestones as key events occur

**Milestone:** Ferguson Tracker scores update daily from real FEC data; at least 10 actor statuses tracked in real time

### Sprint 5.2: Actor Database Management UI
**Priority:** High — operational necessity for intelligence staff
- [ ] **Actor CRUD interface**: add/edit/delete actors, update influence weights, log access status changes
- [ ] **Intelligence logging**: log new intelligence against an actor (meeting notes, public statements, FEC activity)
- [ ] **Relationship editor**: add/remove/edit causal edges in the actor graph
- [ ] **Confidence grade workflow**: allow analysts to review and grade causal evidence (A/B/C)
- [ ] **Audit log**: track all changes with timestamp and source
- [ ] **Export**: download actor database as CSV or JSON for offline analysis

**Milestone:** Intelligence staff can update actor database without code changes

### Sprint 5.3: Notification & Alert System
**Priority:** High — real-time signal tracking is a core platform promise
- [ ] **Signal donor commit alerts**: notify when a tracked signal donor makes a significant commitment (FEC threshold)
- [ ] **Key actor movement alerts**: notify when a Tier 1 actor (Obama, Clyburn, Katzenberg) endorses, speaks publicly, or files
- [ ] **Cascade trigger detection**: alert when an intervention sequence reaches a triggering threshold
- [ ] **Probability shift alerts**: notify when a candidate's Ferguson viability score moves >5 points
- [ ] **Alert channels**: Telegram (immediate), email digest (daily), dashboard inbox
- [ ] **Alert preferences**: per-user notification settings, alert suppression windows

**Milestone:** Platform sends real-time Telegram alerts for any Tier 1 actor movement

### Sprint 5.4: Sharing, Export & Collaboration
**Priority:** Medium — required for client-facing use
- [ ] **PDF tactical brief export**: generate PDF version of any candidate's tactical intervention brief
- [ ] **Shareable intelligence links**: time-limited, password-protected shareable URLs for specific pages/views
- [ ] **Network graph export**: PNG/SVG export of D3 force graph at any state
- [ ] **Ferguson scorecard PDF**: exportable 1-page candidate viability summary
- [ ] **Printable intelligence report**: CSS print stylesheet for invisible-primary-report.html
- [ ] **API access for partners**: read-only API endpoints for 2028 candidate scores and actor network

**Milestone:** Platform can generate shareable PDF briefs for client meetings in <60 seconds

### Sprint 5.5: User Authentication & Access Control
**Priority:** High — required before any external access (sensitive political intelligence)
- [ ] **Login system**: email/password auth with 2FA
- [ ] **Role-based access**: admin, analyst, read-only viewer
- [ ] **Session management**: secure JWT, session timeout, activity logging
- [ ] **Page-level gating**: Ferguson Tracker, Network Ops, Intelligence Report require auth
- [ ] **Invitation system**: admin can invite team members with role assignment
- [ ] **Audit log**: track page views, data exports, intelligence log entries
- [ ] **Rate limiting**: prevent bulk scraping of actor database

**Milestone:** All 3 intelligence pages require authenticated login; no public access to actor/intervention data

---

## Phase 2: Full Operations Platform (Days 113–196)
**Goal:** Deep build of all 12 pillars with full features, production integrations, and live PAC operations

### Sprint 4.1 (Days 113-126): Full Fundraising Suite
- [ ] Full ActBlue API integration (real-time donation pull, campaign management, recurring donor management)
- [ ] Major donor CRM: prospect pipeline, contact history, ask tracking, warm intro path finder
- [ ] Bundler network: bundler tracking, attribution, and network graph from FEC bundler disclosures
- [ ] Event fundraising management: event pages, RSVP + revenue tracking, attendee follow-up sequences
- [ ] Full email drip engine (Celery + SendGrid) with trigger library (issue, deadline, donor behavior)
- [ ] Recurring donor program management: churn prediction + re-engagement automation
- [ ] Wealth screening integration (DonorSearch/Windfall) for major donor prospecting
- [ ] Fundraising analytics: real-time vs-goal tracking, projections, cohort analysis by acquisition source

### Sprint 4.2 (Days 127-140): Full Field + GOTV Suite
- [ ] 50-state early vote aggregation (production-grade; real-time data pipeline from all 50 state portals)
- [ ] L2/TargetSmart voter file full integration (190M–280M+ records, modeled scores)
- [ ] MiniVAN API integration for walk list generation and canvassing app sync
- [ ] Volunteer management: recruitment, scheduling, hour tracking, retention prediction
- [ ] VAN early vote integration (daily pull of early ballot returns with automatic voter file sync)
- [ ] Mail ballot return tracking + full cure workflow (cure-eligible list → contact → outcome)
- [ ] Election Day command center: precinct-level turnout real-time vs. model, resource reallocation dashboard

### Sprint 4.3 (Days 141-154): Full Digital Advertising Suite
- [ ] Meta Ads API full integration (campaign/ad set/ad creation, audience management, FEC-compliant approval gates)
- [ ] Google Ads API full integration (search + display + YouTube)
- [ ] Cross-platform DSP integration (The Trade Desk for programmatic + CTV)
- [ ] Human approval gates (< $500 autonomous; ≥ $500 to queue; all IE logged for FEC)
- [ ] Full CTV attribution model (voter-file matched exposure → support score outcomes)
- [ ] AI creative generation: given approved message → auto-generate 5 ad variants across formats (display, video script, social)
- [ ] Independent Expenditure logging: FEC Form 24/Form 6 auto-population + 24/48-hour trigger alerts

### Sprint 4.4 (Days 155-168): Full Coalition + Earned Media Suite
- [ ] Full endorsement CRM (prospect → outreach → pending → confirmed) with prediction model scores
- [ ] Organizational relationship graph: network analysis from FEC data + IRS 990s + endorsement history
- [ ] Press monitoring: live RSS + Google News + social monitoring with narrative tracking across all media
- [ ] Rapid response full workflow: story detected → AI draft → approval queue → publish (target: 30 min end-to-end)
- [ ] Journalist relationship intelligence: beat tracking, pitch history, audience overlap with target voter segments
- [ ] Earned media valuation dashboard: coverage reach, sentiment, estimated ad-equivalent value
- [ ] Surrogate coordination: scheduling, briefing automation, statement monitoring + conflict detection

### Sprint 4.5 (Days 169-196): AI Voter Persuasion at Scale
- [ ] Personalized voter contact at scale: AI-powered individualized outreach to voter segments (informed by MIT Tech Review Dec 2025 finding: <$1M to reach all 174M registered US voters)
- [ ] Message personalization engine: per-voter message customization based on voter file + issue alignment + contact history
- [ ] Multi-channel personalization: email, SMS, social, and canvass script personalization from same model
- [ ] Synthetic focus group testing: LLM-simulated voter response to messages for rapid pre-deployment validation
- [ ] Continuous message testing platform: weekly online panel integration with NLP performance analysis (replacing quarterly $30K–$100K polls)
- [ ] Full-featured live operations dashboard (v2 — all 12 pillars with production data, not simulated)
- [ ] PAC operations running in at least 1 live 2026 race
- [ ] Performance reporting: weekly summary across all 12 pillars with cross-pillar correlation analysis

**Phase 2 Gate Review:**
- [ ] All 12 pillars production-grade with full integrations
- [ ] PAC operating in at least 1 live 2026 race
- [ ] Performance lift demonstrated (fundraising, GOTV, or field)
- [ ] First paid engagement or LOI

---

## Phase 3: SaaS & Scale (Days 197+)
**Goal:** Multi-tenant platform; DCCC/DSCC vendor qualification; cross-client intelligence sharing; down-ballot expansion

### Sprint 5.1 (Days 197-224): Multi-Tenant SaaS Architecture
- [ ] PostgreSQL row-level security per campaign tenant (full data isolation)
- [ ] OAuth 2.0 + JWT auth with RBAC (admin, campaign manager, content approver, read-only roles)
- [ ] Campaign onboarding API: create campaign, assign modules, set tier permissions, import FEC committee data
- [ ] Stripe subscription billing + tier enforcement (Senate $25K/mo, House Targeted $15K/mo, House Standard $5K/mo, PAC Enterprise custom)
- [ ] Self-serve onboarding wizard (campaign profile, FEC committee import, module selection, ActBlue/ad account connect)
- [ ] White-glove onboarding workflow for PAC and Senate-tier clients
- [ ] Demo environment (sandboxed; no live API calls; representative data)
- [ ] Security audit (MANDATORY before any external campaign access — no exceptions)
- [ ] Live ops monitoring dashboard (fleet.brainworks.ai/blue-wave/ops/) with SRE golden signals

### Sprint 5.2 (Days 225-252): Cross-Client Intelligence
- [ ] Cross-campaign pattern detection: anonymized learning from message performance, voter contact rates, fundraising patterns shared across campaigns (opt-in, privacy-controlled)
- [ ] Rising tide model: what's working in race X is auto-flagged for similar races within 48 hours (what messaging works with suburban women in Ohio → Nevada within 48 hours)
- [ ] Cross-client fundraising benchmarks: anonymous cohort comparison (your campaign's email open rates vs. similar races)
- [ ] Proprietary data asset accumulation: message performance database, donor prospect conversion history, field contact outcome rates — building compounding moat with each cycle
- [ ] Multi-campaign operations dashboard: Brainworks operators managing 10+ races simultaneously with aggregate view
- [ ] Cross-race resource optimization: AI recommends budget reallocation across races based on win probability trajectories

### Sprint 5.3 (Days 253-280): DCCC/DSCC Partnership Track
- [ ] DCCC vendor qualification submission (application + security + compliance documentation package)
- [ ] DSCC vendor qualification submission
- [ ] NGP VAN API integration (compatibility with existing Dem campaign stacks)
- [ ] White-label configuration for large PAC partners (custom branding, domain, color scheme)
- [ ] Coordinated campaign support: tools for DCCC/DSCC coordinated campaign operations (field, GOTV, messaging) without triggering coordination rules
- [ ] API documentation (for enterprise integrations with party committees)
- [ ] Case study package from Phase 2 PAC operations (measurable performance lifts across pillars)
- [ ] Sales deck + demo script for PAC enterprise tier and party committee pitches

### Sprint 5.4 (Days 281+): Down-Ballot Expansion
- [ ] State legislative campaign support (50-state compliance rules, smaller voter universes, lower price point $500–$2K/mo)
- [ ] County and municipal race support (hyper-local voter file segmentation, local news monitoring, small volunteer network tools)
- [ ] Volume model: AI-driven self-serve at scale for 2,000+ down-ballot races per cycle
- [ ] Crisis Early Warning System (Tier 1 advanced analytics — most requested by campaign managers)
- [ ] Narrative Mutation Tracking (builds on existing news pipeline infrastructure)
- [ ] Opponent Move Prediction (FEC filings + ad patterns + staffing moves → 48-72 hour advance warning)
- [ ] Scale to 10 paying campaigns
- [ ] MRR > $100K gate

---

### Sprint 3 (Days 71-84): Opposition Research + Voter Data
*[NOTE: This sprint is now part of Phase 1.5 Sprint 3.1 above — ops backend includes oppo research module. Legacy sprint below for reference; may run in parallel.]*
*[Renumbered from Sprint 3 Days 29-42; shifted to account for Elite Analytics sprints]*
**Goal:** Opposition research automation + public voter roll ingestion

- [ ] Opposition research engine:
  - Voting record analysis (flag votes against party positions)
  - FEC contribution analysis (top industries, PAC donors)
  - News archive aggregation for opponent
  - Social media history aggregation (Twitter/X)
- [ ] Named entity recognition pipeline (spaCy) for opp research extraction
- [ ] Public voter roll ingestion (Phase 1 priority states: PA, MI, WI, AZ, GA, NV, OH, FL)
- [ ] Census demographic enrichment at district level
- [ ] Basic propensity scoring v1 (demographics-based, no paid data)
- [ ] Data storage optimization (indexed for district-level queries)

**Milestone:** Full opposition research package automatable for any candidate; voter data live for 8 priority states

---

### Sprint 4 (Days 85-100): Strategic Memo Generator + Kaplan Pilot
**Goal:** Intelligence output layer + deliver pilot briefs

- [ ] Strategic memo generator (Claude Sonnet):
  - Race analysis template
  - Opposition research memo template
  - Polling trend analysis template
  - Fundraising comparison memo template
- [ ] Brainworks branded HTML output (matches Brainworks design system)
- [ ] PDF export (headless Chrome / WeasyPrint)
- [ ] Internal dashboard v1 (React — basic, internal-only)
  - Race overview table with Competitive Index
  - Race drill-down view
  - Memo generation trigger
- [ ] **KAPLAN PILOT**: Generate 3+ intelligence briefs:
  - CA Senate landscape (2026)
  - 3-4 competitive CA House races
  - National top-10 toss-up races overview
- [ ] Deliver briefs to Kaplan; schedule feedback meeting

**Milestone:** 3+ intelligence briefs delivered to Kaplan network; Phase 1 gate criteria met

**Phase 1 Gate Review:**
- [ ] All data sources live and updated daily
- [ ] Race Intelligence Engine covering 100% of Senate + competitive House
- [ ] 3+ intelligence briefs delivered and received positively
- [ ] At least 1 DSCC/DCCC introduction requested

---

### Parallel Track: PAC Formation (Sprints 3-4)
- ✅ PAC name selected: **Catalyst Democracy Operations (CDO)**
- [ ] Engage FEC counsel for PAC formation and IE compliance review
- [ ] File FEC Form 1 (Statement of Organization)
- [ ] Open dedicated PAC bank account
- [ ] Establish compliance calendar (24/48-hour reporting triggers)
- [ ] Begin Meta + Google political advertiser verification applications

---

## Phase 2: Operations Platform (90 days)
**Goal:** Full campaign operations for Brainworks-operated PAC
*Note: Now targeting Day 71+ after Elite Analytics expansion (Sprints 2.5–2.7) completes.*

### Sprint 5 (Days 61-74): Micro-Targeting & Audience Builder
**Goal:** Voter segment builder with platform export

- [ ] Micro-targeting UI (React):
  - Segment builder (demographic filters, geography, propensity scores)
  - Real-time segment size estimates
  - Saved segments per campaign
- [ ] L2 Political data integration (contract + ingestion pipeline)
- [ ] Propensity modeling v2 (with L2 modeled scores):
  - Turnout propensity
  - Persuadability score
  - Issue alignment matching
- [ ] Audience export:
  - Meta Custom Audiences CSV (email hash, phone hash, name+zip)
  - Google Customer Match CSV (email, phone, postal)
- [ ] Meta Marketing API integration (audience upload)
- [ ] Google Ads API integration (customer match upload)

**Milestone:** Voter segments buildable in UI; direct upload to Meta and Google functional

---

### Sprint 6 (Days 75-88): Content Engine
**Goal:** AI content generation pipeline across all formats

- [ ] Candidate profile system (issue positions, tone, voice, approved messaging)
- [ ] Content generation engine (Claude Sonnet):
  - Social: Twitter/X, Facebook, Instagram, TikTok
  - Email: subject line variants, body copy, A/B pairs
  - SMS scripts (160-char compliant)
  - Ad copy: display, video scripts (15/30/60s), radio
  - Press statements, fundraising appeals
- [ ] FEC disclaimer auto-injection (all political content)
- [ ] Content approval queue (dashboard workflow)
- [ ] Content calendar UI
- [ ] Scheduling system (Celery beat for timed distribution)
- [ ] Template library (15+ content templates)
- [ ] Tone/voice adaptation per candidate profile

**Milestone:** Content engine generating review-ready content across all formats; approval queue live

---

### Sprint 7 (Days 89-102): Advertising Operations
**Goal:** Full-stack ad buying with FEC-compliant approval gates

- [ ] Meta Ads API full integration:
  - Campaign, Ad Set, Ad creation
  - Audience targeting from voter segments
  - Budget management
  - Performance data pull (hourly)
- [ ] Google Ads API full integration:
  - Search + Display campaigns
  - Performance tracking
- [ ] Human approval gate system:
  - <$500: autonomous execution
  - ≥$500: approval queue (dashboard + email notification)
- [ ] Budget allocation optimizer (AI-recommended cross-race allocation)
- [ ] Ad performance dashboard (CPC, CPM, CPA by segment + creative)
- [ ] Independent Expenditure logging (FEC Form 24/Form 6 pre-population)
- [ ] 24/48-hour reporting trigger system

**Milestone:** Ad operations live; first independent expenditure processed through FEC-compliant system

---

### Sprint 8 (Days 103-116): Fundraising Automation
**Goal:** ActBlue integration + major donor prospecting

- [ ] ActBlue API integration:
  - Campaign creation + link management
  - Real-time donation data pull
  - Fundraising goal tracking
- [ ] Email drip sequence engine (Celery + SendGrid):
  - Issue-triggered sequences
  - FEC deadline triggered sequences
  - Donor behavior triggered sequences (first-time, lapsed, high-value)
- [ ] SMS fundraising (Twilio):
  - SMS list management
  - Broadcast + targeted sends
  - Opt-out management (STOP keyword compliance)
- [ ] Major donor prospecting:
  - Public wealth screening (SEC filings, real estate public records)
  - Network graph (donor → candidate via FEC data)
  - Warm intro path finder
- [ ] Fundraising dashboard (vs. goal, projections, cohort analysis)

**Milestone:** Full fundraising automation live; first ActBlue campaign managed through platform

---

### Sprint 9 (Days 117-150): Live Dashboard + PAC Operations
**Goal:** Full campaign dashboard; begin PAC operations

- [ ] Live campaign dashboard v2 (full-featured):
  - Race overview
  - Content calendar + approvals
  - Fundraising performance
  - Ad operations metrics
  - Audience manager
  - Intelligence feed
- [ ] Polling & Message Testing module:
  - Polling aggregation visualization (trend charts)
  - Sentiment overlay (social vs. polls)
  - A/B test tracking
  - Crosstab analysis by demographic
- [ ] PDF/HTML export for all dashboard views
- [ ] User management (roles: admin, campaign manager, content approver)
- [ ] Begin Brainworks PAC operations on actual 2026 races
- [ ] Performance reporting for PAC activity (weekly summary)

**Milestone:** PAC operations running in at least 1 live 2026 race; fundraising lift measurable vs. baseline

**Phase 2 Gate Review:**
- [ ] Fundraising lift demonstrated (>15% vs. baseline target)
- [ ] Ad operations running with FEC-compliant gates
- [ ] 10,000+ voter segments built and exported
- [ ] Content engine generating content for at least 1 active race
- [ ] First paid PAC engagement or LOI

---

## Phase 2.5: Newsom 2028 Presidential Intelligence Module (Parallel Track)
**Goal:** Build the presidential intelligence infrastructure in parallel with Phase 2 PAC operations — ready before any formal announcement

### Sprint 6 (Days 71-84): Newsom 2028 Presidential Module — Foundation
- Newsom national profile monitor (cable + social + editorial tracking)
- Republican field profiles (top 8 likely candidates)
- Presidential polling aggregation (Morning Consult, YouGov, Quinnipiac)
- Basic 270-map state favorability model
- Daily Newsom mention report endpoint

### Sprint 7 (Days 85-98): Presidential Module — Intelligence Layer
- Opposition research engine (policy contradiction detection, vulnerability mapping)
- National donor network mapping (FEC 2024 presidential + 2020 Biden donors)
- Electoral map modeling with demographic overlays
- Weekly presidential intelligence brief generator
- Real-time presidential alert system

---

## Phase 3: SaaS Platform (6 months)
**Goal:** Multi-tenant licensed platform for campaigns and PACs

### Sprint 10-11 (Months 1-2): Multi-Tenant Architecture
- [ ] Tenant isolation (PostgreSQL row-level security per campaign)
- [ ] Auth system (OAuth 2.0 + JWT, role-based access control)
- [ ] Tenant provisioning API (create campaign, assign modules, set permissions)
- [ ] Billing integration (Stripe subscription management)
- [ ] Rate limiting per tenant (API + AI usage caps by tier)
- [ ] Data isolation audit (ensure no cross-tenant data leakage)
- [ ] Security audit (before any external access)

**Milestone:** Multi-tenant architecture live; security audit passed

---

### Sprint 12-13 (Months 2-3): Campaign Onboarding
- [ ] Self-serve onboarding flow (React wizard):
  - Campaign profile setup (candidate, race, committee info)
  - FEC committee registration import
  - Module selection by tier
  - ActBlue + ad account connection
- [ ] White-glove onboarding workflow (internal process for PAC clients)
- [ ] User invitation + team management
- [ ] Onboarding documentation + help center
- [ ] Demo environment (sandboxed data, no live API calls)
- [ ] Tiered pricing enforcement (feature gating by subscription level)

**Milestone:** First external campaign onboarded and operational

---

### Sprint 14-15 (Months 3-4): DCCC/DSCC Partnership Track
- [ ] DCCC vendor qualification submission
- [ ] DSCC vendor qualification submission
- [ ] Security + compliance documentation package
- [ ] Integration documentation for existing campaign tools (NGP VAN API)
- [ ] White-label configuration (PAC partner branding)
- [ ] API documentation (for enterprise integrations)
- [ ] Sales deck + demo script (PAC enterprise tier)
- [ ] Case study from Phase 2 PAC operations (fundraising lift, ad performance)

**Milestone:** DCCC/DSCC vendor applications submitted; first PAC enterprise LOI

---

### Sprint 16-18 (Months 4-6): Scale + Optimize
- [ ] Performance optimization (sub-2s dashboard loads at 50+ concurrent tenants)
- [ ] Predictive election modeling (Phase 3 stretch goal)
- [ ] Volunteer/canvass coordination module (stretch goal)
- [ ] Advanced reporting (automated weekly performance reports per campaign)
- [ ] Mobile-responsive dashboard
- [ ] Live ops monitoring (fleet.brainworks.ai/blue-wave/ops/)
- [ ] SRE golden signals dashboard (latency, traffic, errors, saturation)
- [ ] Customer success playbooks
- [ ] Scale to 10 paying campaigns

**Milestone:** 10 paying campaigns; MRR > $100K; DCCC/DSCC vendor status achieved

---

### Sprint 10+ (Phase 3): Advanced Analytics Engine
**Goal:** Deploy Tier 1 impossible-before-AI capabilities as competitive moat

Priority order:
1. Crisis Early Warning System (highest campaign demand, clearest ROI)
2. Narrative Mutation Tracking (fastest to build on existing news pipeline)
3. Opponent Move Prediction (requires 1 cycle of training data — start collecting now)
4. Coalition Energy Monitoring (builds on social sentiment infrastructure)
5. Voter Sentiment Trajectory Modeling (requires 2-3 months of signal data)
6. Cross-Race Intelligence Transfer (requires multi-race operation — Phase 2 prerequisite)

Tier 2 capabilities scheduled for Phase 3 Month 4-6.

---

## Key Milestones Summary

| Milestone | Target Date | Success Criteria |
|-----------|-------------|-----------------|
| M1: Data Foundation Live | Day 14 | All 8 free data sources ingesting |
| M2: Race Intelligence Engine | Day 28 | Daily briefings to Brainworks team |
| M2.5: Elite Analytics Phase 1 | Day 42 | Narrative Contagion Tracker live; NL Chart Interrogation demo-ready; oppo brief generator producing Kaplan-demo-quality output |
| M2.6: Elite Analytics Phase 2 | Day 56 | Full emotional resonance + synthetic polling + donor optimization live |
| M2.7: Elite Visualization Suite | Day 70 | Elite visualization suite complete; full Kaplan demo package ready |
| M3: Kaplan Pilot Delivered | Day 100 | 3+ briefs delivered, positive reception |
| M4: Micro-Targeting Live | Day 130 | Voter segments exportable to Meta/Google |
| M5: Content Engine Live | Day 144 | Content generating across all formats |
| M6: Ad Operations Live | Day 158 | First FEC-compliant ad buy processed |
| M7: Fundraising Automation Live | Day 172 | First ActBlue campaign managed |
| M8: PAC Operations Active | Day 192 | Operating in 1+ live 2026 race |
| M9: Multi-Tenant Live | Month 3 | Security audit passed |
| M10: First External Campaign | Month 4 | Campaign onboarded + operational |
| M11: DCCC/DSCC Applications | Month 4 | Applications submitted |
| M12: 10 Paying Campaigns | Month 10 | MRR > $100K |

---

## Infrastructure Rollout

| Phase | Infrastructure | Monthly Cost (est.) |
|-------|---------------|---------------------|
| Phase 1 | 1× DO Droplet (2CPU/4GB), SQLite (local), in-process cache | ~$40/month |
| Phase 2 | 4× Droplets (8CPU/16GB), Managed PG (large), Redis Cluster | ~$2,000/month |
| Phase 3 | 8× Droplets (16CPU/32GB), PG HA, Redis Cluster, Spaces CDN | ~$5,000/month |

---

## Dependencies & Risks

| Dependency | Risk | Mitigation |
|-----------|------|-----------|
| L2 Political contract | Blocks Phase 2 propensity modeling | Begin procurement at end of Phase 1 |
| FEC legal review | Must complete before Phase 2 ad ops | Engage counsel in Sprint 3 |
| Meta Ads API political approval | Can take 4-6 weeks | Apply in Sprint 5 (Day 61) |
| Google Ads political verification | 3-4 weeks | Apply in Sprint 5 (Day 61) |
| ActBlue API access | Requires campaign committee setup | Establish Brainworks PAC in Sprint 5 |
| DCCC/DSCC vendor process | 3-6 month qualification timeline | Submit applications by Month 4 |

---

---

## Phase 4.5: Dark Money Tracking Intelligence

### Sprint 4.8: Dark Money Research & PRD (April 16, 2026)
| Deliverable | Tests | Status |
|-------------|-------|--------|
| Deep research on dark money channels, data sources, legal frameworks | — | ✅ Complete |
| PRD Phase 4.5 section with data source inventory | — | ✅ Complete |
| DEV_PLAN Phase 4.5 sprints | — | ✅ Complete |

### Sprint 4.9: Dark Money Dashboard (April 16, 2026)
| Deliverable | Tests | Status |
|-------------|-------|--------|
| `dark-money-tracker.html` — full dark money intelligence dashboard | — | ✅ Complete |
| D3 Sankey diagram: money flow visualization (donors → intermediaries → spending) | — | ✅ Complete |
| 501(c)(4) organization tracker with tabbed tables (conservative/progressive/bipartisan) | — | ✅ Complete |
| c4 spending trend chart (2010-2024, dual-axis bar + line) | — | ✅ Complete |
| 527 organization tracker with reporting lag analysis | — | ✅ Complete |
| State party money flow tracker with stacked bar chart | — | ✅ Complete |
| PAC shell network D3 force-directed graph (c4 → shell → PAC) | — | ✅ Complete |
| Congressional stock trade tracker (flagged trades, top traders, sector correlation) | — | ✅ Complete |
| Commissioned content tracker | — | ✅ Complete |
| FEC reporting gap analysis with compliance trend chart | — | ✅ Complete |
| Data source inventory table | — | ✅ Complete |
| Methodology & legal framework documentation | — | ✅ Complete |

### Sprint 4.10: Cross-Page Integration (April 16, 2026)
| Deliverable | Tests | Status |
|-------------|-------|--------|
| Navigation updated across all 8 pages to include Dark Money link | — | ✅ Complete |
| Ferguson Tracker: dark money influence table for 6 candidates | — | ✅ Complete |
| Network Ops: 4 dark money nodes + 6 edges in D3 graph + color coding | — | ✅ Complete |
| Intelligence Report: Section 15 with summary stats + key org table | — | ✅ Complete |
| Campaign Ops: Pillar 13 dark money intelligence card | — | ✅ Complete |
| Analytics Dashboard: Dark Money nav link | — | ✅ Complete |
| Index (Sell Sheet): Capabilities 13 & 14 + nav link | — | ✅ Complete |

### Sprint 4.11: Documentation & Deploy (April 16, 2026)
| Deliverable | Tests | Status |
|-------------|-------|--------|
| PRD updated with Phase 4.5 | — | ✅ Complete |
| DEV_PLAN updated with Phase 4.5 sprints | — | ✅ Complete |
| STATUS.md updated | — | ✅ Complete |
| Git commit | — | ✅ Complete |
| Deploy to fleet.brainworks.ai | — | ✅ Complete |

---

## Phase 4.6: Synthetic-Data Cleanup + Chart Rendering QA (May 2, 2026)

**Goal:** Remove all synthetic/placeholder data feeds, replace OpenSecrets (discontinued April 2025) with FollowTheMoney.org, and conduct a full visual audit of every chart across all 11 intelligence pages with collision/clipping fixes.

### Sprint 4.12: OpenSecrets → FollowTheMoney Migration
| Deliverable | Tests | Status |
|-------------|-------|--------|
| Confirm OpenSecrets API discontinuation, audit existing references | — | ✅ Complete |
| Register hallie@brainworks.ai with myFollowTheMoney + acquire API key | — | ✅ Complete |
| New connector `backend/src/ingestion/followthemoney.py` (BaseConnector pattern) | 20 | ✅ Complete |
| API route `backend/src/api/routes/followthemoney.py` with multi-state endpoint | — | ✅ Complete |
| UI widget on `dark-money-tracker.html` (4-stat tiles) | — | ✅ Complete |
| Honest "Pending" status while FTM Institute review pending (no synthetic fallback) | — | ✅ Complete |
| Deploy backend to 64.225.20.29:8000 + frontend to fleet.brainworks.ai | — | ✅ Complete |
| Commit `aab4216` | — | ✅ Complete |

### Sprint 4.13: Full Chart Audit (Playwright automation)
| Deliverable | Status |
|-------------|--------|
| Capture 61 charts across 11 pages (canvas + SVG selectors) | ✅ Complete |
| Auth-gate handling for newsom-2028 + teboe-dashboard (`catalyst2026`) | ✅ Complete |
| Tab-aware capture for teboe-dashboard hidden tab panels | ✅ Complete |
| Image-tool inspect each chart, log issues | ✅ Complete |
| Initial captures → `docs/chart-audit/` | ✅ Complete |

### Sprint 4.14: Chart Rendering Fixes
| Chart | Fix | Status |
|-------|-----|--------|
| `pollingTrendsChart` (index + sellsheet) | Y-axis `-10–18`, line width 2→4px, TX color `#059669` | ✅ |
| `candlestickChart` beeswarm | Shortened no-data race annotations to fit panel width | ✅ |
| `emotionRadar` | Dynamic max scaling (clean increments 20/40/60/80/100), aligned stepSize | ✅ |
| `favorabilityChart` (newsom) | autoSkip + maxTicksLimit 8 | ✅ |
| `messageEffectivenessChart` (newsom) | maxRotation 45 | ✅ |
| `messagingTimelineChart` (newsom) | maxTicksLimit 8 | ✅ |
| Ferguson `scatter-svg` | Per-label offset table for 9 historical points; projected 2028 staggering | ✅ |
| Ferguson `timeline-svg` | marginR 20→110px; per-marker label position table; right-anchored Q4/IOWA/Clyburn labels | ✅ |
| Network-ops `network-svg` | Legend extracted from SVG to flex row below; bounds padded; halo strokes | ✅ |
| Invisible-primary `network-svg` | Force charge/distance/collision retuned; bounds padded; halos | ✅ |
| Universal | `scroll-margin-top: 80px` injected on chart wrappers across 11 HTML files | ✅ |
| Post-fix verification screenshots → `docs/chart-audit-v2/` | — | ✅ |

### Sprint 4.15: Documentation & Deploy
| Deliverable | Status |
|-------------|--------|
| STATUS.md updated with Phase 4.6 | ✅ Complete |
| DEV_PLAN updated with Phase 4.6 sprints | ✅ Complete |
| Sync to fleet.brainworks.ai | ✅ Complete |
| Git commit | 🟡 In progress |

---

*Document prepared by Brainworks Ventures internal team.*  
*Version 1.2 — May 2, 2026 (Phase 4.6 added: synthetic-data cleanup + chart QA)*
