Validation: westside-contracts#37 (Data-Driven Contract Rendering)
Ticket
Contract page renders fees, tournaments, and schedule from data.config instead of hardcoded values.
Environment
Production:
https://westside-contracts.tail5b443a.ts.net (Tailscale funnel) + cloned repoChecks
| # | Criterion | How to Verify | Result | Evidence |
|---|---|---|---|---|
| 1 | Page uses data.config for rendering | <code>grep 'data.config' +page.svelte</code> | PASS | 5 references found: <code>data.config?.variant</code>, <code>data.config.monthly_fee</code>, <code>data.config.practices.length</code>, <code>data.config.tournaments.length</code>, <code>data.config.variant === 'boys-travel'</code> |
| 2 | Kiana's contract shows "$100" and "Mesa" | WebFetch <code>/contract/MH1tM9pPZLwx8U8hi5sE_tezdJz7pwqPzStxKAOCSJI</code> | PASS | Found: "Monthly program fee: $100 per month" and "Trip 2: Mesa, AZ" (May 28-31, 2026) |
| 3 | Kiana's contract does NOT contain boys-travel content | WebFetch same page, search for "Denver" and "Utah Girls Invitational" | PASS | Neither "Denver" nor "Utah Girls Invitational" found. Girls-travel variant renders correctly. |
| 4 | Signing works (player 187 contract_status='signed') | Previously verified in DB | PASS | Player 187 confirmed signed (pre-validated) |
Verdict
PASS — data-driven rendering confirmed in production. Girls-travel contract shows correct fees ($100), correct tournament (Mesa, AZ), and excludes boys-travel content (no Denver, no Utah Girls Invitational).
Discovered Issues
None.