From b1138eac5e57ca1997c98b5fe318cf6219342b5d Mon Sep 17 00:00:00 2001 From: Kev Date: Thu, 16 Jul 2026 10:13:04 -0400 Subject: [PATCH] =?UTF-8?q?STATE.md:=20design=20completion=20train=20start?= =?UTF-8?q?ed=20=E2=80=94=20mockup=20imported=20+=20M1a=20shipped?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- specs/STATE.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/specs/STATE.md b/specs/STATE.md index d39a9f2..9c26d4c 100644 --- a/specs/STATE.md +++ b/specs/STATE.md @@ -1,5 +1,11 @@ # VYNDR — STATE OF THE WORLD -### As of `2d413cf` (main, deployed live), 2026-07-15. This file opens every future session. Update it when a train ships. +### As of `a10227e` (main, deployed live), 2026-07-16. This file opens every future session. Update it when a train ships. + +## IN PROGRESS — DESIGN COMPLETION TRAIN (mobile-first, all widths) — started 2026-07-16 +Goal: the live product matches the mockup at EVERY width; MOBILE (390px) is the never-verified hole and where users actually are. Waves M1 (mobile foundation) → M2 (mobile billboards) → M3 (desktop parity gaps) → M4 (test-lock). **HONESTY: I cannot see rendered output (WSL2↔Chrome unreachable) — everything is "built to spec, VISUALLY UNVERIFIED at 390px"; a true-390px Chrome audit is the eyes. Keep the running UNVERIFIED LIST.** +- **Authoritative mockup imported** (`a10227e`): `specs/design-reference/vyndr-system.html` overwritten with the CURRENT claude.ai/design version (12 surfaces: Hero/Component/Streaks/Live-grade-shift/Combat/Pitcher/Correlation/Archetype/Share/u-profile/footer + FREE|PRO pricing + TRANSMISSION QUIET). It is DESKTOP-ONLY (no media queries) → the 390px expression is a design decision, not a shrink. Palette maps to existing tokens (green #00D4A0, miss #FF4757, amber #FFB347, muted #707080). Governing: `specs/DESIGN-SPEC.md` v2. +- **M1a mobile foundation SHIPPED + fingerprint-verified** (`a10227e`): header-zone collapse (decorative EKG hidden <768px → heartbeat = ONE status line; the concrete audit finding), `.vbtn` 44px touch target (dense `small` buttons opt out), `.m-hero` mono-hero clamp; M4 test-lock in `vyndrParityQA`. Fingerprint: `.hb-ekg`/`.heartbeat-bar` in the served landing HTML + compiled CSS bundle. +- **NEXT:** M1b per-surface 390px stacking (landing/dashboard/slate cards/streaks/scan+grade/ledger/player/team/explore/pricing/u/parlay/news-futures/empty) · M2 billboards (Settle/grade-reveal/STREAKS/u+OG/player-OG at mobile) · M3 desktop parity (entity layer into HOT RIGHT NOW + scan dropdown; confirm real team LOGOS render; book wordmarks on ledger; grade-card player identity; combat/pitcher/grade-shift/breadth/correlation/u vs mockup; kill any "$1M" copy) · M4 remaining locks (overflow@390, tap-targets, hero>label, one-animated-element). ## SHIPPED — HEARTBEAT + CADENCE + QUOTA-GUARD (2026-07-15, on main, deployed) Three ships, each green + deployed. Standing authority is now PERMANENT full autonomy (three-gate floor: tests green, web build exit 0, post-deploy fingerprint of NEW code).