Merge S2 (a1): compliance + approval pack

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

# Conflicts:
#	BUILD-STATE.md
#	web/src/app/about/page.tsx
This commit is contained in:
Kev
2026-07-11 14:33:18 -04:00
15 changed files with 906 additions and 75 deletions
+31
View File
@@ -46,6 +46,37 @@ web build exit 0. Spec: `specs/feature-a1-s7-newsletter.md`. Runbook:
refuses to send.
- **Env for Coolify** (all four required, else graceful no-op):
`LISTMONK_URL`, `LISTMONK_USER`, `LISTMONK_TOKEN`, `LISTMONK_LIST_ID`.
## Session S2 (a1 board, 2026-07-11) — BUILT ✅ COMPLIANCE + APPROVAL PACK
Branch worktree off `day1/a1-board`. 2429 tests (206 suites), web build
exit 0 (`next build --webpack`). No backend routes touched.
- **/responsible-gambling REBUILT sincerely** — 21+, 1-800-GAMBLER
(1-800-426-2537) as the primary helpline, 17-state resource list,
warning signs, state self-exclusion guidance, links to the EXISTING
/settings Responsible Play + Danger Zone surfaces. Zero marketing
adjacency (no pricing/scan/upgrade links — a test enforces it).
- **/terms + /privacy redrafted** as honest approval-pack drafts (marked
DRAFT: JULY 2026). Entity details are placeholder tokens Kev must fill:
[ENTITY NAME], [STATE OF FORMATION], [ARBITRATION VENUE],
[CONTACT EMAIL]. Privacy sub-processors now match reality (Stripe,
Supabase, Resend, Sentry; PostHog described honestly — autocapture off,
banner is disclosure-only, NOT consent-gated).
- **/methodology NEW** (server component + metadata, footer COMPANY link,
OPEN_ROUTES): pipeline → engine → 11-step letter grades, refusals
(insufficient_data), VYNDR Originals (41), Ledger settle (locked at
grade time, box-score settle, CLV vs captured close, n≥20, public
revisions), why misses are public.
- **/about audited** to North Star framing: data intelligence platform,
THE PROOF card (Ledger + n≥20 + refusals + methodology link). Kept the
"give it back" h1 (Phase-E test) + Wordmark (QA.5).
- **Footer**: helpline updated 1-800-522-4700 → 1-800-GAMBLER; Methodology
link added. Compliance audit: footer is global in the root layout, no
nested layout or CSS suppresses it on any page — zero pages missing it.
- **content/articles/** — 5 Ghost-ready seed drafts (front matter, VOICE
v1.1, zero exclamation points, test-enforced) + docs/GHOST-PUBLISHING.md
manual runbook (no Ghost credentials used; nothing auto-posts).
- Tests: tests/unit/compliancePages.test.js (31 assertions, source-text
style).
## Current Phase
SHIP BUILD v59.0 — Overnight session: ledger team/opponent addendum,