diff --git a/.circleci/config.yml b/.circleci/config.yml
index 3d59edc97..163ed7b16 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -215,7 +215,7 @@ jobs:
# Required env vars in CircleCI project settings:
# VERCEL_TOKEN, VERCEL_PROJECT_ID, (optional) VERCEL_TEAM_ID
lighthouse-preview:
- executor: node
+ executor: node-large
steps:
- checkout
- install-node-deps
@@ -228,10 +228,19 @@ jobs:
name: Wait for Vercel preview to be READY
command: |
URL=$(bash .circleci/scripts/wait-for-vercel-preview.sh)
- echo "export PREVIEW_URL='${URL}'" >> "$BASH_ENV"
+ if [ -z "${URL}" ]; then
+ echo "No Vercel preview URL available; skipping advisory Lighthouse run."
+ echo "export SKIP_LIGHTHOUSE=1" >> "$BASH_ENV"
+ else
+ echo "export PREVIEW_URL='${URL}'" >> "$BASH_ENV"
+ fi
- run:
name: Run Lighthouse CI
command: |
+ if [ "${SKIP_LIGHTHOUSE:-0}" = "1" ]; then
+ echo "Skipping Lighthouse CI because preview credentials are not configured."
+ exit 0
+ fi
npx lhci autorun --config=lighthouserc.cjs
- store_artifacts:
path: .lighthouseci/
diff --git a/.circleci/scripts/wait-for-vercel-preview.sh b/.circleci/scripts/wait-for-vercel-preview.sh
index d385c0c39..31b0f7d9a 100755
--- a/.circleci/scripts/wait-for-vercel-preview.sh
+++ b/.circleci/scripts/wait-for-vercel-preview.sh
@@ -14,7 +14,9 @@
# finish in 1-3 min
# POLL_INTERVAL_S — default 10
#
-# Exits non-zero with a useful message on timeout or API error.
+# Exits non-zero with a useful message on timeout or API error. If CircleCI is
+# not configured with Vercel credentials yet, exits zero with no stdout so the
+# caller can skip the advisory Lighthouse run without blocking the PR.
# Designed to be source'd OR run with `eval $(...)` to set
# PREVIEW_URL in the calling shell. Standalone use: `bash this | tail -1`.
#
@@ -23,9 +25,15 @@
set -euo pipefail
-: "${VERCEL_TOKEN:?VERCEL_TOKEN env var is required}"
-: "${VERCEL_PROJECT_ID:?VERCEL_PROJECT_ID env var is required}"
-: "${CIRCLE_SHA1:?CIRCLE_SHA1 env var is required (CircleCI provides this)}"
+if [[ -z "${VERCEL_TOKEN:-}" || -z "${VERCEL_PROJECT_ID:-}" ]]; then
+ echo "Skipping Lighthouse preview: VERCEL_TOKEN or VERCEL_PROJECT_ID is not configured in CircleCI." >&2
+ exit 0
+fi
+
+if [[ -z "${CIRCLE_SHA1:-}" ]]; then
+ echo "Skipping Lighthouse preview: CIRCLE_SHA1 is not set." >&2
+ exit 0
+fi
POLL_TIMEOUT_S="${POLL_TIMEOUT_S:-600}"
POLL_INTERVAL_S="${POLL_INTERVAL_S:-10}"
diff --git a/.claude/README.md b/.claude/README.md
index 6ff8a0268..d259f9538 100644
--- a/.claude/README.md
+++ b/.claude/README.md
@@ -1,220 +1,36 @@
-# 🎯 Production Audit Commands for Claude Code
+# Claude Agent Workspace
-## ✅ SIMPLE 2-STEP PROCESS
+This folder contains Claude-facing agents, commands, and older audit material.
-### Step 1: Generate Agent Prompts
+## Current Agents
-```bash
-# For GolfHelm
-python3 .claude/run_audit.py audit-golf 1
+Use `.claude/agents/` for focused review and handoff work:
-# For BaseballHelm
-python3 .claude/run_audit.py audit-baseball 1
+- `triage-captain.md`: turns broad requests into scoped, issue-ready work.
+- `ci-doctor.md`: investigates failing checks and local verification gaps.
+- `db-rls-auditor.md`: reviews Supabase migrations, policies, and RLS tests.
+- `test-writer.md`: adds focused unit, integration, or smoke coverage.
+- `docs-keeper.md`: keeps current docs and memory routing synchronized.
+- `pr-reviewer.md`: reviews changes for regressions and missing verification.
+- `ui-polish-reviewer.md`: reviews UI polish and visual consistency.
-# For Both Platforms
-python3 .claude/run_audit.py audit-both 1
-```
+## Current Rules
-This creates a file: `RUN_IN_CLAUDE_CODE.md`
+Read these before treating older generated prompts as current:
-### Step 2: Copy & Paste Into Claude Code
+- `../AGENTS.md`
+- `../CLAUDE.md`
+- `../docs/current/README.md`
+- `../docs/operations/GATE_MATRIX.md`
+- `../docs/operations/CI_RUNBOOK.md`
-```bash
-# Open the generated file
-open .production-team/GOLFHELM_AUDIT_ROUND_01/RUN_IN_CLAUDE_CODE.md
+## Legacy Material
-# Copy the message
-# Paste into Claude Code
-# Done!
-```
+Older files in this folder may describe prompt-generation systems or one-off audit runs. Keep them as historical evidence, not as the primary workflow.
----
+For new work, prefer:
-## 🎭 What Happens
-
-### When You Run the Command:
-
-1. **Loads ALL agent personalities** from `.production-team/`
-2. **Loads ALL agent memories** from `.production-team/memory/`
-3. **Applies platform scope** (Golf, Baseball, or Both)
-4. **Generates complete prompts** with full intelligence
-5. **Creates RUN_IN_CLAUDE_CODE.md** with everything Claude Code needs
-
-### The Three Genius Agents:
-
-**🛡️ Database Sentinel**
-- Full personality + methodology loaded
-- Memory from past rounds loaded
-- Scoped to platform (golf tables only, etc.)
-- Queries live database via Supabase MCP
-
-**🎯 Feature Maestro** ⭐ **(SUPER IMPORTANT)**
-- Full personality + methodology loaded
-- Memory from past rounds loaded
-- Tests all features with edge cases
-- Checks completeness systematically
-
-**✨ Experience Architect**
-- Full personality + methodology loaded
-- Memory from past rounds loaded
-- Enforces Da Vinci philosophy
-- Verifies glassmorphism + kelly green
-
----
-
-## 📁 Output Structure
-
-**After running `audit-golf`:**
-```
-.production-team/GOLFHELM_AUDIT_ROUND_01/
-├── PROMPT_DATABASE_SENTINEL.md .......... Full agent prompt
-├── PROMPT_FEATURE_MAESTRO.md ............ Full agent prompt
-├── PROMPT_EXPERIENCE_ARCHITECT.md ....... Full agent prompt
-├── RUN_IN_CLAUDE_CODE.md ................ Copy this into Claude Code
-├── 01_DATABASE_SENTINEL_FINDINGS.md ..... (Created by Claude Code)
-├── 02_FEATURE_MAESTRO_FINDINGS.md ....... (Created by Claude Code)
-├── 03_EXPERIENCE_ARCHITECT_FINDINGS.md .. (Created by Claude Code)
-├── 04_CROSS_AGENT_SYNTHESIS.md .......... (Created by Claude Code)
-└── 05_PRIORITY_ACTION_ITEMS.md .......... (Created by Claude Code)
-```
-
----
-
-## 🚀 Complete Workflow
-
-```bash
-# 1. Generate prompts for GolfHelm
-python3 .claude/run_audit.py audit-golf 1
-
-# 2. Open the instruction file
-cat .production-team/GOLFHELM_AUDIT_ROUND_01/RUN_IN_CLAUDE_CODE.md
-
-# 3. Copy the message from that file
-
-# 4. Open Claude Code (in Cursor or standalone)
-
-# 5. Paste the message
-
-# 6. Claude Code executes all 3 agents autonomously
-
-# 7. Review findings
-cat .production-team/GOLFHELM_AUDIT_ROUND_01/05_PRIORITY_ACTION_ITEMS.md
-
-# 8. Fix issues
-
-# 9. Run Round 2
-python3 .claude/run_audit.py audit-golf 2
-```
-
----
-
-## 💡 Why This Works
-
-### Before (Didn't Work):
-❌ You had to manually combine agent files
-❌ No memory loaded
-❌ Platform scope unclear
-❌ Confusing to execute
-
-### Now (Works Perfectly):
-✅ **One command** generates everything
-✅ **Full agent intelligence** loaded
-✅ **Memory automatically** loaded and applied
-✅ **Platform scope** built-in
-✅ **Simple copy/paste** into Claude Code
-✅ **Agents run autonomously** with full capabilities
-
----
-
-## 🎯 Available Commands
-
-```bash
-# GolfHelm only
-python3 .claude/run_audit.py audit-golf 1
-
-# BaseballHelm only
-python3 .claude/run_audit.py audit-baseball 1
-
-# Both platforms
-python3 .claude/run_audit.py audit-both 1
-
-# Round 2 (after fixes)
-python3 .claude/run_audit.py audit-golf 2
-```
-
----
-
-## 🧠 Memory System
-
-**First Run:**
-- Agents have no memory
-- Establish baseline findings
-- Create memory files
-
-**Second Run:**
-- Agents load memory from Round 1
-- Skip re-reporting fixed issues
-- Go deeper on edge cases
-- Update memory with new learnings
-
-**Round 3+:**
-- Agents have deep knowledge
-- Predict issues based on patterns
-- Expert-level auditing
-
----
-
-## 📊 Example Usage
-
-```bash
-$ python3 .claude/run_audit.py audit-golf 1
-
-======================================================================
-🎭 PRODUCTION AUDIT - GOLFHELM - ROUND 01
-======================================================================
-
-📁 Output: .production-team/GOLFHELM_AUDIT_ROUND_01
-
-🛡️ DATABASE SENTINEL
-──────────────────────────────────────────────────────────────────────
-✅ Generated prompt: .production-team/GOLFHELM_AUDIT_ROUND_01/PROMPT_DATABASE_SENTINEL.md
- Memory loaded: No (first run)
- Platform scope: GolfHelm
-
-🎯 FEATURE MAESTRO
-──────────────────────────────────────────────────────────────────────
-✅ Generated prompt: .production-team/GOLFHELM_AUDIT_ROUND_01/PROMPT_FEATURE_MAESTRO.md
- Memory loaded: No (first run)
- Platform scope: GolfHelm
-
-✨ EXPERIENCE ARCHITECT
-──────────────────────────────────────────────────────────────────────
-✅ Generated prompt: .production-team/GOLFHELM_AUDIT_ROUND_01/PROMPT_EXPERIENCE_ARCHITECT.md
- Memory loaded: No (first run)
- Platform scope: GolfHelm
-
-======================================================================
-✨ PROMPTS GENERATED!
-======================================================================
-
-📄 Next: Open and copy: .production-team/GOLFHELM_AUDIT_ROUND_01/RUN_IN_CLAUDE_CODE.md
-📋 Paste into Claude Code
-🚀 Agents will execute with full intelligence + memory
-```
-
-Then just:
-1. Open `RUN_IN_CLAUDE_CODE.md`
-2. Copy the message
-3. Paste into Claude Code
-4. Watch the genius agents work!
-
----
-
-## ✨ That's It!
-
-**One command. One copy/paste. Full intelligent agents with memory.**
-
-Start now:
-```bash
-python3 .claude/run_audit.py audit-golf 1
-```
+1. GitHub Issues for the task.
+2. `memory/registry.yml` for feature routing.
+3. The relevant current docs under `docs/current/` and `docs/operations/`.
+4. The smallest useful verification command before declaring completion.
diff --git a/.claude/agents/ci-doctor.md b/.claude/agents/ci-doctor.md
new file mode 100644
index 000000000..619024736
--- /dev/null
+++ b/.claude/agents/ci-doctor.md
@@ -0,0 +1,17 @@
+# CI Doctor
+
+Purpose: diagnose failing CI and propose the smallest safe fix.
+
+## Responsibilities
+
+- Read the failed job logs before suggesting code changes.
+- Use `docs/operations/GATE_MATRIX.md` to classify hard blockers versus advisory checks.
+- Prefer fixing root causes over relaxing gates.
+- Do not make unrelated code, docs, or baseline changes.
+
+## Done Means
+
+- Root cause is named.
+- Minimal fix is identified.
+- Required verification command is listed.
+- Any advisory-only failure is clearly labeled advisory.
diff --git a/.claude/agents/db-rls-auditor.md b/.claude/agents/db-rls-auditor.md
new file mode 100644
index 000000000..c0bed0c21
--- /dev/null
+++ b/.claude/agents/db-rls-auditor.md
@@ -0,0 +1,18 @@
+# DB / RLS Auditor
+
+Purpose: review Supabase migrations, RLS policies, security-definer functions, and data access paths.
+
+## Responsibilities
+
+- Treat database and security mistakes as high risk.
+- Check new tables for RLS enablement and policies in the same migration.
+- Check `SECURITY DEFINER` functions for explicit `search_path`.
+- Verify data access paths use authenticated user context.
+- Require migration lint, RLS tests, database type drift checks, and ledger checks when relevant.
+
+## Required References
+
+- `memory/context/golfhelm-database.md`
+- `memory/glossary.md`
+- `docs/operations/GATE_MATRIX.md`
+- `docs/operations/HOT_FILES.md`
diff --git a/.claude/agents/docs-keeper.md b/.claude/agents/docs-keeper.md
new file mode 100644
index 000000000..ef90b7807
--- /dev/null
+++ b/.claude/agents/docs-keeper.md
@@ -0,0 +1,19 @@
+# Docs Keeper
+
+Purpose: keep current-state docs, feature docs, and registry mappings aligned with behavior.
+
+## Responsibilities
+
+- Keep current docs concise and present-tense.
+- Move old plans and audits to historical locations instead of letting them look current.
+- Update `memory/registry.yml` when feature ownership or path routing changes.
+- Do not manually edit generated blocks marked with AUTOGEN comments.
+
+## Source Of Truth
+
+- GitHub Issues: current work.
+- GitHub Project: current priority.
+- `memory/registry.yml`: feature routing.
+- `docs/operations/`: runbooks and incident history.
+- `docs/audits/`: historical audits.
+- `.helm/`: archive only.
diff --git a/.claude/agents/pr-reviewer.md b/.claude/agents/pr-reviewer.md
new file mode 100644
index 000000000..f135d32ed
--- /dev/null
+++ b/.claude/agents/pr-reviewer.md
@@ -0,0 +1,17 @@
+# PR Reviewer
+
+Purpose: review a PR diff for scope, missing tests, missing docs, risky files, and incomplete acceptance criteria.
+
+## Responsibilities
+
+- Lead with bugs, regressions, security issues, and test gaps.
+- Check whether changed files map through `memory/registry.yml`.
+- Verify hot-file rules in `docs/operations/HOT_FILES.md`.
+- Distinguish hard blockers from advisory checks using `docs/operations/GATE_MATRIX.md`.
+- Avoid style-only comments unless they hide a real maintenance or user risk.
+
+## Output Shape
+
+- Findings ordered by severity with file and line references.
+- Open questions.
+- Brief verification summary.
diff --git a/.claude/agents/test-writer.md b/.claude/agents/test-writer.md
new file mode 100644
index 000000000..ba54eed0b
--- /dev/null
+++ b/.claude/agents/test-writer.md
@@ -0,0 +1,19 @@
+# Test Writer
+
+Purpose: add or repair tests for a scoped Helm feature.
+
+## Responsibilities
+
+- Prefer invariant tests around past bugs.
+- Keep tests scoped to the feature and risk.
+- Do not refactor production code unless required for testability.
+- Use Vitest lanes intentionally:
+ - `npm run test:run` for unit tests.
+ - `npm run test:integration` for slower integration tests.
+ - `npm run test:rls` for Vitest RLS tests.
+- Use Playwright smoke only for critical browser entry points.
+
+## Done Means
+
+- The failing or missing behavior is covered.
+- The narrow relevant test command passes or the blocker is documented.
diff --git a/.claude/agents/triage-captain.md b/.claude/agents/triage-captain.md
new file mode 100644
index 000000000..edf905ab2
--- /dev/null
+++ b/.claude/agents/triage-captain.md
@@ -0,0 +1,21 @@
+# Triage Captain
+
+Purpose: convert a request, issue, or CI failure into a scoped work order. Do not edit code.
+
+## Responsibilities
+
+- Identify product area, feature registry key, likely files, risks, required docs, and required tests.
+- Use `memory/registry.yml` as the routing source of truth.
+- Call out missing registry coverage instead of guessing silently.
+- Produce allowed paths, forbidden paths, acceptance criteria, and done checks.
+
+## Output Shape
+
+- Objective
+- Feature registry key
+- Likely files
+- Required docs
+- Risks
+- Required commands
+- Acceptance criteria
+- Out of scope
diff --git a/.cleanup/reports/ARCHITECTURE_TANGLES.md b/.cleanup/reports/ARCHITECTURE_TANGLES.md
new file mode 100644
index 000000000..07fea34c5
--- /dev/null
+++ b/.cleanup/reports/ARCHITECTURE_TANGLES.md
@@ -0,0 +1,50 @@
+# Architecture Tangles
+
+Generated from first-pass audit outputs on branch cleanup/comprehensive-code-audit. First pass is audit/report only; no product-code cleanup is approved.
+
+## Circular Dependencies
+
+| Cycle | Files | Risk | Proposed Fix |
+|---|---|---|---|
+| 1 | `app/golf/(dashboard)/dashboard/stats/team/page.tsx > app/golf/(dashboard)/dashboard/stats/team/team-stats-table.tsx` | ARCHITECTURE_REVIEW | Split barrels/shared helpers only after approval. |
+| 2 | `app/golf/actions/admin-data.ts > app/golf/actions/admin/rollup-c.shared.ts` | ARCHITECTURE_REVIEW | Split barrels/shared helpers only after approval. |
+| 3 | `app/golf/actions/admin-data.ts > app/golf/actions/admin/rollup-c.ts` | ARCHITECTURE_REVIEW | Split barrels/shared helpers only after approval. |
+| 4 | `app/golf/admin/crm/components/CoachFilters.tsx > app/golf/admin/crm/components/segments/SaveSegmentDialog.tsx` | ARCHITECTURE_REVIEW | Split barrels/shared helpers only after approval. |
+| 5 | `components/baseball/stat-visuals/StatVisualsSection.tsx > components/baseball/stat-visuals/index.ts` | DEFERRED_BASEBALLHELM | Split barrels/shared helpers only after approval. |
+| 6 | `components/baseball/stat-visuals/StatVisualsSection.tsx > components/baseball/stat-visuals/index.ts > components/baseball/stat-visuals/use-stat-visual-views.ts` | DEFERRED_BASEBALLHELM | Split barrels/shared helpers only after approval. |
+| 7 | `components/fairway/pages/coachhelm/index.ts > components/fairway/pages/coachhelm/FairwayBrief.tsx` | ARCHITECTURE_REVIEW | Split barrels/shared helpers only after approval. |
+| 8 | `components/fairway/pages/rounds/FairwayRoundCard.tsx > components/fairway/pages/rounds/FairwayRoundsLibrary.tsx > components/fairway/pages/rounds/FairwayRoundRow.tsx` | ARCHITECTURE_REVIEW | Split barrels/shared helpers only after approval. |
+| 9 | `components/fairway/pages/rounds/FairwayRoundsLibrary.tsx > components/fairway/pages/rounds/FairwayRoundRow.tsx` | ARCHITECTURE_REVIEW | Split barrels/shared helpers only after approval. |
+| 10 | `components/fairway/pages/rounds/FairwayRoundsLibrary.tsx > components/fairway/pages/rounds/FairwayUnfinishedBanner.tsx` | ARCHITECTURE_REVIEW | Split barrels/shared helpers only after approval. |
+| 11 | `components/fairway/pages/tasks/FairwayCreateFromTemplateModal.tsx > components/fairway/pages/tasks/FairwayTasks.tsx` | ARCHITECTURE_REVIEW | Split barrels/shared helpers only after approval. |
+| 12 | `components/fairway/pages/tasks/FairwayTasks.tsx > components/fairway/pages/tasks/FairwayCreateTaskModal.tsx` | ARCHITECTURE_REVIEW | Split barrels/shared helpers only after approval. |
+| 13 | `components/golf/calendar/CalendarFeedManager.tsx > components/golf/calendar/CreateFeedSection.tsx` | ARCHITECTURE_REVIEW | Split barrels/shared helpers only after approval. |
+| 14 | `components/golf/coachhelm/insights/DiagnosisPanel.tsx > components/golf/coachhelm/insights/EvidencePanel.tsx` | ARCHITECTURE_REVIEW | Split barrels/shared helpers only after approval. |
+| 15 | `lib/golf/sg-benchmarks.ts > lib/golf/strokes-gained.ts` | ARCHITECTURE_REVIEW | Split barrels/shared helpers only after approval. |
+
+## Layering Violations
+
+| File | Violation | Risk |
+|---|---|---|
+| `src/components/fairway/pages/coachhelm/index.ts` -> `FairwayBrief.tsx` | Barrel/component circular import | ARCHITECTURE_REVIEW |
+| `src/app/golf/actions/admin-data.ts` -> admin rollups | Server action and rollup circularity | DATABASE_REVIEW |
+| `src/components/fairway/pages/tasks/*` | Modal/page mutual imports | MANUAL_REVIEW |
+
+## Server/Client Boundary Concerns
+
+| File | Concern | Risk |
+|---|---|---|
+| `src/app/golf/actions/*.ts` | Very large server-action files mix queries, business logic, and formatting. | ARCHITECTURE_REVIEW |
+| `src/components/fairway/pages/coachhelm/*` | Large UI components with domain logic. | MANUAL_REVIEW |
+
+## Product Boundary Violations
+
+| File | Issue | Risk |
+|---|---|---|
+| Shared UI/hooks | Potential BaseballHelm consumers must be proven before edits. | HIGH_RISK_DO_NOT_TOUCH |
+
+## Deferred BaseballHelm Architecture Findings
+
+| Finding | Reason Deferred |
+|---|---|
+| Madge cycles #5 and #6 in `components/baseball/stat-visuals` | DEFERRED_BASEBALLHELM. |
diff --git a/.cleanup/reports/BASELINE_HEALTH.md b/.cleanup/reports/BASELINE_HEALTH.md
new file mode 100644
index 000000000..a121d8f13
--- /dev/null
+++ b/.cleanup/reports/BASELINE_HEALTH.md
@@ -0,0 +1,28 @@
+# Baseline Health
+
+Generated from first-pass audit outputs on branch cleanup/comprehensive-code-audit. First pass is audit/report only; no product-code cleanup is approved.
+
+| Check | Status | Notes |
+|---|---|---|
+| npm install | Pass | Installed existing dependencies, then audit tooling. npm reported 52 vulnerabilities after audit-tool install. |
+| typecheck | Pass | `npm run typecheck` completed with no reported TypeScript errors. |
+| lint | Pass with warnings | ESLint completed with 0 errors and 2415 warnings; many BaseballHelm warnings are deferred. |
+| build | Pass | `npm run build` completed successfully. |
+| unit tests | Pass | 292 passed | 1 skipped (293). |
+| e2e tests | Not Run | Playbook says run if supported; first pass used unit and coverage commands. |
+| coverage | Pass | 38.25% ( 18250/47701 ). |
+| bundle analyze | Fail | `npm run analyze` hit Node heap OOM during analyzed build. |
+| Supabase db lint | Fail / Environment | Local Postgres on 127.0.0.1:54322 was not running. |
+| Supabase db diff | Fail / Environment | Docker daemon was not available. |
+
+## Existing Failures
+
+- SECURITY_REVIEW: npm audit reports 52 vulnerabilities after installing audit tooling. No dependency updates were made.
+- BUNDLE_REVIEW: analyzed build fails with Node out-of-memory. Normal build passes.
+- DATABASE_REVIEW: Supabase CLI checks could not run locally because local Postgres/Docker were unavailable.
+- ARCHITECTURE_REVIEW: dependency-cruiser could not run because no config exists and the playbook did not pass `--no-config`.
+- Lint baseline has 2415 warnings but 0 errors. BaseballHelm warnings are deferred.
+
+## Important Rule
+
+Do not blame cleanup for failures that already existed at baseline, but do not make them worse.
diff --git a/.cleanup/reports/BUNDLE_BLOAT_REPORT.md b/.cleanup/reports/BUNDLE_BLOAT_REPORT.md
new file mode 100644
index 000000000..b878f0090
--- /dev/null
+++ b/.cleanup/reports/BUNDLE_BLOAT_REPORT.md
@@ -0,0 +1,32 @@
+# Bundle Bloat Report
+
+Generated from first-pass audit outputs on branch cleanup/comprehensive-code-audit. First pass is audit/report only; no product-code cleanup is approved.
+
+## Largest Client Bundles
+
+| Route/Chunk | Size | Suspected Cause |
+|---|---|---|
+| Not available | Analyze build failed with Node heap OOM | Analyzer could not complete. Normal build passes. |
+
+## Suspicious Client-Side Packages
+
+| Package | Why Suspicious | Recommendation |
+|---|---|---|
+| Mapbox | Playbook calls out map libraries imported too high; Knip also flags mapbox as unused. | BUNDLE_REVIEW before removal or dynamic import changes. |
+| PDF/import tooling | Heavy parsing can leak into client bundles if imported through UI. | Audit import boundaries before changes. |
+| Chart libraries / Visx | depcheck reports mixed umbrella/granular package issues. | Confirm usage and dynamic boundaries. |
+| Large icon imports | Not quantified because analyzer failed. | Inspect after analyzer memory issue is solved. |
+
+## Easy Wins
+
+| Fix | Expected Impact | Risk |
+|---|---|---|
+| Make analyzer runnable with higher Node heap or smaller stats output | Enables real bundle report | Low |
+| Exclude generated artifacts from analysis/report scans | Faster audit tooling | Low |
+
+## Manual Review
+
+| Item | Reason |
+|---|---|
+| `npm run analyze` OOM | Need rerun with memory limit or analyzer config before claiming bundle sizes. |
+| Any BaseballHelm bundle finding | DEFERRED_BASEBALLHELM. |
diff --git a/.cleanup/reports/CODEBASE_CLEANUP_MASTER_REPORT.md b/.cleanup/reports/CODEBASE_CLEANUP_MASTER_REPORT.md
new file mode 100644
index 000000000..95de0852c
--- /dev/null
+++ b/.cleanup/reports/CODEBASE_CLEANUP_MASTER_REPORT.md
@@ -0,0 +1,112 @@
+# Helm Codebase Cleanup Master Report
+
+Generated from first-pass audit outputs on branch cleanup/comprehensive-code-audit. First pass is audit/report only; no product-code cleanup is approved.
+
+## Executive Summary
+
+- Total estimated app code: 691,135 LOC.
+- Repo LOC excluding configured junk: 1,386,031 LOC; this is inflated by generated bundles, docs, reports, screenshots, and archives.
+- Biggest bloat source: local/generated artifacts, especially `.next` at 28G and `ds-bundle` source output.
+- Safest cleanup wins: generated artifact policy, raw report gitignore, analyzer command hardening, test-fixture dedupe.
+- Highest-risk areas: BaseballHelm, migrations/RLS/service-role code, auth/security, stats calculations, CoachHelm engine outputs.
+- BaseballHelm status: 1348 matching files/findings deferred; do not touch.
+- Database-adjacent risk: Supabase CLI checks could not run locally; service-role and RLS surfaces need explicit review.
+- Bundle risk: normal build passes, but `npm run analyze` OOMs.
+- Architecture risk: madge found 15 circular dependency groups.
+
+## Key Metrics
+
+| Metric | Value |
+|---|---|
+| App LOC | 691,135 |
+| Repo LOC excluding junk | 1,386,031 |
+| Largest file | `supabase/migrations/20260527000000_prod_public_baseline.sql` by source lines |
+| Largest folder | `.next` at 28G |
+| Duplicate percentage | 3.03% standard; 3.61% strict |
+| Knip issue entries | 634 |
+| Knip files | 49 |
+| Depcheck unused dependencies | 9 runtime, 12 dev |
+| Circular dependency count | 15 |
+| Bundle bloat concern | Analyze build OOM |
+| BaseballHelm deferred findings | 1348 file matches plus explicit deferred tool findings |
+
+## Cleanup Categories
+
+### Safe Cleanup Candidates
+
+These are low-risk but still need approval.
+
+| Rank | Item | Type | Expected Benefit | Risk |
+|---|---|---|---|---|
+| 1 | Add safe cleanup/secret-scan report gitignore policy | GENERATED_ARTIFACT / SECURITY_REVIEW | Prevent raw secret or huge reports entering git | Low |
+| 2 | Remove or ignore generated `.next`, Playwright reports/captures, screenshots where tracked | GENERATED_ARTIFACT | Major local/repo bloat reduction | Low to medium |
+| 3 | Fix `npm run analyze` memory/config | BUNDLE_REVIEW | Enables real bundle sizing | Low |
+| 4 | Dedupe lint-rule test harness helpers | SAFE_CANDIDATE | Reduces repeated test code | Low |
+| 5 | Add dependency-cruiser config or run with `--no-config` | ARCHITECTURE_REVIEW | Makes architecture audit reproducible | Low |
+
+### Manual Review Required
+
+| Rank | Item | Reason |
+|---|---|---|
+| 1 | depcheck dependency removals | Static scan has false positives for mobile, build, chart, map, and dynamic imports. |
+| 2 | CoachHelm cron/API dedupe | Product correctness and scheduled behavior risk. |
+| 3 | Fairway barrel exports | Public UI API risk. |
+| 4 | `helm-website-ui`, `.helmdev`, `.agents`, `.claude` | Ownership/tooling intent unclear. |
+
+### High Risk / Do Not Touch
+
+| Item | Reason |
+|---|---|
+| BaseballHelm | Frozen by playbook. |
+| migrations/RLS/service-role code | Database security boundary. |
+| auth/account/security files | Security boundary. |
+| stats calculations | User-facing correctness. |
+| CoachHelm engine/scoring | Product correctness. |
+
+### Deferred BaseballHelm Findings
+
+See `DEFERRED_BASEBALLHELM_FINDINGS.md`.
+
+## Recommended PR Plan
+
+### PR 1: Reports and cleanup tooling only
+
+No source changes. Include this audit report set and decide whether audit tooling belongs in package metadata.
+
+### PR 2: Generated artifact policy
+
+Gitignore/report hygiene for `.cleanup`, raw secret scans, browser captures, local screenshots, and generated bundles.
+
+### PR 3: Analyzer and audit command hardening
+
+Fix `npm run analyze` OOM path, dependency-cruiser invocation, and safe secret scan exclusions.
+
+### PR 4: Confirmed non-Baseball generated artifact cleanup
+
+Small, owner-approved deletion batch only.
+
+### PR 5: Test tooling dedupe
+
+Dedupe repeated non-product lint-rule test helpers.
+
+## Validation Plan
+
+Every cleanup PR must run:
+
+```bash
+npm run typecheck
+npm run lint
+npm run build
+npm run test
+```
+
+If relevant:
+
+```bash
+npm run test:e2e
+npm run test:coverage
+```
+
+## Rollback Plan
+
+Every cleanup PR should be small enough to revert safely. No large mixed cleanup PRs.
diff --git a/.cleanup/reports/DATABASE_ADJACENT_RISK_REPORT.md b/.cleanup/reports/DATABASE_ADJACENT_RISK_REPORT.md
new file mode 100644
index 000000000..96739ee49
--- /dev/null
+++ b/.cleanup/reports/DATABASE_ADJACENT_RISK_REPORT.md
@@ -0,0 +1,47 @@
+# Database-Adjacent Risk Report
+
+Generated from first-pass audit outputs on branch cleanup/comprehensive-code-audit. First pass is audit/report only; no product-code cleanup is approved.
+
+## Supabase CLI Findings
+
+| Tool | Finding | Risk |
+|---|---|---|
+| `supabase db lint` | Could not connect to local Postgres on 127.0.0.1:54322. | DATABASE_REVIEW; environment missing. |
+| `supabase db diff` | Docker daemon unavailable. | DATABASE_REVIEW; environment missing. |
+
+## Service Role Usage
+
+| File | Usage | Risk |
+|---|---|---|
+| Multiple files | 867 service-role pattern lines found. | SECURITY_REVIEW / DATABASE_REVIEW. |
+| `src/lib/supabase/admin.ts` | Central admin client reads service role env. | Security-critical; do not refactor casually. |
+| `src/app/golf/actions/stats-data.ts` | Service-role fallback for detailed stats/RLS timeout paths. | Stats correctness and access-control risk. |
+| Baseball service-role paths | Multiple matches under `src/lib/baseball` and `src/app/baseball`. | DEFERRED_BASEBALLHELM. |
+
+## Query Duplication / Raw Query Hotspots
+
+| File | Pattern | Refactor Candidate? |
+|---|---|---|
+| `src/app/golf/actions/*.ts` | Server actions contain many Supabase query chains. | Manual review only. |
+| `src/app/api/cron/v3/*` | Repeated service/admin query patterns. | Architecture review after tests. |
+| `supabase/migrations*` | 1116 RLS/policy pattern lines. | Do not touch without DB approval. |
+
+## RLS / Policy Risk Areas
+
+| File/Table | Concern | Risk |
+|---|---|---|
+| Supabase migrations/archive | Historical policy duplication/noise | DATABASE_REVIEW |
+| service-role cron/admin paths | RLS bypass requires explicit scoping | SECURITY_REVIEW |
+
+## Do Not Touch Without Approval
+
+| Area | Reason |
+|---|---|
+| migrations | DB behavior and history. |
+| RLS policies | Security boundary. |
+| service-role helpers | Security boundary. |
+| stats query paths | Correctness and performance. |
+
+## BaseballHelm DB Findings
+
+Deferred.
diff --git a/.cleanup/reports/DEFERRED_BASEBALLHELM_FINDINGS.md b/.cleanup/reports/DEFERRED_BASEBALLHELM_FINDINGS.md
new file mode 100644
index 000000000..2d908aee2
--- /dev/null
+++ b/.cleanup/reports/DEFERRED_BASEBALLHELM_FINDINGS.md
@@ -0,0 +1,14 @@
+# Deferred BaseballHelm Findings
+
+These findings were discovered during cleanup analysis but were not fixed because BaseballHelm is frozen.
+
+| Tool | File/Area | Finding | Risk | Suggested Future Review |
+|---|---|---|---|---|
+| Product map grep | 1348 Baseball-related file matches | All BaseballHelm matches quarantined. | DEFERRED_BASEBALLHELM | Owner reconciliation of old/new BaseballHelm tracks. |
+| cloc | `scripts/baseballhelm-mega-build.workflow.js` | cloc timeout. | DEFERRED_BASEBALLHELM | Review script size/structure later. |
+| cloc | `scripts/baseballhelm-verification.workflow.js` | cloc timeout. | DEFERRED_BASEBALLHELM | Review script size/structure later. |
+| git object scan | `.ultracode/baseballhelm/events.ndjson` | Largest tracked object, repeated versions around 31 MB. | DEFERRED_BASEBALLHELM | Decide whether event logs belong in git. |
+| madge | `components/baseball/stat-visuals/*` | Circular dependencies. | DEFERRED_BASEBALLHELM | Fix only after BaseballHelm unfreezes. |
+| jscpd | Baseball auth/dashboard/components | Duplicate clusters. | DEFERRED_BASEBALLHELM | Deduplicate only after implementation track is chosen. |
+| lint | Baseball files | Many lint warnings in BaseballHelm paths. | DEFERRED_BASEBALLHELM | Do not auto-fix during freeze. |
+| depcheck/knip | Baseball import adapters/read-models | Missing/unused findings around Baseball imports and exports. | DEFERRED_BASEBALLHELM | Verify only after freeze lifts. |
diff --git a/.cleanup/reports/DEPENDENCY_AUDIT.md b/.cleanup/reports/DEPENDENCY_AUDIT.md
new file mode 100644
index 000000000..a7a5f80ba
--- /dev/null
+++ b/.cleanup/reports/DEPENDENCY_AUDIT.md
@@ -0,0 +1,44 @@
+# Dependency Audit
+
+Generated from first-pass audit outputs on branch cleanup/comprehensive-code-audit. First pass is audit/report only; no product-code cleanup is approved.
+
+## Likely Unused Dependencies
+
+| Package | Evidence | Risk | Proposed Action |
+|---|---|---|---|
+| `@capacitor/app` | depcheck reported unused | Manual review | Do not remove until grep/runtime verification |
+| `@capacitor/ios` | depcheck reported unused | Manual review | Do not remove until grep/runtime verification |
+| `@capacitor/local-notifications` | depcheck reported unused | Manual review | Do not remove until grep/runtime verification |
+| `@capacitor/network` | depcheck reported unused | Manual review | Do not remove until grep/runtime verification |
+| `@capacitor/share` | depcheck reported unused | Manual review | Do not remove until grep/runtime verification |
+| `@visx/visx` | depcheck reported unused | Manual review | Do not remove until grep/runtime verification |
+| `autoprefixer` | depcheck reported unused | Manual review | Do not remove until grep/runtime verification |
+| `date-fns-tz` | depcheck reported unused | Manual review | Do not remove until grep/runtime verification |
+| `postcss` | depcheck reported unused | Manual review | Do not remove until grep/runtime verification |
+
+## Manual Review Dependencies
+
+| Package | Why Manual Review |
+|---|---|
+| `@capacitor/*` | Mobile/iOS runtime risk. |
+| `@visx/visx`, `@visx/*` | depcheck shows missing granular visx packages while umbrella package appears unused; chart bundle/dependency plan needed. |
+| `autoprefixer`, `postcss` | Build tooling false-positive risk. |
+| `date-fns-tz` | Date/time logic risk. |
+| `promptfoo` | Evals tooling may be intentionally retained. |
+
+## Likely False Positives
+
+| Package | Why |
+|---|---|
+| audit dev tools | Installed during Phase 3 and used to produce reports. |
+| `playwright`, `sharp`, `glob` missing reports | Used by scripts/tests; may be transitive or intentionally omitted. |
+| `fflate` missing reports | Baseball import adapters; DEFERRED_BASEBALLHELM. |
+
+## Do Not Remove Without Explicit Approval
+
+| Package | Reason |
+|---|---|
+| Next/React/Supabase/auth/security packages | App-critical. |
+| Capacitor packages | Mobile-critical. |
+| AI/monitoring/email/chart/map packages | Feature and bundle review required first. |
+| BaseballHelm-related packages | DEFERRED_BASEBALLHELM. |
diff --git a/.cleanup/reports/DUPLICATION_REPORT.md b/.cleanup/reports/DUPLICATION_REPORT.md
new file mode 100644
index 000000000..8fe4beb38
--- /dev/null
+++ b/.cleanup/reports/DUPLICATION_REPORT.md
@@ -0,0 +1,40 @@
+# Duplication Report
+
+Generated from first-pass audit outputs on branch cleanup/comprehensive-code-audit. First pass is audit/report only; no product-code cleanup is approved.
+
+## Top Duplicate Clusters
+
+| Rank | Files | Area | Duplication Type | Estimated Impact | Risk |
+|---|---|---|---|---|---|
+| 1 | SQL migrations/archive | Supabase | Repeated policy/migration blocks | 15,328 duplicated SQL lines | DATABASE_REVIEW |
+| 2 | `__tests__/*lint-rule*.mjs` | Test tooling | Repeated filesystem/AST test harnesses | Medium | SAFE_CANDIDATE after approval |
+| 3 | `app/api/cron/v3/*/route.ts` | CoachHelm cron APIs | Repeated auth/admin boilerplate | Medium | ARCHITECTURE_REVIEW |
+| 4 | `app/api/admin/crm/send-email/route.ts`, `app/api/cron/process-sequences/route.ts` | CRM/email | Repeated helper logic | Medium | MANUAL_REVIEW |
+| 5 | Baseball auth/dashboard files | BaseballHelm | Repeated page shells | Unknown | DEFERRED_BASEBALLHELM |
+
+## Best Refactor Candidates
+
+| Area | Files | Proposed Shared Abstraction | Expected Benefit | Risk |
+|---|---|---|---|---|
+| lint-rule tests | `__tests__/*.test.mjs` | shared rule-test fixture helper | Less repeated test code | Low after approval |
+| CoachHelm cron routes | `src/app/api/cron/v3/*/route.ts` | shared cron auth/response wrapper | Reduce route boilerplate | Medium |
+| CRM/email routes | admin send/process sequence routes | shared mail validation/error helpers | Reduce duplicated error handling | Medium |
+
+## Do Not Refactor Yet
+
+| Files | Reason |
+|---|---|
+| `supabase/migrations*` | Historical migrations and RLS behavior require explicit database approval. |
+| `src/lib/coachhelm/**` | Engine correctness risk; needs tests/approval first. |
+| BaseballHelm files | DEFERRED_BASEBALLHELM. |
+
+## Deferred BaseballHelm Duplicates
+
+| Files | Finding | Reason Deferred |
+|---|---|---|
+| Baseball auth/dashboard/routes/components | jscpd found Baseball duplicate clusters | BaseballHelm frozen. |
+
+## Metrics
+
+- Standard jscpd: 625 clones, 27,211 duplicated lines, 3.03%.
+- Strict jscpd: 1471 clones, 27,383 duplicated lines, 3.61%.
diff --git a/.cleanup/reports/GENERATED_ARTIFACTS_AUDIT.md b/.cleanup/reports/GENERATED_ARTIFACTS_AUDIT.md
new file mode 100644
index 000000000..f6d2c72d2
--- /dev/null
+++ b/.cleanup/reports/GENERATED_ARTIFACTS_AUDIT.md
@@ -0,0 +1,45 @@
+# Generated Artifacts Audit
+
+Generated from first-pass audit outputs on branch cleanup/comprehensive-code-audit. First pass is audit/report only; no product-code cleanup is approved.
+
+## Likely Generated Folders
+
+| Folder | Evidence | Proposed Action |
+|---|---|---|
+| `.next` | 28G build output | GENERATED_ARTIFACT; ensure ignored and remove locally only with approval. |
+| `node_modules` | 2.8G dependency install | GENERATED_ARTIFACT; ignored/local. |
+| `ds-bundle` | Generated JS/CSS bundle dominates repo LOC | MANUAL_REVIEW then likely artifact cleanup. |
+| `.playwright-mcp` | 48M Playwright capture YAML/PNGs | GENERATED_ARTIFACT / gitignore review. |
+| `ui-intelligence`, `routes` | Generated route/UI intelligence outputs | MANUAL_REVIEW. |
+| `.cleanup` | This audit output | REPORT_ONLY; do not commit raw secret output. |
+
+## Likely Local-Only Folders
+
+| Folder | Evidence | Proposed Action |
+|---|---|---|
+| `.vercel` | Local deployment metadata | Keep ignored. |
+| `.tmp-screenshots`, `.bugtest-screens` | Screenshot/debug outputs | GENERATED_ARTIFACT. |
+| `playwright-report` | Test report output | GENERATED_ARTIFACT. |
+
+## Should Be Gitignored
+
+| Path | Reason |
+|---|---|
+| `.cleanup/reports/secret-pattern-scan.txt` | Raw secret scans must never be committed. |
+| `.cleanup/reports/*.txt` raw tool outputs | May include sensitive paths or huge data. |
+| `.playwright-mcp/**` | Generated browser captures. |
+| `ds-bundle/**` if regenerated | Generated bundle output. |
+
+## Needs Human Review
+
+| Path | Reason |
+|---|---|
+| `.helmdev`, `.agents`, `.claude`, `.skills` | Agent tooling may be intentionally retained. |
+| `helm-website-ui` | Nested project; do not remove as artifact without owner decision. |
+
+## Do Not Touch
+
+| Path | Reason |
+|---|---|
+| `.ultracode/baseballhelm/**` | DEFERRED_BASEBALLHELM. |
+| BaseballHelm docs/scripts/source | Frozen by playbook. |
diff --git a/.cleanup/reports/KNIP_CLASSIFIED_FINDINGS.md b/.cleanup/reports/KNIP_CLASSIFIED_FINDINGS.md
new file mode 100644
index 000000000..765e6f80e
--- /dev/null
+++ b/.cleanup/reports/KNIP_CLASSIFIED_FINDINGS.md
@@ -0,0 +1,34 @@
+# Knip Classified Findings
+
+Generated from first-pass audit outputs on branch cleanup/comprehensive-code-audit. First pass is audit/report only; no product-code cleanup is approved.
+
+Knip reported 634 issue entries across 49 files. Treat this as a triage input only.
+
+## Safe Delete Candidates
+
+| Type | File/Export/Dependency | Evidence | Confidence |
+|---|---|---|---|
+| None approved | None | First pass is report-only and Knip needs manual verification for dynamic Next routes/barrels. | N/A |
+
+## Manual Review Required
+
+| Type | File/Export/Dependency | Why Risky |
+|---|---|---|
+| dependency | `@capacitor/*` packages | May be required by iOS/mobile even if static import scan misses usage. |
+| dependency | `mapbox-gl`, `@types/mapbox-gl` | Bundle-risk candidate but maps may be dynamically imported. |
+| barrel exports | `src/components/fairway/index.ts` exports | Many exports are public design-system API; false-positive risk. |
+| export | `src/lib/coachhelm/v2/orchestrator.ts` alert toggles | Engine behavior risk. |
+
+## Likely False Positives
+
+| Type | File/Export/Dependency | Why Likely False Positive |
+|---|---|---|
+| generated type exports | `src/lib/types/database.ts` | Generated Supabase type file. |
+| default component exports | Fairway settings/CoachHelm page components | Next/dynamic/component-level imports can confuse static analysis. |
+| dev tool dependencies | newly installed audit tools | Installed specifically for this audit phase. |
+
+## Deferred BaseballHelm Findings
+
+| Type | File/Export/Dependency | Reason Deferred |
+|---|---|---|
+| dependencies/exports/files | Any `baseball`, `Baseball`, `BaseballHelm`, or Baseball-adjacent finding | DEFERRED_BASEBALLHELM; frozen by playbook. |
diff --git a/.cleanup/reports/LOC_AND_SIZE_SUMMARY.md b/.cleanup/reports/LOC_AND_SIZE_SUMMARY.md
new file mode 100644
index 000000000..37a151832
--- /dev/null
+++ b/.cleanup/reports/LOC_AND_SIZE_SUMMARY.md
@@ -0,0 +1,50 @@
+# LOC and Size Summary
+
+Generated from first-pass audit outputs on branch cleanup/comprehensive-code-audit. First pass is audit/report only; no product-code cleanup is approved.
+
+## Key Numbers
+
+| Metric | Value |
+|---|---|
+| App LOC | 691,135 code lines across cloc app scan |
+| Repo LOC excluding junk | 1,386,031 code/text lines across cloc repo scan |
+| Largest source file | `supabase/migrations/20260527000000_prod_public_baseline.sql` at 22,207 total lines |
+| Largest folder | `.next` at 28G |
+| Largest git object | `.ultracode/baseballhelm/events.ndjson` at ~31.4 MB; DEFERRED_BASEBALLHELM |
+
+## Top Bloat Sources
+
+| Rank | Path | Reason | Cleanup Risk |
+|---|---|---|---|
+| 1 | `.next` | 28G build output | GENERATED_ARTIFACT |
+| 2 | `node_modules` | 2.8G local install output | GENERATED_ARTIFACT |
+| 3 | `helm-website-ui` | 490M nested site/tooling area | MANUAL_REVIEW |
+| 4 | `ds-bundle` | Large bundled JS/CSS, including 83,326-code-line JS bundle | GENERATED_ARTIFACT / MANUAL_REVIEW |
+| 5 | `.playwright-mcp` | 48M screenshots/YAML captures | GENERATED_ARTIFACT |
+| 6 | `.ultracode` | Includes large BaseballHelm event log | DEFERRED_BASEBALLHELM |
+
+## Largest Source Files
+
+- 22207 supabase/migrations/20260527000000_prod_public_baseline.sql
+- 20300 src/lib/types/database.ts
+- 6613 src/app/golf/actions/golf.ts
+- 4062 src/app/golf/actions/insights.ts
+- 3792 src/app/golf/actions/admin-data.ts
+- 3135 supabase/migrations_archive/pre_20260527/20260427210000_canonical_rls_snapshot.sql
+- 3035 src/app/golf/(dashboard)/dashboard/rounds/new/new-round-client.tsx
+- 2775 src/lib/utils/golf-stats-calculator-shots.ts
+- 2741 scripts/ui-intelligence/generate-atlas.ts
+- 2610 src/components/fairway/pages/coachhelm/FairwayStatsCockpit.tsx
+- 2517 src/app/golf/actions/stats-data.ts
+
+## BaseballHelm Size Findings
+
+| Path | Finding |
+|---|---|
+| `.ultracode/baseballhelm/events.ndjson` | Largest tracked object; BaseballHelm frozen. |
+| `scripts/baseballhelm-mega-build.workflow.js` | cloc timed out; defer. |
+| `scripts/baseballhelm-verification.workflow.js` | cloc timed out; defer. |
+
+## Immediate Observations
+
+The repo size is inflated heavily by generated/local artifacts and bundled outputs, not just source code. The app code is large, but the first safe cleanup lane is artifact policy and gitignore/report hygiene, not product refactors.
diff --git a/.cleanup/reports/PRODUCT_BOUNDARY_MAP.md b/.cleanup/reports/PRODUCT_BOUNDARY_MAP.md
new file mode 100644
index 000000000..352949fda
--- /dev/null
+++ b/.cleanup/reports/PRODUCT_BOUNDARY_MAP.md
@@ -0,0 +1,51 @@
+# Product Boundary Map
+
+Generated from first-pass audit outputs on branch cleanup/comprehensive-code-audit. First pass is audit/report only; no product-code cleanup is approved.
+
+## GolfHelm Areas
+
+| Path | Purpose | Cleanup Allowed? |
+|---|---|---|
+| `src/app/golf` | Golf app routes, actions, admin, dashboard flows | Manual approval required |
+| `src/components/golf` | Golf-specific UI and CoachHelm UI | Manual approval required |
+| `src/components/fairway` | Fairway/GolfHelm shared dashboard UI | Manual approval required; high shared-surface risk |
+| `src/lib/golf` | Golf domain utilities and stats helpers | Manual approval required; stats correctness risk |
+
+## BaseballHelm Areas
+
+| Path | Purpose | Cleanup Allowed? |
+|---|---|---|
+| `src/app/baseball` | BaseballHelm routes/actions | No; DEFERRED_BASEBALLHELM |
+| `src/components/baseball` | BaseballHelm UI | No; DEFERRED_BASEBALLHELM |
+| `src/lib/baseball` | BaseballHelm domain/read models | No; DEFERRED_BASEBALLHELM |
+| `docs/baseballhelm_revolution_plan_v2` | BaseballHelm docs/plans | No; DEFERRED_BASEBALLHELM |
+| `scripts/baseballhelm-*` | BaseballHelm workflows | No; DEFERRED_BASEBALLHELM |
+
+All BaseballHelm areas are read-only. 1348 files matched BaseballHelm terms and are quarantined.
+
+## CoachHelm Areas
+
+| Path | Purpose | Cleanup Allowed? |
+|---|---|---|
+| `src/lib/coachhelm` | CoachHelm engine and scoring | Manual approval; high correctness risk |
+| `src/components/golf/coachhelm` | CoachHelm UI under GolfHelm | Manual approval |
+| `src/components/fairway/pages/coachhelm` | Fairway CoachHelm surfaces | Manual approval |
+| `src/app/api/coachhelm` | CoachHelm API routes | Manual approval; API behavior risk |
+
+## Shared Areas
+
+| Path | Consumers | Risk |
+|---|---|---|
+| `src/components/ui` | Golf, CoachHelm, Baseball, lifting | HIGH_RISK_DO_NOT_TOUCH without impact proof |
+| `src/hooks` | Multi-product hooks | HIGH_RISK_DO_NOT_TOUCH when BaseballHelm usage is possible |
+| `src/lib/supabase` | All database-backed products | DATABASE_REVIEW |
+| `src/lib/auth` | Auth/security flows | HIGH_RISK_DO_NOT_TOUCH |
+| `supabase` | Migrations/RLS/functions | DATABASE_REVIEW; no behavior changes |
+
+## Ambiguous Areas
+
+| Path | Why Ambiguous | Required Human Decision |
+|---|---|---|
+| `src/components/fairway` | Fairway is Golf/Coach-facing but shared exports may leak across shells | Decide ownership before refactors |
+| `src/app/lifting`, `src/components/lifting` | Separate product, but auth/shared UI overlap | Confirm cleanup priority |
+| `tools`, `.helmdev`, `.agents`, `.claude` | Agent/tooling artifacts may be intentionally retained | Decide archive/gitignore policy |
diff --git a/.cleanup/reports/SCRIPT_HYGIENE_REPORT.md b/.cleanup/reports/SCRIPT_HYGIENE_REPORT.md
new file mode 100644
index 000000000..abdbeb205
--- /dev/null
+++ b/.cleanup/reports/SCRIPT_HYGIENE_REPORT.md
@@ -0,0 +1,44 @@
+# Script Hygiene Report
+
+Generated from first-pass audit outputs on branch cleanup/comprehensive-code-audit. First pass is audit/report only; no product-code cleanup is approved.
+
+## Existing Scripts
+
+| Script | Purpose | Keep/Review/Remove Candidate |
+|---|---|---|
+| `dev` | Next dev server | Keep |
+| `build` | Production build | Keep |
+| `typecheck` | TypeScript validation | Keep |
+| `lint` / `lint:ratchet` | ESLint and warning ratchet | Keep |
+| `test*` | Unit/integration/e2e/coverage | Keep |
+| `db:types*` | Supabase type generation/check | Keep |
+| `docs:*`, `knowledge:*` | Docs/knowledge generation | Review |
+| `coachhelm:*`, `check:stats` | CoachHelm/stats operations | Safety-critical; keep |
+| `analyze` | Analyzed build | Review because current run OOMs |
+| `ui:*` | UI route/auth tooling | Review |
+
+## Potentially Obsolete Scripts
+
+| Script | Why Suspicious |
+|---|---|
+| `evals`, `evals:view` | promptfoo is flagged by depcheck but may be intentional. |
+| `lighthouse` | Requires LHCI setup; verify current usage. |
+| `ui:*` | Generated artifact workflow; verify owner. |
+
+## Safety-Critical Scripts
+
+| Script | Why Important |
+|---|---|
+| `check:env` | Required env gate before build. |
+| `check:ledger` | Migration ledger safety. |
+| `check:stats` | Stats correctness. |
+| `db:types:check` | Prevents DB type drift. |
+| `test:rls` | Database access safety. |
+
+## Suggested Future Scripts
+
+| Script | Purpose |
+|---|---|
+| `cleanup:audit` | Runs the safe non-secret subset of this playbook. |
+| `cleanup:secret-scan` | Runs redacted/exclusion-safe secret scan. |
+| `analyze:heap` | Runs bundle analyze with explicit Node heap size. |
diff --git a/.cleanup/reports/SECURITY_HYGIENE_REPORT.md b/.cleanup/reports/SECURITY_HYGIENE_REPORT.md
new file mode 100644
index 000000000..56901f27a
--- /dev/null
+++ b/.cleanup/reports/SECURITY_HYGIENE_REPORT.md
@@ -0,0 +1,32 @@
+# Security Hygiene Report
+
+Generated from first-pass audit outputs on branch cleanup/comprehensive-code-audit. First pass is audit/report only; no product-code cleanup is approved.
+
+## Potential Secret-Like Findings
+
+Do not include raw secrets. Redact values.
+
+| File | Pattern | Risk | Recommendation |
+|---|---|---|---|
+| `.cleanup/reports/secret-pattern-scan.txt` | Raw grep output risk | SECURITY_REVIEW | The playbook command is unsafe as written because it does not exclude env/key files or `.cleanup`; raw output was truncated after self-recursive expansion. Do not commit raw scan output. |
+| `src/lib/supabase/admin.ts` and service-role callers | `SUPABASE_SERVICE_ROLE_KEY` | SECURITY_REVIEW | Keep admin-client use scoped and server-only. |
+| docs/scripts/comments | token/secret/password strings | MANUAL_REVIEW | Re-run with a dedicated secret scanner and redacted output. |
+
+## Service Role / Admin Client Risk
+
+| File | Concern | Recommendation |
+|---|---|---|
+| `src/lib/supabase/admin.ts` | Central service-role creation path | No cleanup without security review. |
+| `src/app/golf/actions/stats-data.ts` | Service-role fallback around detailed stats reads | Preserve explicit authorization gates. |
+| Baseball admin/service paths | Frozen | DEFERRED_BASEBALLHELM. |
+
+## Environment Variable Hygiene
+
+| File | Issue | Recommendation |
+|---|---|---|
+| `.env*` local files | Must not be scanned into tracked reports | Exclude with `--exclude='.env*'`. |
+| raw report files | May contain sensitive values | Add gitignore policy for raw secret scans. |
+
+## Playbook Safety Finding
+
+The Phase 14 command should be amended before merge to exclude `.env*`, key material, and `.cleanup`, and to keep raw reports untracked.
diff --git a/.cleanup/reports/TEST_COVERAGE_RISK_REPORT.md b/.cleanup/reports/TEST_COVERAGE_RISK_REPORT.md
new file mode 100644
index 000000000..269e093b9
--- /dev/null
+++ b/.cleanup/reports/TEST_COVERAGE_RISK_REPORT.md
@@ -0,0 +1,37 @@
+# Test Coverage Risk Report
+
+Generated from first-pass audit outputs on branch cleanup/comprehensive-code-audit. First pass is audit/report only; no product-code cleanup is approved.
+
+## Areas With Cleanup Risk and Weak Tests
+
+| Area | Cleanup Risk | Test Coverage Concern |
+|---|---|---|
+| Overall repo | Refactors can regress behavior | Coverage summary: 38.25% ( 18250/47701 ). |
+| `lib/notifications` | Email/push behavior risk | Low coverage shown in report. |
+| `lib/supabase` | Auth/session/database boundary risk | Low coverage shown in report. |
+| `lib/offline` | Offline sync/shot storage risk | Moderate-low coverage. |
+| `lib/utils/schedule-parser.ts` | Parser behavior risk | Very low coverage. |
+| CoachHelm engine/routes | Product correctness risk | Some v3 areas strong, but loaders/standing/practice areas are weaker. |
+
+## Areas That Need Tests Before Cleanup
+
+| Area | Why |
+|---|---|
+| auth/session/account deletion | Security and account integrity. |
+| team membership/invites | Cross-team access risk. |
+| stats calculations and dashboard aggregations | User-facing numerical correctness. |
+| Supabase RLS/admin-client paths | Data isolation risk. |
+| export/PDF/report code | User deliverable correctness. |
+| mobile/offline flows | State sync risk. |
+
+## Do Not Refactor Without Tests
+
+| Area | Reason |
+|---|---|
+| BaseballHelm | DEFERRED_BASEBALLHELM. |
+| database/RLS behavior | Requires database-specific validation. |
+| CoachHelm scoring/generation | Correctness-sensitive. |
+
+## BaseballHelm
+
+BaseballHelm tests/findings are deferred.
diff --git a/.cleanup/reports/UNUSED_EXPORTS_REPORT.md b/.cleanup/reports/UNUSED_EXPORTS_REPORT.md
new file mode 100644
index 000000000..ef673f780
--- /dev/null
+++ b/.cleanup/reports/UNUSED_EXPORTS_REPORT.md
@@ -0,0 +1,32 @@
+# Unused Exports Report
+
+Generated from first-pass audit outputs on branch cleanup/comprehensive-code-audit. First pass is audit/report only; no product-code cleanup is approved.
+
+## Safe Candidates
+
+| Export | File | Evidence | Confidence |
+|---|---|---|---|
+| None approved | N/A | ts-prune output needs route/dynamic-import verification. | N/A |
+
+## Manual Review
+
+| Export | File | Risk |
+|---|---|---|
+| `pluralize` | `src/lib/utils.ts` | Low utility risk, but verify global references first. |
+| `useCalendarEvents` | `src/hooks/useCalendarEvents.ts` | Hook may be used dynamically or intended API. |
+| Fairway barrel exports | `src/components/fairway/index.ts` | Public UI API; high false-positive risk. |
+| CoachHelm alert toggles | `src/lib/coachhelm/v2/orchestrator.ts` | Engine behavior risk. |
+
+## Likely False Positives
+
+| Export | File | Why |
+|---|---|---|
+| generated DB exports | `src/lib/types/database.ts` | Generated types are consumed by type-only imports. |
+| Next route/page defaults | `src/app/**` | Framework entrypoints are not normal imports. |
+| test helpers | `src/test/**` | Test-only or dynamic usage. |
+
+## Deferred BaseballHelm
+
+| Export | File | Reason Deferred |
+|---|---|---|
+| Any BaseballHelm export | `src/app/baseball`, `src/components/baseball`, `src/lib/baseball` | DEFERRED_BASEBALLHELM. |
diff --git a/.cleanup/reports/baseball-related-files.txt b/.cleanup/reports/baseball-related-files.txt
new file mode 100644
index 000000000..abb22c588
--- /dev/null
+++ b/.cleanup/reports/baseball-related-files.txt
@@ -0,0 +1,1348 @@
+src/.helmdev/tasks/current-task.md
+src/.helmdev/memory/fixes.json
+src/.helmdev/results/src/app/golf/(dashboard)/dashboard/page.tsx-868.json
+src/.helmdev/results/src/app/baseball/page.tsx-0.json
+src/.helmdev/results/src/app/baseball/(onboarding)/coach-onboarding/page.tsx-0.json
+src/.helmdev/results/src/app/baseball/(onboarding)/coach/page.tsx-0.json
+src/.helmdev/results/src/app/baseball/(onboarding)/player/page.tsx-0.json
+src/.helmdev/results/src/app/baseball/(onboarding)/player/page.tsx-433.json
+src/.helmdev/results/src/app/baseball/(onboarding)/player/page.tsx-382.json
+src/.helmdev/results/src/app/baseball/(onboarding)/player/page.tsx-291.json
+src/.helmdev/results/src/app/baseball/(onboarding)/player/page.tsx-421.json
+src/.helmdev/results/src/app/baseball/(onboarding)/player/page.tsx-401.json
+src/.helmdev/results/src/app/baseball/(onboarding)/player/page.tsx-502.json
+src/.helmdev/results/src/app/baseball/(public)/program/[id]/page.tsx-98.json
+src/.helmdev/results/src/app/baseball/(public)/program/[id]/page.tsx-0.json
+src/.helmdev/results/src/app/baseball/(public)/program/[id]/page.tsx-99.json
+src/.helmdev/results/src/app/baseball/page.tsx-78.json
+src/.helmdev/queue.json
+src/app/golf/admin/crm/components/pipeline/PipelineCard.tsx
+src/app/golf/admin/components/HealthCheckGrid.tsx
+src/app/golf/admin/components/BaseballOps.tsx
+src/app/golf/admin/components/SystemTab.tsx
+src/app/golf/README.md
+src/app/golf/actions/admin-data.ts
+src/app/golf/actions/admin/rollup-b.ts
+src/app/golf/(dashboard)/dashboard/not-found.tsx
+src/app/products/page.tsx
+src/app/auth/callback/route.ts
+src/app/baseball/(player-dashboard)/error.tsx
+src/app/baseball/(player-dashboard)/player/today/error.tsx
+src/app/baseball/(player-dashboard)/player/today/page.tsx
+src/app/baseball/(player-dashboard)/player/passport/error.tsx
+src/app/baseball/(player-dashboard)/player/passport/page.tsx
+src/app/baseball/(player-dashboard)/player/juco/page.tsx
+src/app/baseball/(player-dashboard)/player/high-school/page.tsx
+src/app/baseball/(player-dashboard)/player/layout.tsx
+src/app/baseball/(player-dashboard)/player/showcase/page.tsx
+src/app/baseball/(player-dashboard)/player/practice/page.tsx
+src/app/baseball/(player-dashboard)/player/timeline/error.tsx
+src/app/baseball/(player-dashboard)/player/timeline/loading.tsx
+src/app/baseball/(player-dashboard)/player/timeline/page.tsx
+src/app/baseball/(player-dashboard)/player/college/page.tsx
+src/app/baseball/(player-dashboard)/player/template.tsx
+src/app/baseball/join/[code]/join-team-client.tsx
+src/app/baseball/join/[code]/error.tsx
+src/app/baseball/join/[code]/page.tsx
+src/app/baseball/(onboarding)/coach-onboarding/hooks/useOnboardingFlow.ts
+src/app/baseball/(onboarding)/coach-onboarding/error.tsx
+src/app/baseball/(onboarding)/coach-onboarding/page.tsx
+src/app/baseball/(onboarding)/coach/error.tsx
+src/app/baseball/(onboarding)/coach/page.tsx
+src/app/baseball/(onboarding)/player/layout.tsx
+src/app/baseball/(onboarding)/player/error.tsx
+src/app/baseball/(onboarding)/player/page.tsx
+src/app/baseball/actions/lifting.ts
+src/app/baseball/actions/stat-visual-views.ts
+src/app/baseball/actions/videos.ts
+src/app/baseball/actions/roster.ts
+src/app/baseball/actions/operational-signals.ts
+src/app/baseball/actions/recruiting-philosophy.ts
+src/app/baseball/actions/announcements.ts
+src/app/baseball/actions/insights.ts
+src/app/baseball/actions/player-actions.ts
+src/app/baseball/actions/passport-settings.ts
+src/app/baseball/actions/lift-builder.ts
+src/app/baseball/actions/coachhelm.ts
+src/app/baseball/actions/lineups.ts
+src/app/baseball/actions/practice-scrimmage.ts
+src/app/baseball/actions/notifications.ts
+src/app/baseball/actions/messages.ts
+src/app/baseball/actions/coachhelm-actions.ts
+src/app/baseball/actions/stats.ts
+src/app/baseball/actions/stat-event-imports.ts
+src/app/baseball/actions/demo-access.ts
+src/app/baseball/actions/development-metrics.ts
+src/app/baseball/actions/watchlist.ts
+src/app/baseball/actions/video-classes.ts
+src/app/baseball/actions/calendar.ts
+src/app/baseball/actions/academics.ts
+src/app/baseball/actions/roles-permissions.ts
+src/app/baseball/actions/practice-effectiveness.ts
+src/app/baseball/actions/team-season-settings.ts
+src/app/baseball/actions/postgame.ts
+src/app/baseball/actions/imports.ts
+src/app/baseball/actions/philosophy.ts
+src/app/baseball/actions/games.ts
+src/app/baseball/actions/practice.ts
+src/app/baseball/actions/__tests__/imports-registry.test.ts
+src/app/baseball/actions/__tests__/auth-redirects-resolve.test.ts
+src/app/baseball/actions/__tests__/complete-player-onboarding.test.ts
+src/app/baseball/actions/scout-packet.ts
+src/app/baseball/actions/daily-contract.ts
+src/app/baseball/actions/teams.ts
+src/app/baseball/actions/dev-plans.ts
+src/app/baseball/actions/discover.ts
+src/app/baseball/actions/documents.ts
+src/app/baseball/actions/onboarding.ts
+src/app/baseball/actions/timeline-acks.ts
+src/app/baseball/actions/program-settings.ts
+src/app/baseball/actions/practice-intelligence.ts
+src/app/baseball/actions/lifting-v11.ts
+src/app/baseball/actions/acknowledgements.ts
+src/app/baseball/actions/player-today-lift.ts
+src/app/baseball/actions/interests.ts
+src/app/baseball/actions/travel.ts
+src/app/baseball/actions/staff.ts
+src/app/baseball/actions/player-peek.ts
+src/app/baseball/actions/tasks.ts
+src/app/baseball/actions/decision-room.ts
+src/app/baseball/actions/signals.ts
+src/app/baseball/actions/auth.ts
+src/app/baseball/actions/player-access.ts
+src/app/baseball/actions/coach-notes.ts
+src/app/baseball/actions/camps.ts
+src/app/baseball/actions/ai-governance.ts
+src/app/baseball/(public)/team/[id]/page.tsx
+src/app/baseball/(public)/program/[id]/error.tsx
+src/app/baseball/(public)/program/[id]/page.tsx
+src/app/baseball/(public)/packet/[token]/csv/route.ts
+src/app/baseball/(public)/packet/[token]/page.tsx
+src/app/baseball/(public)/player/[id]/PlayerProfileClient.tsx
+src/app/baseball/(public)/player/[id]/error.tsx
+src/app/baseball/(public)/player/[id]/page.tsx
+src/app/baseball/staff/join/[code]/staff-join-client.tsx
+src/app/baseball/staff/join/[code]/page.tsx
+src/app/baseball/(auth)/demo/layout.tsx
+src/app/baseball/(auth)/demo/page.tsx
+src/app/baseball/(auth)/signup/layout.tsx
+src/app/baseball/(auth)/signup/error.tsx
+src/app/baseball/(auth)/signup/page.tsx
+src/app/baseball/(auth)/complete-signup/layout.tsx
+src/app/baseball/(auth)/complete-signup/error.tsx
+src/app/baseball/(auth)/complete-signup/CompleteSignupClient.tsx
+src/app/baseball/(auth)/forgot-password/layout.tsx
+src/app/baseball/(auth)/forgot-password/error.tsx
+src/app/baseball/(auth)/forgot-password/page.tsx
+src/app/baseball/(auth)/reset-password/layout.tsx
+src/app/baseball/(auth)/reset-password/error.tsx
+src/app/baseball/(auth)/reset-password/page.tsx
+src/app/baseball/(auth)/login/layout.tsx
+src/app/baseball/(auth)/login/error.tsx
+src/app/baseball/(auth)/login/page.tsx
+src/app/baseball/(dashboard)/dashboard/practice-effectiveness/error.tsx
+src/app/baseball/(dashboard)/dashboard/practice-effectiveness/page.tsx
+src/app/baseball/(dashboard)/dashboard/organization/OrganizationDashboardClient.tsx
+src/app/baseball/(dashboard)/dashboard/organization/error.tsx
+src/app/baseball/(dashboard)/dashboard/organization/page.tsx
+src/app/baseball/(dashboard)/dashboard/academics/error.tsx
+src/app/baseball/(dashboard)/dashboard/academics/page.tsx
+src/app/baseball/(dashboard)/dashboard/command-center/error.tsx
+src/app/baseball/(dashboard)/dashboard/command-center/loading.tsx
+src/app/baseball/(dashboard)/dashboard/command-center/page.tsx
+src/app/baseball/(dashboard)/dashboard/settings/privacy/error.tsx
+src/app/baseball/(dashboard)/dashboard/settings/privacy/page.tsx
+src/app/baseball/(dashboard)/dashboard/settings/appearance/error.tsx
+src/app/baseball/(dashboard)/dashboard/settings/appearance/page.tsx
+src/app/baseball/(dashboard)/dashboard/settings/roles/error.tsx
+src/app/baseball/(dashboard)/dashboard/settings/roles/page.tsx
+src/app/baseball/(dashboard)/dashboard/settings/imports/error.tsx
+src/app/baseball/(dashboard)/dashboard/settings/imports/page.tsx
+src/app/baseball/(dashboard)/dashboard/settings/permissions/error.tsx
+src/app/baseball/(dashboard)/dashboard/settings/permissions/page.tsx
+src/app/baseball/(dashboard)/dashboard/settings/integrations/error.tsx
+src/app/baseball/(dashboard)/dashboard/settings/integrations/page.tsx
+src/app/baseball/(dashboard)/dashboard/settings/data-retention/error.tsx
+src/app/baseball/(dashboard)/dashboard/settings/data-retention/page.tsx
+src/app/baseball/(dashboard)/dashboard/settings/demo-mode/error.tsx
+src/app/baseball/(dashboard)/dashboard/settings/demo-mode/page.tsx
+src/app/baseball/(dashboard)/dashboard/settings/audit/error.tsx
+src/app/baseball/(dashboard)/dashboard/settings/audit/page.tsx
+src/app/baseball/(dashboard)/dashboard/settings/player-access/error.tsx
+src/app/baseball/(dashboard)/dashboard/settings/player-access/page.tsx
+src/app/baseball/(dashboard)/dashboard/settings/ai/error.tsx
+src/app/baseball/(dashboard)/dashboard/settings/ai/page.tsx
+src/app/baseball/(dashboard)/dashboard/settings/philosophy/error.tsx
+src/app/baseball/(dashboard)/dashboard/settings/philosophy/page.tsx
+src/app/baseball/(dashboard)/dashboard/settings/showcase-profile/error.tsx
+src/app/baseball/(dashboard)/dashboard/settings/showcase-profile/page.tsx
+src/app/baseball/(dashboard)/dashboard/settings/error.tsx
+src/app/baseball/(dashboard)/dashboard/settings/teams/error.tsx
+src/app/baseball/(dashboard)/dashboard/settings/teams/page.tsx
+src/app/baseball/(dashboard)/dashboard/settings/program/error.tsx
+src/app/baseball/(dashboard)/dashboard/settings/program/page.tsx
+src/app/baseball/(dashboard)/dashboard/settings/recruiting-preferences/recruiting-preferences-client.tsx
+src/app/baseball/(dashboard)/dashboard/settings/recruiting-preferences/error.tsx
+src/app/baseball/(dashboard)/dashboard/settings/recruiting-preferences/page.tsx
+src/app/baseball/(dashboard)/dashboard/settings/guardian-access/error.tsx
+src/app/baseball/(dashboard)/dashboard/settings/guardian-access/page.tsx
+src/app/baseball/(dashboard)/dashboard/settings/staff/error.tsx
+src/app/baseball/(dashboard)/dashboard/settings/staff/page.tsx
+src/app/baseball/(dashboard)/dashboard/settings/season/error.tsx
+src/app/baseball/(dashboard)/dashboard/settings/season/page.tsx
+src/app/baseball/(dashboard)/dashboard/settings/page.tsx
+src/app/baseball/(dashboard)/dashboard/settings/notifications/error.tsx
+src/app/baseball/(dashboard)/dashboard/settings/notifications/page.tsx
+src/app/baseball/(dashboard)/dashboard/pipeline/error.tsx
+src/app/baseball/(dashboard)/dashboard/pipeline/page.tsx
+src/app/baseball/(dashboard)/dashboard/postgame/error.tsx
+src/app/baseball/(dashboard)/dashboard/postgame/page.tsx
+src/app/baseball/(dashboard)/dashboard/decision-room/error.tsx
+src/app/baseball/(dashboard)/dashboard/decision-room/page.tsx
+src/app/baseball/(dashboard)/dashboard/tasks/error.tsx
+src/app/baseball/(dashboard)/dashboard/tasks/page.tsx
+src/app/baseball/(dashboard)/dashboard/messages/error.tsx
+src/app/baseball/(dashboard)/dashboard/messages/[id]/error.tsx
+src/app/baseball/(dashboard)/dashboard/messages/[id]/page.tsx
+src/app/baseball/(dashboard)/dashboard/messages/page.tsx
+src/app/baseball/(dashboard)/dashboard/discover/error.tsx
+src/app/baseball/(dashboard)/dashboard/discover/page.tsx
+src/app/baseball/(dashboard)/dashboard/calendar/error.tsx
+src/app/baseball/(dashboard)/dashboard/calendar/page.tsx
+src/app/baseball/(dashboard)/dashboard/comparisons/error.tsx
+src/app/baseball/(dashboard)/dashboard/roster/error.tsx
+src/app/baseball/(dashboard)/dashboard/roster/page.tsx
+src/app/baseball/(dashboard)/dashboard/players/[id]/passport/loading.tsx
+src/app/baseball/(dashboard)/dashboard/players/[id]/passport/page.tsx
+src/app/baseball/(dashboard)/dashboard/players/[id]/profile/error.tsx
+src/app/baseball/(dashboard)/dashboard/players/[id]/profile/page.tsx
+src/app/baseball/(dashboard)/dashboard/players/[id]/error.tsx
+src/app/baseball/(dashboard)/dashboard/players/[id]/page.tsx
+src/app/baseball/(dashboard)/dashboard/players/[id]/stats/error.tsx
+src/app/baseball/(dashboard)/dashboard/players/[id]/stats/page.tsx
+src/app/baseball/(dashboard)/dashboard/players/[id]/scout-packet/preview/error.tsx
+src/app/baseball/(dashboard)/dashboard/players/[id]/scout-packet/preview/page.tsx
+src/app/baseball/(dashboard)/dashboard/players/[id]/scout-packet/page.tsx
+src/app/baseball/(dashboard)/dashboard/signals/error.tsx
+src/app/baseball/(dashboard)/dashboard/signals/page.tsx
+src/app/baseball/(dashboard)/dashboard/colleges/error.tsx
+src/app/baseball/(dashboard)/dashboard/announcements/error.tsx
+src/app/baseball/(dashboard)/dashboard/announcements/page.tsx
+src/app/baseball/(dashboard)/dashboard/journey/error.tsx
+src/app/baseball/(dashboard)/dashboard/journey/page.tsx
+src/app/baseball/(dashboard)/dashboard/camps/error.tsx
+src/app/baseball/(dashboard)/dashboard/camps/[id]/error.tsx
+src/app/baseball/(dashboard)/dashboard/camps/[id]/page.tsx
+src/app/baseball/(dashboard)/dashboard/camps/page.tsx
+src/app/baseball/(dashboard)/dashboard/videos/error.tsx
+src/app/baseball/(dashboard)/dashboard/videos/_VideosClient.tsx
+src/app/baseball/(dashboard)/dashboard/videos/[id]/edit/video-clipper-client.tsx
+src/app/baseball/(dashboard)/dashboard/videos/[id]/edit/error.tsx
+src/app/baseball/(dashboard)/dashboard/videos/[id]/edit/page.tsx
+src/app/baseball/(dashboard)/dashboard/videos/[id]/error.tsx
+src/app/baseball/(dashboard)/dashboard/videos/[id]/video-detail-client.tsx
+src/app/baseball/(dashboard)/dashboard/videos/[id]/page.tsx
+src/app/baseball/(dashboard)/dashboard/videos/page.tsx
+src/app/baseball/(dashboard)/dashboard/profile/ProfilePageClient.tsx
+src/app/baseball/(dashboard)/dashboard/profile/error.tsx
+src/app/baseball/(dashboard)/dashboard/profile/page.tsx
+src/app/baseball/(dashboard)/dashboard/team/high-school/error.tsx
+src/app/baseball/(dashboard)/dashboard/team/high-school/page.tsx
+src/app/baseball/(dashboard)/dashboard/team/error.tsx
+src/app/baseball/(dashboard)/dashboard/team/page.tsx
+src/app/baseball/(dashboard)/dashboard/readiness/error.tsx
+src/app/baseball/(dashboard)/dashboard/readiness/page.tsx
+src/app/baseball/(dashboard)/dashboard/error.tsx
+src/app/baseball/(dashboard)/dashboard/compare/actions.ts
+src/app/baseball/(dashboard)/dashboard/compare/error.tsx
+src/app/baseball/(dashboard)/dashboard/compare/page.tsx
+src/app/baseball/(dashboard)/dashboard/teams/error.tsx
+src/app/baseball/(dashboard)/dashboard/teams/page.tsx
+src/app/baseball/(dashboard)/dashboard/program/error.tsx
+src/app/baseball/(dashboard)/dashboard/program/page.tsx
+src/app/baseball/(dashboard)/dashboard/scout-packets/error.tsx
+src/app/baseball/(dashboard)/dashboard/scout-packets/loading.tsx
+src/app/baseball/(dashboard)/dashboard/scout-packets/page.tsx
+src/app/baseball/(dashboard)/dashboard/dev-plan/error.tsx
+src/app/baseball/(dashboard)/dashboard/dev-plan/page.tsx
+src/app/baseball/(dashboard)/dashboard/activate/error.tsx
+src/app/baseball/(dashboard)/dashboard/activate/page.tsx
+src/app/baseball/(dashboard)/dashboard/documents/documents-client.tsx
+src/app/baseball/(dashboard)/dashboard/documents/error.tsx
+src/app/baseball/(dashboard)/dashboard/documents/page.tsx
+src/app/baseball/(dashboard)/dashboard/college-interest/error.tsx
+src/app/baseball/(dashboard)/dashboard/college-interest/CollegeInterestClient.tsx
+src/app/baseball/(dashboard)/dashboard/events/error.tsx
+src/app/baseball/(dashboard)/dashboard/events/page.tsx
+src/app/baseball/(dashboard)/dashboard/practice/error.tsx
+src/app/baseball/(dashboard)/dashboard/practice/page.tsx
+src/app/baseball/(dashboard)/dashboard/performance/players/[id]/page.tsx
+src/app/baseball/(dashboard)/dashboard/performance/groups/error.tsx
+src/app/baseball/(dashboard)/dashboard/performance/groups/page.tsx
+src/app/baseball/(dashboard)/dashboard/performance/programs/[programId]/error.tsx
+src/app/baseball/(dashboard)/dashboard/performance/programs/[programId]/page.tsx
+src/app/baseball/(dashboard)/dashboard/performance/programs/error.tsx
+src/app/baseball/(dashboard)/dashboard/performance/programs/page.tsx
+src/app/baseball/(dashboard)/dashboard/performance/live/error.tsx
+src/app/baseball/(dashboard)/dashboard/performance/live/page.tsx
+src/app/baseball/(dashboard)/dashboard/performance/error.tsx
+src/app/baseball/(dashboard)/dashboard/performance/builder/page.tsx
+src/app/baseball/(dashboard)/dashboard/performance/page.tsx
+src/app/baseball/(dashboard)/dashboard/import/error.tsx
+src/app/baseball/(dashboard)/dashboard/import/page.tsx
+src/app/baseball/(dashboard)/dashboard/page.tsx
+src/app/baseball/(dashboard)/dashboard/travel/error.tsx
+src/app/baseball/(dashboard)/dashboard/travel/page.tsx
+src/app/baseball/(dashboard)/dashboard/stats/season/error.tsx
+src/app/baseball/(dashboard)/dashboard/stats/season/page.tsx
+src/app/baseball/(dashboard)/dashboard/stats/page.tsx
+src/app/baseball/(dashboard)/dashboard/stats/games/new/NewGameClient.tsx
+src/app/baseball/(dashboard)/dashboard/stats/games/new/error.tsx
+src/app/baseball/(dashboard)/dashboard/stats/games/new/page.tsx
+src/app/baseball/(dashboard)/dashboard/stats/games/error.tsx
+src/app/baseball/(dashboard)/dashboard/stats/games/[gameId]/error.tsx
+src/app/baseball/(dashboard)/dashboard/stats/games/[gameId]/page.tsx
+src/app/baseball/(dashboard)/dashboard/stats/games/page.tsx
+src/app/baseball/(dashboard)/dashboard/stats/upload/error.tsx
+src/app/baseball/(dashboard)/dashboard/stats/upload/page.tsx
+src/app/baseball/(dashboard)/dashboard/my-stats/MyStatsClient.tsx
+src/app/baseball/(dashboard)/dashboard/my-stats/error.tsx
+src/app/baseball/(dashboard)/dashboard/watchlist/WatchlistClient.tsx
+src/app/baseball/(dashboard)/dashboard/watchlist/error.tsx
+src/app/baseball/(dashboard)/dashboard/lift/[sessionId]/error.tsx
+src/app/baseball/(dashboard)/dashboard/lift/[sessionId]/page.tsx
+src/app/baseball/(dashboard)/dashboard/lift/error.tsx
+src/app/baseball/(dashboard)/dashboard/lift/page.tsx
+src/app/baseball/(dashboard)/dashboard/analytics/error.tsx
+src/app/baseball/(dashboard)/dashboard/analytics/page.tsx
+src/app/baseball/(dashboard)/dashboard/dev-plans/error.tsx
+src/app/baseball/(dashboard)/dashboard/dev-plans/[id]/error.tsx
+src/app/baseball/(dashboard)/dashboard/dev-plans/[id]/loading.tsx
+src/app/baseball/(dashboard)/dashboard/dev-plans/[id]/page.tsx
+src/app/baseball/(dashboard)/dashboard/dev-plans/page.tsx
+src/app/baseball/(dashboard)/dashboard/stats-center/error.tsx
+src/app/baseball/(dashboard)/dashboard/stats-center/page.tsx
+src/app/baseball/(dashboard)/dashboard/template.tsx
+src/app/baseball/(dashboard)/_components/hub-definitions.ts
+src/app/baseball/(dashboard)/_components/hub-sub-nav.tsx
+src/app/baseball/(dashboard)/_components/resolve-active-hub.ts
+src/app/baseball/(dashboard)/layout.tsx
+src/app/baseball/(coach-dashboard)/coach/juco/page.tsx
+src/app/baseball/(coach-dashboard)/coach/high-school/page.tsx
+src/app/baseball/(coach-dashboard)/coach/layout.tsx
+src/app/baseball/(coach-dashboard)/coach/showcase/page.tsx
+src/app/baseball/(coach-dashboard)/coach/college/page.tsx
+src/app/baseball/(coach-dashboard)/coach/template.tsx
+src/app/baseball/(coach-dashboard)/error.tsx
+src/app/baseball/page.tsx
+src/app/support/page.tsx
+src/app/sitemap.ts
+src/app/layout.tsx
+src/app/actions/messages.ts
+src/app/actions/notification-preferences.ts
+src/app/actions/demo-request.ts
+src/app/api/baseball/staff/context/route.ts
+src/app/api/account/delete/route.ts
+src/app/lifting/join/[token]/page.tsx
+src/app/lifting/actions/soreness.ts
+src/app/lifting/actions/readiness.ts
+src/app/lifting/actions/player-sessions.ts
+src/app/lifting/actions/nutrition.ts
+src/app/lifting/actions/programs.ts
+src/app/lifting/actions/assignments.ts
+src/app/lifting/actions/imports.ts
+src/app/lifting/actions/groups.ts
+src/app/lifting/actions/onboarding.ts
+src/app/lifting/actions/weight-checkins.ts
+src/app/lifting/actions/performance-profile.ts
+src/app/lifting/actions/invites.ts
+src/app/lifting/actions/sessions.ts
+src/app/lifting/(dashboard)/dashboard/settings/settings-client.tsx
+src/app/lifting/(dashboard)/dashboard/settings/actions.ts
+src/app/lifting/(dashboard)/dashboard/check-ins/check-ins-client.tsx
+src/app/lifting/(dashboard)/dashboard/check-ins/page.tsx
+src/app/lifting/(dashboard)/dashboard/today/page.tsx
+src/app/lifting/(dashboard)/dashboard/sessions/live/page.tsx
+src/app/lifting/(dashboard)/dashboard/import/import-client.tsx
+src/app/lifting/(dashboard)/dashboard/import/page.tsx
+src/app/lifting/(dashboard)/dashboard/page.tsx
+src/app/lifting/(dashboard)/dashboard/lift/[sessionId]/page.tsx
+src/app/lifting/(dashboard)/dashboard/lift/page.tsx
+src/app/products-redesign/IMPLEMENTATION.md
+src/app/products-redesign/REDESIGN_GUIDE.md
+src/app/products-redesign/VISUAL_COMPARISON.md
+src/app/products-redesign/COLOR_REFERENCE.md
+src/app/globals.css
+src/app/help/page.tsx
+src/app/not-found.tsx
+src/test/stubs/server-only.ts
+src/TODO.md
+src/components/ui/empty-state.tsx
+src/components/ui/segmented-control.tsx
+src/components/ui/containers.tsx
+src/components/ui/search-autocomplete.tsx
+src/components/ui/textarea.tsx
+src/components/ui/skeleton.tsx
+src/components/golf/documents/DocumentPreview.tsx
+src/components/landing/MobileNav.tsx
+src/components/landing/Footer.tsx
+src/components/video/VideoClipper.tsx
+src/components/messages/NewMessageModal.tsx
+src/components/products/baseball-mockups/VideoMockup.tsx
+src/components/products/HelmFlipAnimation.tsx
+src/components/products/BaseballHelmSection.tsx
+src/components/products/SPLIT_FLAP_GUIDE.md
+src/components/CommandPalette.tsx
+src/components/HelmSplashAnimation.tsx
+src/components/auth/golf-sign-in-form.tsx
+src/components/auth/baseball-sign-up-form.tsx
+src/components/auth/baseball-sign-in-form.tsx
+src/components/layout/team-switcher.tsx
+src/components/layout/mobile-menu-button.tsx
+src/components/layout/header.tsx
+src/components/layout/sidebar.tsx
+src/components/baseball/practice-effectiveness/PracticeEffectivenessClient.tsx
+src/components/baseball/player-profile/ProfileTimeline.tsx
+src/components/baseball/player-profile/snapshot-cards/shared.tsx
+src/components/baseball/player-profile/snapshot-cards/SnapshotCards.tsx
+src/components/baseball/player-profile/snapshot-cards/index.ts
+src/components/baseball/player-profile/snapshot-cards/SnapshotCardGrid.tsx
+src/components/baseball/player-profile/snapshot-cards/SnapshotHeaderBand.tsx
+src/components/baseball/player-profile/PlayerProfileClient.tsx
+src/components/baseball/player-profile/PlayerInsightsPanel.tsx
+src/components/baseball/command-center/RiskFeedStrip.tsx
+src/components/baseball/command-center/DailyBriefPanel.tsx
+src/components/baseball/command-center/BaseballInviteButton.tsx
+src/components/baseball/command-center/HighSchoolCommandBanner.tsx
+src/components/baseball/command-center/CommandCenterClient.tsx
+src/components/baseball/command-center/TeamPlayerPeekPanel.tsx
+src/components/baseball/command-center/analytics/TrendAnalysisPanel.tsx
+src/components/baseball/command-center/analytics/GameVsPracticePanel.tsx
+src/components/baseball/command-center/analytics/TeamBattingOverview.tsx
+src/components/baseball/command-center/analytics/PlayerPerformanceGrid.tsx
+src/components/baseball/ui/ActionRail.tsx
+src/components/baseball/ui/GroupAvailabilityGrid.tsx
+src/components/baseball/ui/EvidencePill.tsx
+src/components/baseball/ui/index.ts
+src/components/baseball/ui/CommandCard.tsx
+src/components/baseball/settings/ImportSourcesClient.tsx
+src/components/baseball/settings/ProgramSettingsClient.tsx
+src/components/baseball/settings/TeamSettingsClient.tsx
+src/components/baseball/settings/SeasonSettingsClient.tsx
+src/components/baseball/settings/IntegrationsClient.tsx
+src/components/baseball/settings/PhilosophySettingsClient.tsx
+src/components/baseball/settings/AiAuditLog.tsx
+src/components/baseball/settings/SettingsAuditClient.tsx
+src/components/baseball/settings/BaseballProgramBrand.tsx
+src/components/baseball/stat-visuals/use-stat-visual-views.ts
+src/components/baseball/stat-visuals/chart-primitives.tsx
+src/components/baseball/stat-visuals/PerformanceVisuals.tsx
+src/components/baseball/stat-visuals/FieldingVisuals.tsx
+src/components/baseball/stat-visuals/HittingVisuals.tsx
+src/components/baseball/stat-visuals/DataQualityVisuals.tsx
+src/components/baseball/stat-visuals/StatVisualFrame.tsx
+src/components/baseball/stat-visuals/PitchingVisuals.tsx
+src/components/baseball/stat-visuals/index.ts
+src/components/baseball/stat-visuals/StatVisualsSection.tsx
+src/components/baseball/stat-visuals/chart-geometry.ts
+src/components/baseball/stat-visuals/SpeedArmVisuals.tsx
+src/components/baseball/postgame/PostgameReviewClient.tsx
+src/components/baseball/video/VideoLibraryClient.tsx
+src/components/baseball/video/VideoCard.tsx
+src/components/baseball/import-center/ManualMapPanel.tsx
+src/components/baseball/import-center/EventImportWizard.tsx
+src/components/baseball/import-center/SourceDetectionCard.tsx
+src/components/baseball/import-center/ImportCenterShell.tsx
+src/components/baseball/import-center/ImportDiffViewer.tsx
+src/components/baseball/import-center/ImportWizardClient.tsx
+src/components/baseball/tasks/TaskCard.tsx
+src/components/baseball/tasks/CreateTaskModal.tsx
+src/components/baseball/calendar/__tests__/BaseballCalendarWrapper.rsvp-routing.test.tsx
+src/components/baseball/calendar/BaseballCalendarWrapper.tsx
+src/components/baseball/roster/PlayerCard.tsx
+src/components/baseball/roster/RosterBoards.tsx
+src/components/baseball/roster/PlayerRow.tsx
+src/components/baseball/roster/roster-triage.ts
+src/components/baseball/box-score/BoxScoreView.tsx
+src/components/baseball/box-score/BoxScoreUpload.tsx
+src/components/baseball/box-score/BoxScoreEntry.tsx
+src/components/baseball/box-score/GameBoxScoreToggle.tsx
+src/components/baseball/season-stats/MySeasonStats.tsx
+src/components/baseball/season-stats/PlayerGameLog.tsx
+src/components/baseball/season-stats/SeasonStatsTable.tsx
+src/components/baseball/signals/signal-presentation.ts
+src/components/baseball/signals/SignalDrillDown.tsx
+src/components/baseball/signals/SignalCard.tsx
+src/components/baseball/signals/ConvertToActionDialog.tsx
+src/components/baseball/signals/CommandSignalStack.tsx
+src/components/baseball/signals/SignalInboxClient.tsx
+src/components/baseball/signals/index.ts
+src/components/baseball/NotificationBell.tsx
+src/components/baseball/practice-planner/BlockObjectiveEditor.tsx
+src/components/baseball/practice-planner/TimeRailBuilder.tsx
+src/components/baseball/practice-planner/ScrimmagePanel.tsx
+src/components/baseball/practice-planner/PracticeIntelligenceBoard.tsx
+src/components/baseball/practice-planner/PracticePrintExport.tsx
+src/components/baseball/practice-planner/ScrimmageLineupBuilder.tsx
+src/components/baseball/practice-planner/PracticePlannerClient.tsx
+src/components/baseball/practice-planner/PracticeRecapPanel.tsx
+src/components/baseball/practice-planner/PracticeIntelligenceBoard.tsx.tmp.67976.7dc61ff02da0
+src/components/baseball/BaseballShellLayout.tsx
+src/components/baseball/announcements/AnnouncementsPlayerView.tsx
+src/components/baseball/announcements/CreateAnnouncementFlow.tsx
+src/components/baseball/announcements/AnnouncementsCoachView.tsx
+src/components/baseball/player-stats/StatsOverviewCards.tsx
+src/components/baseball/player-stats/SessionHistory.tsx
+src/components/baseball/player-stats/TrendChart.tsx
+src/components/baseball/player-stats/GameVsPracticeChart.tsx
+src/components/baseball/passport/ScoutPacketView.tsx
+src/components/baseball/passport/PlayerPassportCard.tsx
+src/components/baseball/passport/PassportVisibilityControls.tsx
+src/components/baseball/passport/index.ts
+src/components/baseball/passport/ScoutPacketRosterList.tsx
+src/components/baseball/passport/ScoutPacketCsvButton.tsx
+src/components/baseball/passport/ScoutPacketManager.tsx
+src/components/baseball/coach/ModeToggle.tsx
+src/components/baseball/staff-decision-room/StaffDecisionRoomClient.tsx
+src/components/baseball/dashboard/PlayersNeedingAttention.tsx
+src/components/baseball/dashboard/UpcomingSection.tsx
+src/components/baseball/dashboard/TeamStatsChart.tsx
+src/components/baseball/dashboard/TeamHealthHero.tsx
+src/components/baseball/dashboard/CollegeInterestSummary.tsx
+src/components/baseball/dashboard/TeamDevProgress.tsx
+src/components/baseball/dashboard/HotLeadsSection.tsx
+src/components/baseball/dashboard/PositionNeedsMatrix.tsx
+src/components/baseball/peek-panel/PeekPanelProvider.tsx
+src/components/baseball/peek-panel/PlayerQuickActions.tsx
+src/components/baseball/peek-panel/index.ts
+src/components/baseball/peek-panel/PlayerPeekContent.tsx
+src/components/baseball/coach-daily-contract/CoachDailyContracts.tsx
+src/components/baseball/coach-daily-contract/CoachPlayerDailyContractPanel.tsx
+src/components/baseball/coach-daily-contract/index.ts
+src/components/baseball/profile/CollegeProfileEditor.tsx
+src/components/baseball/team/BatchVideoUpload.tsx
+src/components/baseball/team/CollegeInterestTracker.tsx
+src/components/baseball/team/RosterTable.tsx
+src/components/baseball/source-trust/trust-presentation.ts
+src/components/baseball/source-trust/build-source-trust.ts
+src/components/baseball/source-trust/source-trust-types.ts
+src/components/baseball/source-trust/SourceDrawer.tsx
+src/components/baseball/source-trust/stamped-trust.ts
+src/components/baseball/source-trust/index.ts
+src/components/baseball/source-trust/SourceTrustBadge.tsx
+src/components/baseball/program/ProgramRoster.tsx
+src/components/baseball/player-today/PlayerTimelineClient.tsx
+src/components/baseball/player-today/PlayerTodayClient.tsx
+src/components/baseball/player-today/PlayerTodayTeamless.tsx
+src/components/baseball/dashboard-shell.tsx
+src/components/baseball/staff/StaffSettingsClient.tsx
+src/components/baseball/documents/DocumentPreview.tsx
+src/components/baseball/documents/DocumentCard.tsx
+src/components/baseball/daily-contract/DailyContract.tsx
+src/components/baseball/daily-contract/index.ts
+src/components/baseball/practice-player/PlayerPracticeClient.tsx
+src/components/baseball/showcase/OrgDashboard.tsx
+src/components/baseball/performance/StrengthGroupsClient.tsx
+src/components/baseball/performance/LiftBuilderClient.tsx
+src/components/baseball/performance/ProgramListClient.tsx
+src/components/baseball/performance/PlayerLiftSessionClient.tsx
+src/components/baseball/performance/lift-canvas/ExerciseBin.tsx
+src/components/baseball/performance/lift-canvas/SessionBlock.tsx
+src/components/baseball/performance/lift-canvas/PrescriptionChip.tsx
+src/components/baseball/performance/lift-canvas/LiftCanvas.tsx
+src/components/baseball/performance/lift-canvas/index.ts
+src/components/baseball/performance/LiveWeightRoom.tsx
+src/components/baseball/performance/ExerciseWizard.tsx
+src/components/baseball/performance/ProgramEditorClient.tsx
+src/components/baseball/performance/PlayerInspectorPanel.tsx
+src/components/baseball/performance/PerformanceDashboardClient.tsx
+src/components/baseball/performance/PerformanceCommandCenter.tsx
+src/components/baseball/performance/PlayerLiftHomeClient.tsx
+src/components/baseball/performance/PlayerReadinessClient.tsx
+src/components/baseball/performance/PlayerLiftToday.tsx
+src/components/baseball/position-planner/PlayerQuickView.tsx
+src/components/baseball/position-planner/BaseballDiamond.tsx
+src/components/baseball/position-planner/PositionPlanner.tsx
+src/components/baseball/games/GameCard.tsx
+src/components/baseball/games/GamesList.tsx
+src/components/baseball/travel/ExpenseSummary.tsx
+src/components/baseball/travel/ExpenseList.tsx
+src/components/baseball/travel/ExpenseForm.tsx
+src/components/baseball/travel/CreateItineraryModal.tsx
+src/components/baseball/travel/TravelClient.tsx
+src/components/baseball/stats/StatsUploadClient.tsx
+src/components/baseball/stats/UploadHistory.tsx
+src/components/baseball/onboarding/StepIndicator.tsx
+src/components/baseball/dev-plans/PlanDetail.tsx
+src/components/baseball/stats-center/StatsCenterClient.tsx
+src/components/panels/PlayerPeekPanel.tsx
+src/components/panels/TeamPeekPanel.tsx
+src/components/features/saved-comparisons-list.tsx
+src/components/features/profile-editor.tsx
+src/components/features/pipeline-card.tsx
+src/components/features/video-upload.tsx
+src/components/features/player-comparison.tsx
+src/components/features/college-card.tsx
+src/components/coach/discover/SmartEmptyState.tsx
+src/components/coach/discover/FilterPanel.tsx
+src/components/coach/discover/ActiveFiltersBar.tsx
+src/components/coach/discover/CompareBar.tsx
+src/components/coach/discover/DiscoverView.tsx
+src/components/coach/InviteModal.tsx
+src/components/coach/CreateDevPlanModal.tsx
+src/components/coach/CreateCampModal.tsx
+src/components/coach/PlayerDetailModal.tsx
+src/components/icons/index.tsx
+src/components/lifting/weight/WeightCheckInScheduleBuilder.tsx
+src/components/lifting/athletes/AthleteProfileCard.tsx
+src/components/lifting/athletes/AthleteRosterClient.tsx
+src/components/lifting/soreness/BodySilhouetteFront.tsx
+src/components/lifting/soreness/SorenessScheduleBuilder.tsx
+src/components/lifting/shell/SportTabBar.tsx
+src/components/lifting/players/PlayerLiftSessionClient.tsx
+src/components/lifting/players/PlayerLiftToday.tsx
+src/components/lifting/groups/StrengthGroupsClient.tsx
+src/components/lifting/programs/ProgramListClient.tsx
+src/components/lifting/programs/ProgramEditorClient.tsx
+src/components/lifting/exercises/ExercisePicker.tsx
+src/components/errors/RouteErrorBoundary.tsx
+src/components/player/settings/PrivacySettingsForm.tsx
+src/hooks/use-dashboard.ts
+src/hooks/use-watchlist.ts
+src/hooks/use-player-teams.ts
+src/hooks/use-baseball-staff-auth.ts
+src/hooks/use-colleges.ts
+src/hooks/use-auth.ts
+src/hooks/use-analytics.ts
+src/hooks/use-messages.ts
+src/hooks/use-teams.ts
+src/hooks/use-baseball-auth.ts
+src/hooks/use-route-protection.ts
+src/hooks/use-baseball-nav-context.ts
+src/hooks/use-journey.ts
+src/hooks/use-unread-count.ts
+src/instrumentation-client.ts
+src/proxy.ts
+src/lib/demo/baseball-config.server.ts
+src/lib/demo/baseball-config.ts
+src/lib/types/helm-lifting.ts
+src/lib/types/baseball-ai-audit.ts
+src/lib/types/baseball-passport.ts
+src/lib/types/baseball-lifting.ts
+src/lib/types/baseball-coachhelm-v10.ts
+src/lib/types/baseball-stat-events.ts
+src/lib/types/helm-lifting-data.ts
+src/lib/types/baseball-extended.ts
+src/lib/types/baseball-program-identity.ts
+src/lib/types/helm-lifting-checkins.ts
+src/lib/types/baseball-postgame.ts
+src/lib/types/baseball-acknowledgements.ts
+src/lib/types/baseball-stat-visuals.ts
+src/lib/types/baseball-practice.ts
+src/lib/types/baseball-practice-effectiveness.ts
+src/lib/types/baseball-staff-roles.ts
+src/lib/types/baseball-settings.ts
+src/lib/types/baseball-video-classes.ts
+src/lib/types/database.ts
+src/lib/types/baseball-imports.ts
+src/lib/types/baseball-team-season-settings.ts
+src/lib/types/index.ts
+src/lib/types/baseball-lifting-v11.ts
+src/lib/types/baseball-signals.ts
+src/lib/types/baseball-practice-deep.ts
+src/lib/types/baseball-coachhelm.ts
+src/lib/auth/session.ts
+src/lib/auth/session-activity.ts
+src/lib/auth/password-validation.ts
+src/lib/auth/ownership.ts
+src/lib/baseball/import-matching.ts
+src/lib/baseball/timeline-writer.ts
+src/lib/baseball/postgame/build-review.ts
+src/lib/baseball/capability-groups.ts
+src/lib/baseball/tasks/__tests__/reminder-sweep.test.ts
+src/lib/baseball/tasks/reminder-sweep.ts
+src/lib/baseball/player-access-policy.ts
+src/lib/baseball/ai-policy.ts
+src/lib/baseball/csv-utils.ts
+src/lib/baseball/operational-rule-engine.ts
+src/lib/baseball/passport-fields.ts
+src/lib/baseball/scout-packet-shared.ts
+src/lib/baseball/coachhelm/outcome-sweep.ts
+src/lib/baseball/coachhelm/action-baseline.ts
+src/lib/baseball/coachhelm/scheduled-evaluator.ts
+src/lib/baseball/coachhelm/engine-run.ts
+src/lib/baseball/read-models/player-today.ts
+src/lib/baseball/read-models/stat-visuals.ts
+src/lib/baseball/read-models/player-passport.ts
+src/lib/baseball/read-models/decision-room/tasks-conflicts.ts
+src/lib/baseball/read-models/decision-room/agenda-ledger.ts
+src/lib/baseball/read-models/decision-room/insights.ts
+src/lib/baseball/read-models/decision-room/staff-settings.ts
+src/lib/baseball/read-models/decision-room/readiness.ts
+src/lib/baseball/read-models/decision-room/games.ts
+src/lib/baseball/read-models/decision-room/effectiveness.ts
+src/lib/baseball/read-models/decision-room/focus-imports.ts
+src/lib/baseball/read-models/decision-room/lift.ts
+src/lib/baseball/read-models/player-daily-contract.ts
+src/lib/baseball/read-models/lift-builder.ts
+src/lib/baseball/read-models/player-snapshot-cards.ts
+src/lib/baseball/read-models/strength-groups.ts
+src/lib/baseball/read-models/player-lift.ts
+src/lib/baseball/read-models/video-classes.ts
+src/lib/baseball/read-models/live-weight-room.ts
+src/lib/baseball/read-models/elite-stat-events.ts
+src/lib/baseball/read-models/practice-effectiveness.ts
+src/lib/baseball/read-models/postgame.ts
+src/lib/baseball/read-models/__tests__/player-daily-contract.test.ts
+src/lib/baseball/read-models/__tests__/player-snapshot-cards.test.ts
+src/lib/baseball/read-models/__tests__/elite-stat-events.test.ts
+src/lib/baseball/read-models/scout-packet.ts
+src/lib/baseball/read-models/performance-command.ts
+src/lib/baseball/read-models/signal-inbox.ts
+src/lib/baseball/read-models/lift-programs.ts
+src/lib/baseball/read-models/coach-daily-contracts.ts
+src/lib/baseball/read-models/timeline.ts
+src/lib/baseball/read-models/stats-center.ts
+src/lib/baseball/read-models/coach-notes.ts
+src/lib/baseball/read-models/command-center.ts
+src/lib/baseball/class-conflict-engine.ts
+src/lib/baseball/capabilities.ts
+src/lib/baseball/player-record-access.ts
+src/lib/baseball/motion.ts
+src/lib/baseball/active-context.ts
+src/lib/baseball/risk-feed-bridge.ts
+src/lib/baseball/stat-import-adapters.ts
+src/lib/baseball/ai-policy-server.ts
+src/lib/baseball/exercise-conflict.ts
+src/lib/baseball/signal-from-insight.ts
+src/lib/baseball/nav-registry.ts
+src/lib/baseball/adapters/file-fingerprint.ts
+src/lib/baseball/adapters/official-xml-adapters.ts
+src/lib/baseball/adapters/event-rows.ts
+src/lib/baseball/adapters/import-file-body.ts
+src/lib/baseball/adapters/pdf-adapter.ts
+src/lib/baseball/adapters/tracking-adapters.ts
+src/lib/baseball/adapters/mini-xml.ts
+src/lib/baseball/adapters/swing-adapters.ts
+src/lib/baseball/adapters/xlsx-reader.ts
+src/lib/baseball/adapters/csv-tokenizer.ts
+src/lib/baseball/adapters/index.ts
+src/lib/baseball/adapters/pdf-reader.ts
+src/lib/baseball/source-record.ts
+src/lib/baseball/__tests__/outcome-sweep-insight-resolve.test.ts
+src/lib/baseball/__tests__/import-formats.test.ts
+src/lib/baseball/__tests__/engine-run-maturity.test.ts
+src/lib/baseball/__tests__/program-type-nav-variants.test.ts
+src/lib/baseball/__tests__/motion.test.ts
+src/lib/baseball/__tests__/ai-policy-enforcement.test.ts
+src/lib/baseball/__tests__/outcome-sweep-verdict.test.ts
+src/lib/baseball/__tests__/exercise-conflict.test.ts
+src/lib/baseball/__tests__/import-duplicate-verdict.test.ts
+src/lib/baseball/__tests__/action-baseline.test.ts
+src/lib/baseball/__tests__/operational-rule-engine.test.ts
+src/lib/baseball/__tests__/passport-fields.test.ts
+src/lib/baseball/__tests__/signal-from-insight.test.ts
+src/lib/baseball/__tests__/file-fingerprint.test.ts
+src/lib/baseball/__tests__/stat-event-adapters.test.ts
+src/lib/baseball/__tests__/stats-center-derivations.test.ts
+src/lib/baseball/__tests__/nav-capability-gating.test.ts
+src/lib/baseball/__tests__/scheduled-evaluator.test.ts
+src/lib/baseball/__tests__/import-validation.test.ts
+src/lib/baseball/__tests__/player-access-action-gate.integration.test.ts
+src/lib/baseball/__tests__/import-registry-policy.test.ts
+src/lib/baseball/__tests__/player-access-enforcement.test.ts
+src/lib/baseball/__tests__/coach-onboarding-staff-row.integration.test.ts
+src/lib/baseball/__tests__/stamped-trust.test.ts
+src/lib/baseball/import-raw-file-storage.ts
+src/lib/baseball/program-type-variants.ts
+src/lib/baseball/nav-context.ts
+src/lib/baseball/lifting/strength-group-rules.ts
+src/lib/baseball/lifting/__tests__/live-set-offline-buffer.test.ts
+src/lib/baseball/lifting/use-live-set-sync.ts
+src/lib/baseball/lifting/group-audit-writer.ts
+src/lib/baseball/lifting/live-set-offline-buffer.ts
+src/lib/baseball/lifting/readiness-compute.ts
+src/lib/baseball/daily-contract/ack-visibility.ts
+src/lib/baseball/daily-contract/missed-sweep.ts
+src/lib/baseball/daily-contract/__tests__/contract-day.test.ts
+src/lib/baseball/daily-contract/__tests__/missed-sweep.test.ts
+src/lib/baseball/daily-contract/__tests__/ack-visibility.test.ts
+src/lib/baseball/daily-contract/contract-day.ts
+src/lib/baseball/with-baseball-action.ts
+src/lib/baseball/practice-validation.ts
+src/lib/baseball/dev-plan-progress.ts
+src/lib/baseball/active-context-shared.ts
+src/lib/baseball/player-access.ts
+src/lib/coachhelm/baseball/metrics/registry.role-visibility.test.ts
+src/lib/coachhelm/baseball/metrics/registry.ts
+src/lib/coachhelm/baseball/engine-v10.test.ts
+src/lib/coachhelm/baseball/ranking.ts
+src/lib/coachhelm/baseball/loaders-v10.ts
+src/lib/coachhelm/baseball/engine.ts
+src/lib/coachhelm/baseball/loaders.ts
+src/lib/coachhelm/baseball/loaders-events.ts
+src/lib/coachhelm/baseball/generators/event-families.ts
+src/lib/coachhelm/baseball/generators/class-ops.ts
+src/lib/coachhelm/baseball/generators/event-families.test.ts
+src/lib/coachhelm/baseball/generators/index.ts
+src/lib/coachhelm/baseball/generators/v10.ts
+src/lib/coachhelm/baseball/generators/composites.ts
+src/lib/coachhelm/baseball/effectiveness/engine.ts
+src/lib/coachhelm/shared/evidence-types.ts
+src/lib/coachhelm/shared/base-generator.ts
+src/lib/utils/safe-redirect.ts
+src/lib/supabase/middleware.ts
+src/lib/lifting/overuse-rules.ts
+src/lib/lifting/with-lifting-action.ts
+src/lib/lifting/resolve-baseball-context.ts
+src/lib/lifting/adapters/baseball-view-adapter.ts
+src/lib/lifting/__tests__/overuse-rules.test.ts
+src/lib/lifting/soreness-regions.ts
+src/lib/notifications/email.ts
+src/lib/notifications/types.ts
+src/lib/notifications/index.ts
+supabase/migrations/20260624001401_baseball_public_player_stats_rpc.sql
+supabase/migrations/20260624000083_baseball_stat_visual_views.sql
+supabase/migrations/20260624000510_baseball_event_supersede.sql
+supabase/migrations/20260625000050_baseball_anon_revoke_wave1.sql
+supabase/migrations/20260624000080_baseball_elite_stat_event_model.sql
+supabase/migrations/20260625000030_helm_lifting_accept_invite_rpc.sql
+supabase/migrations/20260624002000_baseball_videos_coach_rls_and_recruiting_check.sql
+supabase/migrations/20260624000470_baseball_operational_signal_rule_config.sql
+supabase/migrations/20260624000430_baseball_timeline_event_acks.sql
+supabase/migrations/20260624000081_baseball_staff_roles_scope_audit.sql
+supabase/migrations/20260624000440_baseball_strength_group_audit.sql
+supabase/migrations/20260624000220_baseball_player_passport_and_daily_contract.sql
+supabase/migrations/20260624000070_baseball_coach_insights_attribution.sql
+supabase/migrations/20260624000620_baseball_daily_contract_coach_ack.sql
+supabase/migrations/20260625000000_helm_lifting_identity.sql
+supabase/migrations/20260624000060_baseball_practices.sql
+supabase/migrations/20260624000820_baseball_daily_contract_missed_rollover.sql
+supabase/migrations/20260624000095_baseball_team_and_season_settings.sql
+supabase/migrations/20260624000020_baseball_import_lineage.sql
+supabase/migrations/20260624000061_baseball_lifting_performance.sql
+supabase/migrations/20260624000050_baseball_rls_helpers_and_policies.sql
+supabase/migrations/20260624000200_baseball_practice_deepening.sql
+supabase/migrations/20260625000020_helm_lifting_data_sessions_readiness.sql
+supabase/migrations/20260624001700_baseball_task_reminder_sent.sql
+supabase/migrations/20260624001800_baseball_practice_blocks_source_postgame.sql
+supabase/migrations/20260624000082_baseball_staff_display_and_invite_columns.sql
+supabase/migrations/20260624000500_baseball_import_raw_file_and_hash.sql
+supabase/migrations/20260624000420_baseball_passport_scout_packet_share_tokens.sql
+supabase/migrations/20260625000040_baseball_staff_display_scope_columns.sql
+supabase/migrations/20260625000060_baseball_anon_revoke_wave2.sql
+supabase/migrations/20260626000030_baseball_notifications_revoke_anon.sql
+supabase/migrations/20260624000091_baseball_program_identity.sql
+supabase/migrations/20260624000030_baseball_staff_capabilities.sql
+supabase/migrations/20260624000062_baseball_accept_staff_invite_rpc.sql
+supabase/migrations/20260602165152_harden_search_path_and_revoke_anon_admin_fns.sql
+supabase/migrations/20260624000310_baseball_decision_log.sql
+supabase/migrations/20260625000080_helm_lifting_backfill_from_baseball.sql
+supabase/migrations/20260527000000_prod_public_baseline.sql
+supabase/migrations/20260625000070_baseball_performance_indexes.sql
+supabase/migrations/20260626000020_helm_lifting_exercise_stress_profile.sql
+supabase/migrations/20260624000210_baseball_coachhelm_v10_ranking_and_outcome_ledger.sql
+supabase/migrations/20260624001100_baseball_import_match_resolution.sql
+supabase/migrations/20260624000230_baseball_signal_action_materialization.sql
+supabase/migrations/20260624000450_baseball_ai_audit_log.sql
+supabase/migrations/20260624000094_baseball_practice_effectiveness.sql
+supabase/migrations/20260624001000_baseball_official_stat_breadth.sql
+supabase/migrations/20260624001900_baseball_events_status_lifecycle.sql
+supabase/migrations/20260624000063_baseball_v11_premium_lifting.sql
+supabase/migrations/20260624001300_baseball_coachhelm_insight_maturity_counters.sql
+supabase/migrations/20260624000040_baseball_timeline_and_acks.sql
+supabase/migrations/20260624001500_baseball_signup_creates_profile_row.sql
+supabase/migrations/20260624001600_baseball_replace_lineup_positions_rpc.sql
+supabase/migrations/20260624000460_baseball_import_registry_load_bearing.sql
+supabase/migrations/20260624000900_baseball_coach_notes.sql
+supabase/migrations/20260624001400_baseball_readiness_select_gate_fix.sql
+supabase/migrations/20260624000211_baseball_scrimmage_result.sql
+supabase/migrations/20260624000093_baseball_postgame_reviews.sql
+supabase/migrations/20260624001200_baseball_import_source_external_id.sql
+supabase/migrations/20260624000010_baseball_stat_uploads_reconcile.sql
+supabase/migrations/20260624000221_baseball_video_links_and_class_conflicts.sql
+supabase/migrations/20260624000092_baseball_signals_and_actions.sql
+supabase/migrations/20260624000090_baseball_settings_os.sql
+supabase/migrations/20260625000090_helm_lifting_soreness_weight_nutrition.sql
+supabase/migrations/20260625150000_baseball_lifting_drift_closure.sql
+supabase/migrations/20260528000000_baseball_recalc_body_guards.sql
+supabase/migrations/20260625000010_helm_lifting_data_library_programs.sql
+supabase/tests/rls/baseball_lifting_visibility.sql
+supabase/tests/rls/baseball_settings_os.sql
+supabase/tests/rls/rpc_grant_hardening.sql
+supabase/tests/rls/baseball_program_identity.sql
+supabase/tests/rls/baseball_coach_notes.sql
+supabase/tests/rls/baseball_passport_and_daily_contract.sql
+supabase/tests/rls/baseball_staff_audit_events.sql
+supabase/tests/rls/baseball_practice_visibility.sql
+supabase/tests/rls/golf_coach_insights_cross_tenant_select.sql
+supabase/tests/rls/baseball_recalc_body_guards.sql
+supabase/tests/rls/baseball_stat_visual_views.sql
+supabase/tests/rls/baseball_practice_scrimmage_visibility.sql
+supabase/tests/rls/baseball_timeline_event_acks.sql
+supabase/tests/rls/baseball_decision_log.sql
+supabase/tests/rls/baseball_signal_action_materialization.sql
+supabase/tests/rls/baseball_v11_lifting_visibility.sql
+supabase/tests/rls/baseball_stats_center.sql
+supabase/tests/rls/baseball_signals_and_actions.sql
+supabase/tests/rls/baseball_import_center.sql
+supabase/tests/rls/baseball_ai_audit.sql
+supabase/tests/rls/baseball_timeline_visibility.sql
+supabase/tests/rls/baseball_signals_actions.sql
+supabase/tests/rls/baseball_seasons.sql
+supabase/tests/rls/baseball_passport_scout_packet_share_tokens.sql
+supabase/tests/rls/baseball_import_lineage.sql
+supabase/tests/rls/baseball_event_acknowledgements.sql
+supabase/tests/rls/baseball_practice_effectiveness_visibility.sql
+supabase/tests/rls/baseball_full_phase1.sql
+supabase/tests/rls/baseball_staff_invite_accept.sql
+supabase/tests/rls/baseball_strength_group_audit.sql
+supabase/tests/rls/baseball_coach_insights_attribution.sql
+supabase/tests/rls/baseball_staff_capabilities.sql
+supabase/tests/rls/baseball_video_classes.sql
+supabase/tests/rls/baseball_postgame_reviews.sql
+supabase/tests/rls/baseball_stat_event_model.sql
+supabase/migrations_archive/v1_original/047_data_cleanup.sql
+supabase/migrations_archive/v1_original/044_restore_complete_rls_policies.sql
+supabase/migrations_archive/v1_original/001_schema.sql
+supabase/migrations_archive/v1_original/002_seed.sql
+supabase/migrations_archive/v1_original/042_fix_trigger_security_definer.sql
+supabase/migrations_archive/v1_original/20260111000001_baseball_team_management.sql
+supabase/migrations_archive/v1_original/20260109000003_function_audit_log.sql
+supabase/migrations_archive/v1_original/038_team_lineups.sql
+supabase/migrations_archive/v1_original/016_create_golf_schema.sql
+supabase/migrations_archive/v1_original/20251231000003_fix_auth_trigger_metadata.sql
+supabase/migrations_archive/v1_original/20260108000002_comprehensive_rls_fix.sql
+supabase/migrations_archive/v1_original/048_rls_security_fix.sql
+supabase/migrations_archive/v1_original/20260104000002_fix_golf_messaging_rls.sql
+supabase/migrations_archive/v1_original/045_comprehensive_auth_fix.sql
+supabase/migrations_archive/v1_original/036_messaging_matrix.sql
+supabase/migrations_archive/pre_20260527/20260125000000_fix_baseball_rls_comprehensive.sql
+supabase/migrations_archive/pre_20260527/005_players.sql
+supabase/migrations_archive/pre_20260527/20260209000000_baseball_dashboard_wiring_fixes.sql
+supabase/migrations_archive/pre_20260527/20260222220200_baseball_notifications.sql
+supabase/migrations_archive/pre_20260527/20260221120000_add_remaining_fk_indexes.sql
+supabase/migrations_archive/pre_20260527/20260523210000_coachhelm_wave4_cleanup.sql
+supabase/migrations_archive/pre_20260527/20260222140000_emergency_rls_fix_v2.sql
+supabase/migrations_archive/pre_20260527/018_team_lineups.sql
+supabase/migrations_archive/pre_20260527/036_rename_baseball_tables.sql
+supabase/migrations_archive/pre_20260527/001_extensions_and_enums.sql
+supabase/migrations_archive/pre_20260527/20260222220100_drop_head_coach_id.sql
+supabase/migrations_archive/pre_20260527/003_organizations.sql
+supabase/migrations_archive/pre_20260527/20260421000001_admin_dashboard_rollup.sql
+supabase/migrations_archive/pre_20260527/20260421000006_admin_rollups_b.sql
+supabase/migrations_archive/pre_20260527/032_baseball_advanced.sql
+supabase/migrations_archive/pre_20260527/20260523200000_coachhelm_p0_sweep.sql
+supabase/migrations_archive/pre_20260527/033_all_indexes.sql
+supabase/migrations_archive/pre_20260527/20260208000000_baseball_team_management.sql
+supabase/migrations_archive/pre_20260527/20260518124505_fix_live_db_lint_errors.sql
+supabase/migrations_archive/pre_20260527/042_sport_specific_messaging_tables.sql
+supabase/migrations_archive/pre_20260527/004_coaches.sql
+supabase/migrations_archive/pre_20260527/20260427210000_canonical_rls_snapshot.sql
+supabase/migrations_archive/pre_20260527/041_shared_tables.sql
+supabase/migrations_archive/pre_20260527/20260421000004_secure_perf_rpcs.sql
+supabase/migrations_archive/pre_20260527/034_all_rls_policies.sql
+supabase/migrations_archive/pre_20260527/20260222120000_fix_head_coach_id_rls.sql
+supabase/migrations_archive/pre_20260527/20260217000000_fix_baseball_teams_schema.sql
+supabase/migrations_archive/pre_20260527/20260527190000_harden_public_rpc_grants.sql
+supabase/migrations_archive/pre_20260527/20260310000000_deprecate_unused_tables.sql
+supabase/migrations_archive/pre_20260527/044_fix_messaging_rls.sql
+supabase/migrations_archive/pre_20260527/20260222200000_baseball_box_score_system.sql
+supabase/migrations_archive/pre_20260527/037_baseball_missing_tables.sql
+supabase/migrations_archive/pre_20260527/009_messaging.sql
+supabase/migrations_archive/pre_20260527/002_core_users_auth.sql
+supabase/migrations_archive/pre_20260527/020_golf_core.sql
+supabase/migrations_archive/pre_20260527/035_all_triggers_functions.sql
+supabase/migrations_archive/pre_20260527/20260222220000_fix_baseball_coaches_rls.sql
+scripts/baseballhelm-command-center.mjs
+scripts/seed-rini-baseball-demo.ts
+scripts/seed-baseball-stats.mjs
+scripts/admin-rollup-smoke.mjs
+scripts/check-migration-versions.mjs
+scripts/baseballhelm-depth-fidelity.workflow.js
+scripts/baseballhelm-build-event.mjs
+scripts/harvest-course-photos.py
+scripts/__tests__/emptystate-vocab.test.mjs
+scripts/__tests__/no-arbitrary-text-px-app.test.mjs
+scripts/__tests__/sweep-clean-components.test.mjs
+scripts/__tests__/badge-consolidation.test.mjs
+scripts/__tests__/no-legacy-skeleton-imports.test.mjs
+scripts/__tests__/sweep-clean-app.test.mjs
+scripts/__tests__/error-boundary-coverage.test.mjs
+scripts/__tests__/check-migration-versions.test.mjs
+scripts/__tests__/microcopy-banned-phrases.test.mjs
+scripts/baseballhelm-loc.mjs
+scripts/seed-baseball-demo.ts
+scripts/baseballhelm-mega-build.workflow.js
+scripts/seed-baseball-roster.mjs
+scripts/seed-baseball-lifting-demo.ts
+scripts/baseballhelm-verification.workflow.js
+scripts/baseballhelm-command-center-hook.mjs
+docs/ui/GLASSMORPHISM_STATUS.md
+docs/ui/UI_IMPROVEMENTS_PHASE_2.md
+docs/ui/GLASS_SYSTEM.md
+docs/ui/25_UI_IMPROVEMENTS.md
+docs/SESSION_REPORT_2026-05-27_PART2.md
+docs/fairway-recruiting-plan.md
+docs/audit-db-security-2026-02-22.md
+docs/baseballhelm_revolution_plan_v2/09_import_system_v2/import_audit_log_v2.md
+docs/baseballhelm_revolution_plan_v2/09_import_system_v2/player_matching_v2.md
+docs/baseballhelm_revolution_plan_v2/09_import_system_v2/import_error_handling_v2.md
+docs/baseballhelm_revolution_plan_v2/09_import_system_v2/generic_import_mapper_v2.md
+docs/baseballhelm_revolution_plan_v2/09_import_system_v2/csv_templates/travel_itinerary_import_v2.csv
+docs/baseballhelm_revolution_plan_v2/09_import_system_v2/csv_template_quality_review.md
+docs/baseballhelm_revolution_plan_v2/09_import_system_v2/data_validation_v2.md
+docs/baseballhelm_revolution_plan_v2/09_import_system_v2/import_first_product_philosophy.md
+docs/baseballhelm_revolution_plan_v2/09_import_system_v2/duplicate_resolution_v2.md
+docs/baseballhelm_revolution_plan_v2/09_import_system_v2/import_system_v2_strategy.md
+docs/baseballhelm_revolution_plan_v2/09_import_system_v2/import_rollback_v2.md
+docs/baseballhelm_revolution_plan_v2/09_import_system_v2/import_preview_ui_v2.md
+docs/baseballhelm_revolution_plan_v2/09_import_system_v2/vendor_export_reality_check.md
+docs/baseballhelm_revolution_plan_v2/09_import_system_v2/minimum_imports_for_phase_1.md
+docs/baseballhelm_revolution_plan_v2/09_import_system_v2/manual_entry_vs_import_decisions.md
+docs/baseballhelm_revolution_plan_v2/09_import_system_v2/ai_import_assistant_v2.md
+docs/baseballhelm_revolution_plan_v2/09_import_system_v2/advanced_imports_for_future.md
+docs/baseballhelm_revolution_plan_v2/24_subsystem_execution_blueprint_v9/v9_integration_adapter_contracts.md
+docs/baseballhelm_revolution_plan_v2/24_subsystem_execution_blueprint_v9/v9_cross_subsystem_data_signal_action_map.md
+docs/baseballhelm_revolution_plan_v2/24_subsystem_execution_blueprint_v9/v9_claude_work_packet_backlog.md
+docs/baseballhelm_revolution_plan_v2/24_subsystem_execution_blueprint_v9/README.md
+docs/baseballhelm_revolution_plan_v2/24_subsystem_execution_blueprint_v9/v9_tab_by_tab_subsystem_plan.md
+docs/baseballhelm_revolution_plan_v2/18_massive_program_os_v4/v4_current_helmv3_structure_map.md
+docs/baseballhelm_revolution_plan_v2/18_massive_program_os_v4/v4_complete_program_os_feature_spec.md
+docs/baseballhelm_revolution_plan_v2/18_massive_program_os_v4/README.md
+docs/baseballhelm_revolution_plan_v2/18_massive_program_os_v4/v4_program_type_variants_high_school_college_showcase.md
+docs/baseballhelm_revolution_plan_v2/18_massive_program_os_v4/v4_implementation_contract_for_massive_build.md
+docs/baseballhelm_revolution_plan_v2/18_massive_program_os_v4/v4_strength_lifting_performance_system.md
+docs/baseballhelm_revolution_plan_v2/18_massive_program_os_v4/v4_settings_admin_integrations_permissions.md
+docs/baseballhelm_revolution_plan_v2/18_massive_program_os_v4/v4_premium_ui_ux_product_system.md
+docs/baseballhelm_revolution_plan_v2/00_v2_index/v2_recommended_next_agent_prompt.md
+docs/baseballhelm_revolution_plan_v2/00_v2_index/ULTRACODE_SESSION_STRUCTURE.md
+docs/baseballhelm_revolution_plan_v2/00_v2_index/README.md
+docs/baseballhelm_revolution_plan_v2/00_v2_index/v2_what_changed_from_original.md
+docs/baseballhelm_revolution_plan_v2/00_v2_index/v2_biggest_gaps_in_original_plan.md
+docs/baseballhelm_revolution_plan_v2/00_v2_index/v2_executive_summary.md
+docs/baseballhelm_revolution_plan_v2/00_v2_index/v2_critical_findings.md
+docs/baseballhelm_revolution_plan_v2/15_final_agent_prompts_v2/prompt_for_demo_data_agent_v2.md
+docs/baseballhelm_revolution_plan_v2/15_final_agent_prompts_v2/prompt_for_frontend_ui_agent_v2.md
+docs/baseballhelm_revolution_plan_v2/15_final_agent_prompts_v2/CLAUDE_ULTRACODE_MASTER_PROMPT.md
+docs/baseballhelm_revolution_plan_v2/15_final_agent_prompts_v2/prompt_for_next_build_agent_v2.md
+docs/baseballhelm_revolution_plan_v2/15_final_agent_prompts_v2/prompt_for_import_agent_v2.md
+docs/baseballhelm_revolution_plan_v2/15_final_agent_prompts_v2/prompt_for_ai_agent_v2.md
+docs/baseballhelm_revolution_plan_v2/15_final_agent_prompts_v2/prompt_for_database_agent_v2.md
+docs/baseballhelm_revolution_plan_v2/15_final_agent_prompts_v2/prompt_for_qa_agent_v2.md
+docs/baseballhelm_revolution_plan_v2/01_zip_audit/overbuilt_sections_requiring_simplification.md
+docs/baseballhelm_revolution_plan_v2/01_zip_audit/v1_file_inventory.json
+docs/baseballhelm_revolution_plan_v2/01_zip_audit/zip_folder_inventory.md
+docs/baseballhelm_revolution_plan_v2/01_zip_audit/v1_file_inventory.csv
+docs/baseballhelm_revolution_plan_v2/01_zip_audit/contradictions_and_conflicts.md
+docs/baseballhelm_revolution_plan_v2/23_autosync_strategy_v8/source_baseballhelm_autosync_plan.md
+docs/baseballhelm_revolution_plan_v2/23_autosync_strategy_v8/v8_autosync_feature_plan.md
+docs/baseballhelm_revolution_plan_v2/23_autosync_strategy_v8/README.md
+docs/baseballhelm_revolution_plan_v2/23_autosync_strategy_v8/assets/v8_autosync_pipeline.svg
+docs/baseballhelm_revolution_plan_v2/06_feature_by_feature_critical_review/settings_permissions_admin_review.md
+docs/baseballhelm_revolution_plan_v2/06_feature_by_feature_critical_review/coachhelm_ai_review.md
+docs/baseballhelm_revolution_plan_v2/06_feature_by_feature_critical_review/reports_review.md
+docs/baseballhelm_revolution_plan_v2/06_feature_by_feature_critical_review/hitting_development_review.md
+docs/baseballhelm_revolution_plan_v2/06_feature_by_feature_critical_review/wellness_and_availability_review.md
+docs/baseballhelm_revolution_plan_v2/06_feature_by_feature_critical_review/practice_planner_review.md
+docs/baseballhelm_revolution_plan_v2/06_feature_by_feature_critical_review/academics_review.md
+docs/baseballhelm_revolution_plan_v2/06_feature_by_feature_critical_review/travel_and_logistics_review.md
+docs/baseballhelm_revolution_plan_v2/06_feature_by_feature_critical_review/roster_and_player_profiles_review.md
+docs/baseballhelm_revolution_plan_v2/06_feature_by_feature_critical_review/coach_command_center_review.md
+docs/baseballhelm_revolution_plan_v2/06_feature_by_feature_critical_review/lifting_and_performance_review.md
+docs/baseballhelm_revolution_plan_v2/06_feature_by_feature_critical_review/communication_review.md
+docs/baseballhelm_revolution_plan_v2/06_feature_by_feature_critical_review/recruiting_review.md
+docs/baseballhelm_revolution_plan_v2/06_feature_by_feature_critical_review/import_center_review.md
+docs/baseballhelm_revolution_plan_v2/06_feature_by_feature_critical_review/pitching_development_review.md
+docs/baseballhelm_revolution_plan_v2/06_feature_by_feature_critical_review/calendar_review.md
+docs/baseballhelm_revolution_plan_v2/06_feature_by_feature_critical_review/stats_center_review.md
+docs/baseballhelm_revolution_plan_v2/07_tab_architecture_v2/desktop_navigation_model.md
+docs/baseballhelm_revolution_plan_v2/07_tab_architecture_v2/recommended_final_navigation.md
+docs/baseballhelm_revolution_plan_v2/07_tab_architecture_v2/mobile_navigation_model.md
+docs/baseballhelm_revolution_plan_v2/07_tab_architecture_v2/role_based_navigation.md
+docs/baseballhelm_revolution_plan_v2/07_tab_architecture_v2/tab_merge_split_delete_recommendations.md
+docs/baseballhelm_revolution_plan_v2/07_tab_architecture_v2/staff_tabs_v2.md
+docs/baseballhelm_revolution_plan_v2/07_tab_architecture_v2/coach_tabs_v2.md
+docs/baseballhelm_revolution_plan_v2/07_tab_architecture_v2/information_architecture_map.md
+docs/baseballhelm_revolution_plan_v2/07_tab_architecture_v2/player_tabs_v2.md
+docs/baseballhelm_revolution_plan_v2/v2_scorecard_original_vs_improved.md
+docs/baseballhelm_revolution_plan_v2/27_live_ultracode_command_center_v12/v12_chrome_open_acceptance_gate.md
+docs/baseballhelm_revolution_plan_v2/27_live_ultracode_command_center_v12/README.md
+docs/baseballhelm_revolution_plan_v2/27_live_ultracode_command_center_v12/source_ultracode_agent_city_command_center_spec.md
+docs/baseballhelm_revolution_plan_v2/27_live_ultracode_command_center_v12/v12_command_center_ui_ux_and_tabs.md
+docs/baseballhelm_revolution_plan_v2/27_live_ultracode_command_center_v12/v12_telemetry_contract_agent_visibility.md
+docs/baseballhelm_revolution_plan_v2/27_live_ultracode_command_center_v12/v12_claude_task_zero_live_command_center.md
+docs/baseballhelm_revolution_plan_v2/27_live_ultracode_command_center_v12/v12_agent_city_baseballhelm_adaptation.md
+docs/baseballhelm_revolution_plan_v2/03_market_research_refresh/academics_and_availability_refresh.md
+docs/baseballhelm_revolution_plan_v2/03_market_research_refresh/practice_planning_refresh.md
+docs/baseballhelm_revolution_plan_v2/03_market_research_refresh/updated_competitor_weakness_matrix.md
+docs/baseballhelm_revolution_plan_v2/03_market_research_refresh/baseball_stats_refresh.md
+docs/baseballhelm_revolution_plan_v2/03_market_research_refresh/updated_competitor_matrix.md
+docs/baseballhelm_revolution_plan_v2/03_market_research_refresh/2026_live_research_addendum.md
+docs/baseballhelm_revolution_plan_v2/03_market_research_refresh/missed_market_opportunities.md
+docs/baseballhelm_revolution_plan_v2/03_market_research_refresh/recruiting_refresh.md
+docs/baseballhelm_revolution_plan_v2/03_market_research_refresh/new_sources_and_findings.md
+docs/baseballhelm_revolution_plan_v2/03_market_research_refresh/updated_build_vs_import_vs_ignore_matrix.md
+docs/baseballhelm_revolution_plan_v2/03_market_research_refresh/college_athletics_ops_refresh.md
+docs/baseballhelm_revolution_plan_v2/03_market_research_refresh/strength_conditioning_refresh.md
+docs/baseballhelm_revolution_plan_v2/03_market_research_refresh/market_research_refresh_summary.md
+docs/baseballhelm_revolution_plan_v2/03_market_research_refresh/ai_sports_refresh.md
+docs/baseballhelm_revolution_plan_v2/03_market_research_refresh/player_development_refresh.md
+docs/baseballhelm_revolution_plan_v2/26_final_auth_lifting_current_app_v11/v11_auth_team_join_staff_roles.md
+docs/baseballhelm_revolution_plan_v2/26_final_auth_lifting_current_app_v11/v11_claude_final_touch_execution_prompt.md
+docs/baseballhelm_revolution_plan_v2/26_final_auth_lifting_current_app_v11/v11_strength_coach_premium_lifting_system.md
+docs/baseballhelm_revolution_plan_v2/26_final_auth_lifting_current_app_v11/README.md
+docs/baseballhelm_revolution_plan_v2/26_final_auth_lifting_current_app_v11/v11_current_baseballhelm_context_for_claude.md
+docs/baseballhelm_revolution_plan_v2/22_deeper_workflows_research_v7/v7_research_findings_stats_acquisition.md
+docs/baseballhelm_revolution_plan_v2/22_deeper_workflows_research_v7/v7_cool_efficiency_features_backlog.md
+docs/baseballhelm_revolution_plan_v2/22_deeper_workflows_research_v7/v7_player_profile_snapshot_system.md
+docs/baseballhelm_revolution_plan_v2/22_deeper_workflows_research_v7/v7_tool_specific_parser_and_storage_strategy.md
+docs/baseballhelm_revolution_plan_v2/22_deeper_workflows_research_v7/v7_coachhelm_practice_effectiveness_engine.md
+docs/baseballhelm_revolution_plan_v2/22_deeper_workflows_research_v7/README.md
+docs/baseballhelm_revolution_plan_v2/22_deeper_workflows_research_v7/v7_practice_plan_generator_and_scrimmage_lineup_builder.md
+docs/baseballhelm_revolution_plan_v2/22_deeper_workflows_research_v7/v7_lifting_dashboard_and_multisport_performance_os.md
+docs/baseballhelm_revolution_plan_v2/22_deeper_workflows_research_v7/assets/v7_stats_acquisition_ladder.svg
+docs/baseballhelm_revolution_plan_v2/22_deeper_workflows_research_v7/v7_coach_onboarding_assistant_roles_and_accounts.md
+docs/baseballhelm_revolution_plan_v2/README.md
+docs/baseballhelm_revolution_plan_v2/WAVE_BUILD_PLAN.json
+docs/baseballhelm_revolution_plan_v2/13_implementation_plan_v2/database_first_tasks.md
+docs/baseballhelm_revolution_plan_v2/13_implementation_plan_v2/repo_verified_execution_map.md
+docs/baseballhelm_revolution_plan_v2/13_implementation_plan_v2/one_shot_build_plan_v2.md
+docs/baseballhelm_revolution_plan_v2/13_implementation_plan_v2/implementation_sequence_v2.md
+docs/baseballhelm_revolution_plan_v2/13_implementation_plan_v2/claude_ultracode_one_shot_runbook.md
+docs/baseballhelm_revolution_plan_v2/13_implementation_plan_v2/agent_execution_order.md
+docs/baseballhelm_revolution_plan_v2/BASEBALLHELM_FULL_FEATURE_PRODUCT_PLAN.pdf
+docs/baseballhelm_revolution_plan_v2/05_integrated_workflow_review/preseason_integrated_workflow.md
+docs/baseballhelm_revolution_plan_v2/05_integrated_workflow_review/travel_weekend_integrated_workflow.md
+docs/baseballhelm_revolution_plan_v2/05_integrated_workflow_review/full_system_integration_map.md
+docs/baseballhelm_revolution_plan_v2/05_integrated_workflow_review/academics_to_calendar_loop.md
+docs/baseballhelm_revolution_plan_v2/05_integrated_workflow_review/stats_to_practice_loop.md
+docs/baseballhelm_revolution_plan_v2/05_integrated_workflow_review/lift_to_availability_loop.md
+docs/baseballhelm_revolution_plan_v2/05_integrated_workflow_review/post_game_review_workflow.md
+docs/baseballhelm_revolution_plan_v2/05_integrated_workflow_review/freshman_onboarding_workflow.md
+docs/baseballhelm_revolution_plan_v2/05_integrated_workflow_review/transfer_player_onboarding_workflow.md
+docs/baseballhelm_revolution_plan_v2/05_integrated_workflow_review/player_meeting_workflow.md
+docs/baseballhelm_revolution_plan_v2/05_integrated_workflow_review/injury_limited_player_workflow.md
+docs/baseballhelm_revolution_plan_v2/05_integrated_workflow_review/player_daily_workflow.md
+docs/baseballhelm_revolution_plan_v2/05_integrated_workflow_review/strength_coach_workflow.md
+docs/baseballhelm_revolution_plan_v2/05_integrated_workflow_review/wellness_to_workload_loop.md
+docs/baseballhelm_revolution_plan_v2/05_integrated_workflow_review/head_coach_weekly_workflow.md
+docs/baseballhelm_revolution_plan_v2/05_integrated_workflow_review/in_season_integrated_workflow.md
+docs/baseballhelm_revolution_plan_v2/05_integrated_workflow_review/two_way_player_workflow.md
+docs/baseballhelm_revolution_plan_v2/05_integrated_workflow_review/game_week_integrated_workflow.md
+docs/baseballhelm_revolution_plan_v2/05_integrated_workflow_review/pitching_coach_workflow.md
+docs/baseballhelm_revolution_plan_v2/05_integrated_workflow_review/import_to_insight_workflow.md
+docs/baseballhelm_revolution_plan_v2/05_integrated_workflow_review/hitting_coach_workflow.md
+docs/baseballhelm_revolution_plan_v2/05_integrated_workflow_review/coach_daily_workflow.md
+docs/baseballhelm_revolution_plan_v2/05_integrated_workflow_review/coachhelm_ai_to_action_loop.md
+docs/baseballhelm_revolution_plan_v2/05_integrated_workflow_review/fall_ball_integrated_workflow.md
+docs/baseballhelm_revolution_plan_v2/05_integrated_workflow_review/director_of_ops_workflow.md
+docs/baseballhelm_revolution_plan_v2/05_integrated_workflow_review/practice_to_development_loop.md
+docs/baseballhelm_revolution_plan_v2/08_data_model_v2/development_data_model_v2.md
+docs/baseballhelm_revolution_plan_v2/08_data_model_v2/stats_data_model_v2.md
+docs/baseballhelm_revolution_plan_v2/08_data_model_v2/recruiting_model_v2.md
+docs/baseballhelm_revolution_plan_v2/08_data_model_v2/migration_sequence_v2.md
+docs/baseballhelm_revolution_plan_v2/08_data_model_v2/lifting_data_model_v2.md
+docs/baseballhelm_revolution_plan_v2/08_data_model_v2/ai_insights_model_v2.md
+docs/baseballhelm_revolution_plan_v2/08_data_model_v2/entity_relationship_v2.md
+docs/baseballhelm_revolution_plan_v2/08_data_model_v2/canonical_player_identity_model.md
+docs/baseballhelm_revolution_plan_v2/08_data_model_v2/team_org_membership_model.md
+docs/baseballhelm_revolution_plan_v2/08_data_model_v2/audit_log_model_v2.md
+docs/baseballhelm_revolution_plan_v2/08_data_model_v2/event_task_acknowledgement_model.md
+docs/baseballhelm_revolution_plan_v2/08_data_model_v2/tables_to_modify.md
+docs/baseballhelm_revolution_plan_v2/08_data_model_v2/wellness_availability_model_v2.md
+docs/baseballhelm_revolution_plan_v2/08_data_model_v2/practice_data_model_v2.md
+docs/baseballhelm_revolution_plan_v2/08_data_model_v2/new_tables_required.md
+docs/baseballhelm_revolution_plan_v2/08_data_model_v2/academics_model_v2.md
+docs/baseballhelm_revolution_plan_v2/08_data_model_v2/tables_to_avoid.md
+docs/baseballhelm_revolution_plan_v2/08_data_model_v2/import_model_v2.md
+docs/baseballhelm_revolution_plan_v2/08_data_model_v2/tables_to_keep_from_current_repo.md
+docs/baseballhelm_revolution_plan_v2/08_data_model_v2/tables_to_defer.md
+docs/baseballhelm_revolution_plan_v2/08_data_model_v2/travel_model_v2.md
+docs/baseballhelm_revolution_plan_v2/08_data_model_v2/data_model_v2_overview.md
+docs/baseballhelm_revolution_plan_v2/25_premium_ui_coachhelm_v10/v10_premium_ui_system_by_tab.md
+docs/baseballhelm_revolution_plan_v2/25_premium_ui_coachhelm_v10/v10_repo_grounding_and_golfhelm_translation.md
+docs/baseballhelm_revolution_plan_v2/25_premium_ui_coachhelm_v10/v10_baseball_stat_visual_contracts.md
+docs/baseballhelm_revolution_plan_v2/25_premium_ui_coachhelm_v10/README.md
+docs/baseballhelm_revolution_plan_v2/25_premium_ui_coachhelm_v10/v10_advanced_coachhelm_engine_and_integrations.md
+docs/baseballhelm_revolution_plan_v2/25_premium_ui_coachhelm_v10/v10_claude_prompt_delta_and_scope_corrections.md
+docs/baseballhelm_revolution_plan_v2/17_market_driven_feature_upgrade_v3/source_log_2026_market_pass.md
+docs/baseballhelm_revolution_plan_v2/17_market_driven_feature_upgrade_v3/market_research_feature_takeaways_2026.md
+docs/baseballhelm_revolution_plan_v2/17_market_driven_feature_upgrade_v3/README.md
+docs/baseballhelm_revolution_plan_v2/17_market_driven_feature_upgrade_v3/next_level_feature_systems.md
+docs/baseballhelm_revolution_plan_v2/17_market_driven_feature_upgrade_v3/market_backed_build_import_ignore_matrix.md
+docs/baseballhelm_revolution_plan_v2/17_market_driven_feature_upgrade_v3/one_shot_market_backed_product_spec.md
+docs/baseballhelm_revolution_plan_v2/17_market_driven_feature_upgrade_v3/anti_slop_quality_rubric.md
+docs/baseballhelm_revolution_plan_v2/20_stats_integrations_coachhelm_deep_dive_v6/v6_elite_baseball_stat_universe.md
+docs/baseballhelm_revolution_plan_v2/20_stats_integrations_coachhelm_deep_dive_v6/v6_current_app_supabase_deep_dive.md
+docs/baseballhelm_revolution_plan_v2/20_stats_integrations_coachhelm_deep_dive_v6/v6_market_research_source_log.md
+docs/baseballhelm_revolution_plan_v2/20_stats_integrations_coachhelm_deep_dive_v6/README.md
+docs/baseballhelm_revolution_plan_v2/20_stats_integrations_coachhelm_deep_dive_v6/v6_agent_efficiency_map.md
+docs/baseballhelm_revolution_plan_v2/20_stats_integrations_coachhelm_deep_dive_v6/v6_stats_data_model_and_import_contract.md
+docs/baseballhelm_revolution_plan_v2/20_stats_integrations_coachhelm_deep_dive_v6/v6_video_classes_automation_system.md
+docs/baseballhelm_revolution_plan_v2/20_stats_integrations_coachhelm_deep_dive_v6/v6_vendor_integration_matrix.md
+docs/baseballhelm_revolution_plan_v2/20_stats_integrations_coachhelm_deep_dive_v6/v6_baseball_coachhelm_engine.md
+docs/baseballhelm_revolution_plan_v2/14_sales_demo_and_adoption_v2/coach_sales_demo_flow.md
+docs/baseballhelm_revolution_plan_v2/14_sales_demo_and_adoption_v2/coach_objection_handling.md
+docs/baseballhelm_revolution_plan_v2/14_sales_demo_and_adoption_v2/wow_moment_checklist.md
+docs/baseballhelm_revolution_plan_v2/14_sales_demo_and_adoption_v2/demo_storyboard_v2.md
+docs/baseballhelm_revolution_plan_v2/14_sales_demo_and_adoption_v2/why_not_spreadsheets_answer.md
+docs/baseballhelm_revolution_plan_v2/14_sales_demo_and_adoption_v2/why_not_driveline_traq_answer.md
+docs/baseballhelm_revolution_plan_v2/14_sales_demo_and_adoption_v2/why_not_gamechanger_answer.md
+docs/baseballhelm_revolution_plan_v2/14_sales_demo_and_adoption_v2/director_of_ops_demo_flow.md
+docs/baseballhelm_revolution_plan_v2/14_sales_demo_and_adoption_v2/sample_demo_team_data.md
+docs/baseballhelm_revolution_plan_v2/14_sales_demo_and_adoption_v2/player_demo_flow.md
+docs/baseballhelm_revolution_plan_v2/14_sales_demo_and_adoption_v2/first_7_days_after_signup.md
+docs/baseballhelm_revolution_plan_v2/14_sales_demo_and_adoption_v2/strength_coach_demo_flow.md
+docs/baseballhelm_revolution_plan_v2/14_sales_demo_and_adoption_v2/onboarding_flow_for_new_program.md
+docs/baseballhelm_revolution_plan_v2/14_sales_demo_and_adoption_v2/why_not_teamworks_answer.md
+docs/baseballhelm_revolution_plan_v2/14_sales_demo_and_adoption_v2/why_not_teambuildr_answer.md
+docs/baseballhelm_revolution_plan_v2/10_coachhelm_ai_v2/example_ai_outputs_v2.md
+docs/baseballhelm_revolution_plan_v2/PRODUCT_SUMMARY_AND_SALES_NARRATIVE.md
+docs/baseballhelm_revolution_plan_v2/MANIFEST_V2.md
+docs/baseballhelm_revolution_plan_v2/source_bibliography_v2.md
+docs/baseballhelm_revolution_plan_v2/21_visuals_and_pitch_assets/visual_product_overview.md
+docs/baseballhelm_revolution_plan_v2/21_visuals_and_pitch_assets/README.md
+docs/baseballhelm_revolution_plan_v2/21_visuals_and_pitch_assets/assets/coach_command_center_mock.svg
+docs/baseballhelm_revolution_plan_v2/21_visuals_and_pitch_assets/assets/coachhelm_engine_map.svg
+docs/baseballhelm_revolution_plan_v2/21_visuals_and_pitch_assets/assets/source_to_action_loop.svg
+docs/baseballhelm_revolution_plan_v2/21_visuals_and_pitch_assets/assets/import_dossier_flow.svg
+docs/baseballhelm_revolution_plan_v2/21_visuals_and_pitch_assets/assets/baseballhelm_program_os_map.svg
+docs/baseballhelm_revolution_plan_v2/21_visuals_and_pitch_assets/visual_gallery.html
+docs/baseballhelm_revolution_plan_v2/is_everything_in_place_checklist.md
+docs/baseballhelm_revolution_plan_v2/02_repo_crosscheck/what_the_next_build_agent_must_verify.md
+docs/baseballhelm_revolution_plan_v2/02_repo_crosscheck/migration_risks.md
+docs/baseballhelm_revolution_plan_v2/02_repo_crosscheck/current_database_conflicts.md
+docs/baseballhelm_revolution_plan_v2/02_repo_crosscheck/existing_technical_debt_impacting_plan.md
+docs/baseballhelm_revolution_plan_v2/02_repo_crosscheck/current_code_conflicts.md
+docs/baseballhelm_revolution_plan_v2/02_repo_crosscheck/current_components_reuse_opportunities.md
+docs/baseballhelm_revolution_plan_v2/02_repo_crosscheck/current_routes_vs_future_tabs.md
+docs/baseballhelm_revolution_plan_v2/02_repo_crosscheck/repo_vs_plan_alignment.md
+docs/baseballhelm_revolution_plan_v2/feature_prioritization_framework_v2.md
+docs/baseballhelm_revolution_plan_v2/04_revolutionary_product_strategy/v2_product_positioning.md
+docs/baseballhelm_revolution_plan_v2/04_revolutionary_product_strategy/what_baseballhelm_should_not_try_to_be.md
+docs/baseballhelm_revolution_plan_v2/04_revolutionary_product_strategy/pricing_value_logic.md
+docs/baseballhelm_revolution_plan_v2/04_revolutionary_product_strategy/staff_adoption_strategy.md
+docs/baseballhelm_revolution_plan_v2/04_revolutionary_product_strategy/small_college_vs_power_program_strategy.md
+docs/baseballhelm_revolution_plan_v2/04_revolutionary_product_strategy/market_category_creation.md
+docs/baseballhelm_revolution_plan_v2/04_revolutionary_product_strategy/daily_usage_loops.md
+docs/baseballhelm_revolution_plan_v2/04_revolutionary_product_strategy/coach_adoption_strategy.md
+docs/baseballhelm_revolution_plan_v2/04_revolutionary_product_strategy/retention_hooks.md
+docs/baseballhelm_revolution_plan_v2/04_revolutionary_product_strategy/why_baseballhelm_wins.md
+docs/baseballhelm_revolution_plan_v2/04_revolutionary_product_strategy/wedge_product_strategy.md
+docs/baseballhelm_revolution_plan_v2/04_revolutionary_product_strategy/demo_wow_moments.md
+docs/baseballhelm_revolution_plan_v2/04_revolutionary_product_strategy/player_adoption_strategy.md
+docs/baseballhelm_revolution_plan_v2/16_detail_expansion_v2/v2_data_contracts_expanded.md
+docs/baseballhelm_revolution_plan_v2/16_detail_expansion_v2/v2_role_permission_matrix.md
+docs/baseballhelm_revolution_plan_v2/16_detail_expansion_v2/v2_import_template_field_dictionary.md
+docs/baseballhelm_revolution_plan_v2/16_detail_expansion_v2/v2_demo_seed_scenario.md
+docs/baseballhelm_revolution_plan_v2/16_detail_expansion_v2/v2_screen_acceptance_specs.md
+docs/baseballhelm_revolution_plan_v2/16_detail_expansion_v2/v2_feature_detail_matrix.md
+docs/baseballhelm_revolution_plan_v2/19_breakthrough_product_systems_v5/v5_practice_development_operating_engine.md
+docs/baseballhelm_revolution_plan_v2/19_breakthrough_product_systems_v5/v5_ai_automation_and_decision_engine.md
+docs/baseballhelm_revolution_plan_v2/19_breakthrough_product_systems_v5/README.md
+docs/baseballhelm_revolution_plan_v2/19_breakthrough_product_systems_v5/v5_competitive_system_blueprints.md
+docs/baseballhelm_revolution_plan_v2/19_breakthrough_product_systems_v5/v5_performance_lifting_breakthrough_system.md
+docs/baseballhelm_revolution_plan_v2/19_breakthrough_product_systems_v5/v5_premium_interaction_design_spec.md
+docs/baseballhelm_revolution_plan_v2/19_breakthrough_product_systems_v5/v5_claude_ultracode_delta_prompt.md
+docs/baseballhelm_revolution_plan_v2/19_breakthrough_product_systems_v5/v5_player_passport_and_recruiting_showcase_system.md
+docs/baseballhelm_revolution_plan_v2/19_breakthrough_product_systems_v5/v5_breakthrough_manifesto.md
+docs/BASEBALL_RLS_SECURITY_AUDIT.md
+docs/plans/2026-02-21-baseball-onboarding-dashboard-routing.md
+docs/plans/2026-02-21-baseball-onboarding-dashboard-routing-design.md
+docs/plans/2026-02-22-review-fixes-design.md
+docs/audits/DATA_INTEGRITY_AUDIT.md
+docs/audits/_premium_scrub_2026-06-21/FINDINGS.csv
+docs/audits/_premium_scrub_2026-06-21/FINDINGS_CALIBRATED.csv
+docs/audits/RLS_AUDIT_REPORT.md
+docs/audits/BASEBALLHELM_ENHANCEMENT_PLAN_2026-06-25.md
+docs/audits/CALENDAR_SYSTEM_AUDIT_REPORT.md
+docs/audits/_e2e_tab_audit_2026-06-20/docs-travel.md
+docs/audits/_e2e_tab_audit_2026-06-20/settings-core.md
+docs/audits/_e2e_tab_audit_2026-06-20/onboarding.md
+docs/audits/COMPREHENSIVE_AUTH_AUDIT.md
+docs/audits/BASEBALLHELM_MIGRATION_APPLY_PLAN.md
+docs/audits/coachhelm-insight-engine-audit-2026-06-05.findings.json
+docs/audits/BACKGROUND_SYSTEM_AUDIT.md
+docs/audits/RLS_SECURITY_AUDIT.md
+docs/audits/AUTH_GAPS_AUDIT_REPORT.md
+docs/audits/BASEBALLHELM_CANONICAL_SPEC.md
+docs/audits/BASEBALLHELM_WF2_CONFORM_REPORT.md
+docs/audits/BASEBALLHELM_DEPLOY_RUNBOOK.md
+docs/audits/BASEBALLHELM_PRODUCTION_VERDICT.md
+docs/audits/COACH_DASHBOARD_AUDIT_REPORT.md
+docs/audits/BASEBALLHELM_WF1_BUILD_COMPLETE.md
+docs/audits/DATABASE_RLS_AUDIT_REPORT.md
+docs/audits/BASEBALLHELM_LIFTLAB_GAP_MAP_2026-06-25.md
+docs/audits/BASEBALLHELM_UIUX_VERIFICATION.md
+docs/audits/AUTH_AUDIT_SUMMARY.md
+docs/audits/AUTH_SYSTEM_AUDIT.md
+docs/audits/AUTHENTICATION_SYSTEM_AUDIT.md
+docs/audits/GOLFHELM_E2E_FULL_FINDINGS_2026-06-20.md
+docs/audits/GOLFHELM_CALENDAR_AUDIT_2026-06-10.md
+docs/audits/GOLFHELM_VIBECODED_AUDIT_2026-06-14.md
+docs/audits/BASEBALLHELM_STALE_SURFACE_AUDIT_2026-06-25.md
+docs/RECON_REPORT.md
+docs/features/CALENDAR_COMPREHENSIVE_IMPLEMENTATION_PLAN.md
+docs/features/PHASE_3_PLAYER_CORE.md
+docs/features/PHASE_2_HS_COACH.md
+docs/features/PHASE_1_COLLEGE_COACH.md
+docs/features/FEATURE_CHECKLIST.md
+docs/features/PHASE_4_PLAYER_RECRUITING.md
+docs/features/BATCH_3_INTEGRATION_GUIDE.md
+docs/setup/OAUTH_SETUP_CHECKLIST.md
+docs/setup/OAUTH_SECURITY_GUIDE.md
+docs/DATABASE_FIXES.md
+docs/UI_POLISH_REPORT.md
+docs/operations/2026-05-28-token-unification.md
+docs/operations/2026-05-27-pr-105-split-plan.md
+docs/operations/2026-05-28-coderabbit-fails-investigation.md
+docs/operations/2026-05-27-baseball-tables-scope.md
+docs/operations/2026-05-27-v3-production-readiness.md
+docs/v3-player-transfer-playbook.md
+docs/audit-ui-premium-2026-02-22.md
+docs/redesign/marketing-overhaul-2026-06-18/research/01_features_and_assets.md
+docs/redesign/marketing-overhaul-2026-06-18/research/00_DESIGN_BRIEF.md
+docs/redesign/marketing-overhaul-2026-06-18/mockups/about-2-mission-team.html
+docs/redesign/marketing-overhaul-2026-06-18/mockups/about-clubhouse.html
+docs/redesign/marketing-overhaul-2026-06-18/mockups/about-1-founder-flip.html
+docs/redesign/marketing-overhaul-2026-06-18/mockups/about-3-timeline-editorial.html
+docs/redesign/marketing-overhaul-2026-06-18/concepts/about-1-founder-flip.md
+docs/redesign/marketing-overhaul-2026-06-18/concepts/about-3-timeline-editorial.md
+docs/redesign/marketing-overhaul-2026-06-18/concepts/about-2-mission-team.md
+docs/audit-college-coach-2026-02-22.md
+docs/architecture/COMPREHENSIVE_AUTH_SYSTEM_PLAN.md
+docs/architecture/PLATFORM_ARCHITECTURE.md
+docs/architecture/USER_ROLE_DATA_OWNERSHIP.md
+docs/architecture/SCHEMA.md
+docs/architecture/ROUTE_INVENTORY.md
+docs/architecture/ROUTING_FLOW_VERIFICATION.md
+docs/COACHHELM_STATE_2026-05-26.md
+docs/guides/UI_IMPROVEMENTS_CURSOR_PROMPT.md
+docs/PUSH_NOTIFICATION_AUDIT.md
+docs/FEATURE_AUDIT.md
+docs/HELM_DATABASE_VERCEL_COACHHELM_DEEP_DIVE_2026-05-27.md
+docs/baseballhelm-finish-runbook.md
+docs/audit-errors-flows-2026-02-22.md
+docs/lifting-lab/HELM_LIFTING_LAB_BLUEPRINT.md
+docs/ERROR_HANDLING_FIXES.md
+docs/COMMAND_CENTER_HOOKS.md
+docs/architectural-review-golfhelm-2026-02-22.md
+docs/BASEBALL_DASHBOARD_AUDIT_REPORT.md
+docs/performance/DATABASE_PERFORMANCE_REPORT.md
+docs/perf-analysis-dashboard-timeouts-2026-03-09.md
+docs/superpowers/plans/2026-03-15-baseball-archive-recruiting.md
+docs/superpowers/plans/2026-04-21-coachhelm-fix/PHASE-4-CLEANUP-DONE.md
+docs/superpowers/plans/2026-04-21-coachhelm-fix/TEAM-A-DONE.md
+docs/superpowers/plans/2026-04-21-coachhelm-fix/PHASE-3-DONE.md
+docs/superpowers/plans/2026-04-21-coachhelm-fix/TEAM-F-PHASE1-DONE.md
+docs/superpowers/plans/2026-04-21-coachhelm-fix/06-team-f-build-observability.md
+docs/superpowers/plans/2026-04-21-coachhelm-fix/01-team-a-database-foundation.md
+docs/superpowers/plans/2026-04-21-coachhelm-fix/typecheck-baseline.txt
+docs/superpowers/plans/2026-04-21-coachhelm-fix/00-orchestration.md
+docs/superpowers/specs/2026-03-14-ui-audit-completion-plan.md
+docs/SECURITY_AUDIT.md
+docs/code-quality-review-2026-02-22.md
+docs/OVERNIGHT_BUILD_REPORT.md
+docs/PRIVACY_AUDIT.md
+docs/CODEBASE_MAP.md
diff --git a/.cleanup/reports/baseline-build.txt b/.cleanup/reports/baseline-build.txt
new file mode 100644
index 000000000..c42b7990d
--- /dev/null
+++ b/.cleanup/reports/baseline-build.txt
@@ -0,0 +1,304 @@
+
+> helmv3@1.0.0 prebuild
+> node scripts/check-required-env.mjs && node scripts/stamp-sw.mjs
+
+[check-required-env] OK
+[stamp-sw] Set CACHE_VERSION to golfhelm-va1da6406
+
+> helmv3@1.0.0 build
+> next build --webpack
+
+▲ Next.js 16.2.7 (webpack)
+- Environments: .env.production.local, .env.local, .env
+- Experiments (use with caution):
+ · clientTraceMetadata
+ · optimizePackageImports
+ · serverActions
+
+ Creating an optimized production build ...
+
+warn - The class `ease-[cubic-bezier(0.32,0.72,0,1)]` is ambiguous and matches multiple utilities.
+warn - If this is content and not a class, replace it with `ease-[cubic-bezier(0.32,0.72,0,1)]` to silence this warning.
+✓ Compiled successfully in 72s
+ Running TypeScript ...
+ Finished TypeScript in 44s ...
+ Collecting page data using 9 workers ...
+ Generating static pages using 9 workers (0/187) ...
+ Generating static pages using 9 workers (46/187)
+ Generating static pages using 9 workers (93/187)
+ Generating static pages using 9 workers (140/187)
+✓ Generating static pages using 9 workers (187/187) in 1239ms
+ Finalizing page optimization ...
+ Collecting build traces ...
+
+Route (app)
+┌ ○ /
+├ ○ /_not-found
+├ ○ /about
+├ ƒ /api/account/delete
+├ ƒ /api/admin/crm/send-email
+├ ƒ /api/admin/debug-rollup
+├ ƒ /api/admin/log-event
+├ ƒ /api/baseball/staff/context
+├ ƒ /api/calendar/coach/[token]
+├ ƒ /api/calendar/events
+├ ƒ /api/calendar/feeds/[token]
+├ ƒ /api/coachhelm/v3/chat/conversations
+├ ƒ /api/coachhelm/v3/chat/conversations/[id]
+├ ƒ /api/coachhelm/v3/chat/send
+├ ƒ /api/coachhelm/v3/genome/compute
+├ ƒ /api/crm/google-calendar/auth
+├ ƒ /api/crm/google-calendar/callback
+├ ƒ /api/crm/google-calendar/sync
+├ ƒ /api/crm/unsubscribe
+├ ƒ /api/cron/coach-morning-digest
+├ ƒ /api/cron/coachhelm-calibration
+├ ƒ /api/cron/coachhelm-insight-lifecycle
+├ ƒ /api/cron/coachhelm-roster-sweep
+├ ƒ /api/cron/coachhelm-safety-net
+├ ƒ /api/cron/coachhelm-validation
+├ ƒ /api/cron/event-reminders
+├ ƒ /api/cron/process-sequences
+├ ƒ /api/cron/refresh-engagement
+├ ƒ /api/cron/task-reminders
+├ ƒ /api/cron/v3/causality-attribute
+├ ƒ /api/cron/v3/genome-backfill
+├ ƒ /api/cron/v3/genome-nightly
+├ ƒ /api/cron/v3/goal-suggestions-evaluate
+├ ƒ /api/cron/v3/goal-suggestions-write
+├ ƒ /api/cron/v3/ingest-sync
+├ ƒ /api/cron/v3/standing-backfill
+├ ƒ /api/cron/v3/standing-refresh
+├ ƒ /api/cron/v3/weekly-coach-email
+├ ƒ /api/golf/auth/login
+├ ƒ /api/golf/players/[playerId]/putt-tendencies
+├ ƒ /api/golf/rounds/generate-review
+├ ƒ /api/golf/rounds/partial-save
+├ ƒ /api/health
+├ ƒ /api/inngest
+├ ƒ /api/log-error
+├ ƒ /api/push-subscriptions
+├ ƒ /api/webhooks/resend
+├ ƒ /api/webhooks/resend-inbound
+├ ƒ /auth/callback
+├ ƒ /baseball
+├ ○ /baseball/coach
+├ ○ /baseball/coach-onboarding
+├ ○ /baseball/coach/college
+├ ○ /baseball/coach/high-school
+├ ○ /baseball/coach/juco
+├ ○ /baseball/coach/showcase
+├ ƒ /baseball/complete-signup
+├ ƒ /baseball/dashboard
+├ ○ /baseball/dashboard/academics
+├ ○ /baseball/dashboard/activate
+├ ○ /baseball/dashboard/analytics
+├ ○ /baseball/dashboard/announcements
+├ ƒ /baseball/dashboard/calendar
+├ ○ /baseball/dashboard/camps
+├ ƒ /baseball/dashboard/camps/[id]
+├ ƒ /baseball/dashboard/college-interest
+├ ○ /baseball/dashboard/colleges
+├ ƒ /baseball/dashboard/command-center
+├ ○ /baseball/dashboard/compare
+├ ƒ /baseball/dashboard/comparisons
+├ ƒ /baseball/dashboard/decision-room
+├ ○ /baseball/dashboard/dev-plan
+├ ○ /baseball/dashboard/dev-plans
+├ ƒ /baseball/dashboard/dev-plans/[id]
+├ ○ /baseball/dashboard/discover
+├ ƒ /baseball/dashboard/documents
+├ ○ /baseball/dashboard/events
+├ ƒ /baseball/dashboard/import
+├ ○ /baseball/dashboard/journey
+├ ƒ /baseball/dashboard/lift
+├ ƒ /baseball/dashboard/lift/[sessionId]
+├ ○ /baseball/dashboard/messages
+├ ƒ /baseball/dashboard/messages/[id]
+├ ƒ /baseball/dashboard/my-stats
+├ ○ /baseball/dashboard/organization
+├ ƒ /baseball/dashboard/performance
+├ ƒ /baseball/dashboard/performance/builder
+├ ƒ /baseball/dashboard/performance/groups
+├ ƒ /baseball/dashboard/performance/live
+├ ƒ /baseball/dashboard/performance/players/[id]
+├ ƒ /baseball/dashboard/performance/programs
+├ ƒ /baseball/dashboard/performance/programs/[programId]
+├ ○ /baseball/dashboard/pipeline
+├ ƒ /baseball/dashboard/players/[id]
+├ ƒ /baseball/dashboard/players/[id]/passport
+├ ƒ /baseball/dashboard/players/[id]/profile
+├ ƒ /baseball/dashboard/players/[id]/scout-packet
+├ ƒ /baseball/dashboard/players/[id]/scout-packet/preview
+├ ƒ /baseball/dashboard/players/[id]/stats
+├ ƒ /baseball/dashboard/postgame
+├ ○ /baseball/dashboard/practice
+├ ƒ /baseball/dashboard/practice-effectiveness
+├ ○ /baseball/dashboard/profile
+├ ○ /baseball/dashboard/program
+├ ƒ /baseball/dashboard/readiness
+├ ○ /baseball/dashboard/roster
+├ ƒ /baseball/dashboard/scout-packets
+├ ○ /baseball/dashboard/settings
+├ ○ /baseball/dashboard/settings/ai
+├ ○ /baseball/dashboard/settings/appearance
+├ ƒ /baseball/dashboard/settings/audit
+├ ○ /baseball/dashboard/settings/data-retention
+├ ○ /baseball/dashboard/settings/demo-mode
+├ ○ /baseball/dashboard/settings/guardian-access
+├ ƒ /baseball/dashboard/settings/imports
+├ ƒ /baseball/dashboard/settings/integrations
+├ ○ /baseball/dashboard/settings/notifications
+├ ƒ /baseball/dashboard/settings/permissions
+├ ƒ /baseball/dashboard/settings/philosophy
+├ ○ /baseball/dashboard/settings/player-access
+├ ƒ /baseball/dashboard/settings/privacy
+├ ƒ /baseball/dashboard/settings/program
+├ ƒ /baseball/dashboard/settings/recruiting-preferences
+├ ƒ /baseball/dashboard/settings/roles
+├ ƒ /baseball/dashboard/settings/season
+├ ○ /baseball/dashboard/settings/showcase-profile
+├ ƒ /baseball/dashboard/settings/staff
+├ ƒ /baseball/dashboard/settings/teams
+├ ƒ /baseball/dashboard/signals
+├ ○ /baseball/dashboard/stats
+├ ƒ /baseball/dashboard/stats-center
+├ ƒ /baseball/dashboard/stats/games
+├ ƒ /baseball/dashboard/stats/games/[gameId]
+├ ƒ /baseball/dashboard/stats/games/new
+├ ƒ /baseball/dashboard/stats/season
+├ ƒ /baseball/dashboard/stats/upload
+├ ○ /baseball/dashboard/tasks
+├ ƒ /baseball/dashboard/team
+├ ○ /baseball/dashboard/team/high-school
+├ ○ /baseball/dashboard/teams
+├ ○ /baseball/dashboard/travel
+├ ƒ /baseball/dashboard/videos
+├ ƒ /baseball/dashboard/videos/[id]
+├ ƒ /baseball/dashboard/videos/[id]/edit
+├ ○ /baseball/dashboard/watchlist
+├ ○ /baseball/demo
+├ ○ /baseball/forgot-password
+├ ƒ /baseball/join/[code]
+├ ○ /baseball/login
+├ ƒ /baseball/packet/[token]
+├ ƒ /baseball/packet/[token]/csv
+├ ○ /baseball/player
+├ ƒ /baseball/player/[id]
+├ ○ /baseball/player/college
+├ ○ /baseball/player/high-school
+├ ○ /baseball/player/juco
+├ ƒ /baseball/player/passport
+├ ƒ /baseball/player/practice
+├ ○ /baseball/player/showcase
+├ ƒ /baseball/player/timeline
+├ ƒ /baseball/player/today
+├ ƒ /baseball/program/[id]
+├ ○ /baseball/reset-password
+├ ○ /baseball/signup
+├ ƒ /baseball/staff/join/[code]
+├ ƒ /baseball/team/[id]
+├ ○ /fairway-preview
+├ ƒ /golf
+├ ƒ /golf/admin
+├ ƒ /golf/admin/crm
+├ ƒ /golf/admin/crm/coach/[id]
+├ ƒ /golf/admin/demo-sessions
+├ ○ /golf/coach
+├ ƒ /golf/dashboard
+├ ƒ /golf/dashboard/alerts
+├ ƒ /golf/dashboard/analytics/coachhelm
+├ ƒ /golf/dashboard/announcements
+├ ƒ /golf/dashboard/calendar
+├ ƒ /golf/dashboard/classes
+├ ƒ /golf/dashboard/coachhelm
+├ ƒ /golf/dashboard/coachhelm/chat
+├ ƒ /golf/dashboard/coachhelm/genome/[playerId]
+├ ƒ /golf/dashboard/coachhelm/genome/compare
+├ ƒ /golf/dashboard/coachhelm/qualifying/[id]
+├ ƒ /golf/dashboard/courses
+├ ƒ /golf/dashboard/development
+├ ƒ /golf/dashboard/documents
+├ ƒ /golf/dashboard/hub
+├ ƒ /golf/dashboard/insights
+├ ƒ /golf/dashboard/intelligence
+├ ƒ /golf/dashboard/messages
+├ ƒ /golf/dashboard/my-development
+├ ƒ /golf/dashboard/my-game-profile
+├ ƒ /golf/dashboard/my-insights
+├ ƒ /golf/dashboard/my-qualifiers
+├ ƒ /golf/dashboard/my-standing
+├ ƒ /golf/dashboard/patterns
+├ ƒ /golf/dashboard/players/[playerId]
+├ ƒ /golf/dashboard/players/[playerId]/game
+├ ƒ /golf/dashboard/players/[playerId]/game/print
+├ ƒ /golf/dashboard/qualifiers
+├ ƒ /golf/dashboard/qualifiers/[id]
+├ ƒ /golf/dashboard/qualifiers/new
+├ ƒ /golf/dashboard/recruiting
+├ ƒ /golf/dashboard/roster
+├ ƒ /golf/dashboard/roster/[id]
+├ ƒ /golf/dashboard/rounds
+├ ƒ /golf/dashboard/rounds/[id]
+├ ƒ /golf/dashboard/rounds/[id]/review
+├ ƒ /golf/dashboard/rounds/continue/[id]
+├ ƒ /golf/dashboard/rounds/new
+├ ƒ /golf/dashboard/rounds/recover
+├ ƒ /golf/dashboard/settings
+├ ƒ /golf/dashboard/settings/coaching-intelligence
+├ ƒ /golf/dashboard/settings/notifications
+├ ƒ /golf/dashboard/stats
+├ ƒ /golf/dashboard/stats/team
+├ ƒ /golf/dashboard/tasks
+├ ƒ /golf/dashboard/team
+├ ƒ /golf/dashboard/team-hub
+├ ƒ /golf/dashboard/travel
+├ ƒ /golf/dashboard/whats-new
+├ ○ /golf/demo
+├ ○ /golf/forgot-password
+├ ○ /golf/join
+├ ƒ /golf/join/[code]
+├ ○ /golf/login
+├ ○ /golf/player
+├ ○ /golf/reset-password
+├ ○ /golf/signup
+├ ○ /golf/welcome
+├ ○ /help
+├ ○ /lifting/coach
+├ ƒ /lifting/dashboard
+├ ƒ /lifting/dashboard/athletes
+├ ƒ /lifting/dashboard/athletes/[athleteId]
+├ ƒ /lifting/dashboard/check-ins
+├ ƒ /lifting/dashboard/command
+├ ƒ /lifting/dashboard/exercises
+├ ƒ /lifting/dashboard/groups
+├ ƒ /lifting/dashboard/import
+├ ƒ /lifting/dashboard/lift
+├ ƒ /lifting/dashboard/lift/[sessionId]
+├ ƒ /lifting/dashboard/programs
+├ ƒ /lifting/dashboard/programs/[programId]
+├ ƒ /lifting/dashboard/readiness
+├ ƒ /lifting/dashboard/sessions
+├ ƒ /lifting/dashboard/sessions/live
+├ ƒ /lifting/dashboard/settings
+├ ƒ /lifting/dashboard/today
+├ ○ /lifting/forgot-password
+├ ƒ /lifting/join/[token]
+├ ○ /lifting/login
+├ ○ /lifting/reset-password
+├ ○ /lifting/signup
+├ ○ /privacy
+├ ○ /products
+├ ○ /sitemap.xml
+├ ○ /soreness-preview
+├ ○ /splash
+├ ○ /support
+├ ○ /terms
+└ ƒ /vizlab
+
+
+ƒ Proxy (Middleware)
+
+○ (Static) prerendered as static content
+ƒ (Dynamic) server-rendered on demand
+
diff --git a/.cleanup/reports/baseline-lint.txt b/.cleanup/reports/baseline-lint.txt
new file mode 100644
index 000000000..adcd6829c
--- /dev/null
+++ b/.cleanup/reports/baseline-lint.txt
@@ -0,0 +1,3403 @@
+
+> helmv3@1.0.0 lint
+> eslint "src/**/*.{ts,tsx}" --max-warnings 6000
+
+
+/Users/ricknini/Downloads/helmv3/src/app/about/page.tsx
+ 332:19 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+ 345:19 warning Replace "bg-white/10" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+
+/Users/ricknini/Downloads/helmv3/src/app/baseball/(auth)/complete-signup/CompleteSignupClient.tsx
+ 101:16 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+ 126:14 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+
+/Users/ricknini/Downloads/helmv3/src/app/baseball/(auth)/demo/page.tsx
+ 379:19 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+ 380:19 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+ 381:19 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+
+/Users/ricknini/Downloads/helmv3/src/app/baseball/(auth)/forgot-password/page.tsx
+ 204:21 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+ 233:19 warning Use from @/components/ui instead of a raw . (W0 token foundation — synthesis §5 rule #1) helm/no-raw-input
+ 243:21 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+ 274:29 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+ 275:29 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+ 276:29 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+
+/Users/ricknini/Downloads/helmv3/src/app/baseball/(auth)/login/page.tsx
+ 292:19 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+ 293:19 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+ 294:19 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+
+/Users/ricknini/Downloads/helmv3/src/app/baseball/(auth)/reset-password/page.tsx
+ 235:43 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+ 255:19 warning Use from @/components/ui instead of a raw . (W0 token foundation — synthesis §5 rule #1) helm/no-raw-input
+ 265:21 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+ 281:19 warning Use from @/components/ui instead of a raw . (W0 token foundation — synthesis §5 rule #1) helm/no-raw-input
+ 289:21 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+ 337:29 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+ 338:29 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+ 339:29 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+
+/Users/ricknini/Downloads/helmv3/src/app/baseball/(dashboard)/dashboard/analytics/loading.tsx
+ 17:14 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+ 28:16 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+ 45:16 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+
+/Users/ricknini/Downloads/helmv3/src/app/baseball/(dashboard)/dashboard/camps/[id]/page.tsx
+ 342:19 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+
+/Users/ricknini/Downloads/helmv3/src/app/baseball/(dashboard)/dashboard/camps/loading.tsx
+ 5:10 warning Replace "bg-white/70" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+
+/Users/ricknini/Downloads/helmv3/src/app/baseball/(dashboard)/dashboard/college-interest/loading.tsx
+ 11:13 warning Replace "bg-white/70" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+ 25:12 warning Replace "bg-white/70" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+
+/Users/ricknini/Downloads/helmv3/src/app/baseball/(dashboard)/dashboard/comparisons/loading.tsx
+ 19:15 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+
+/Users/ricknini/Downloads/helmv3/src/app/baseball/(dashboard)/dashboard/comparisons/page.tsx
+ 49:11 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+
+/Users/ricknini/Downloads/helmv3/src/app/baseball/(dashboard)/dashboard/dev-plan/loading.tsx
+ 41:15 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+
+/Users/ricknini/Downloads/helmv3/src/app/baseball/(dashboard)/dashboard/dev-plan/page.tsx
+ 83:7 warning Replace "bg-white/70" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+ 260:24 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+
+/Users/ricknini/Downloads/helmv3/src/app/baseball/(dashboard)/dashboard/dev-plans/[id]/page.tsx
+ 92:16 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+
+/Users/ricknini/Downloads/helmv3/src/app/baseball/(dashboard)/dashboard/dev-plans/loading.tsx
+ 21:15 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+
+/Users/ricknini/Downloads/helmv3/src/app/baseball/(dashboard)/dashboard/discover/page.tsx
+ 346:16 warning Replace "bg-white" with a canonical surface (bg-cream-50 for card-elevated, glass-standard for translucent panels, glass-subtle for filter rails, or a token-backed bg-surface-* utility). (W0 token foundation — synthesis §5) helm/no-arbitrary-bg-white
+ 446:13 warning Use