diff --git a/specs/STATE.md b/specs/STATE.md index f48f8ac..10c5992 100644 --- a/specs/STATE.md +++ b/specs/STATE.md @@ -1,18 +1,37 @@ # VYNDR — STATE OF THE WORLD ### As of `ec5ee3d` (main, 2026-07-12). This file opens every future session. Update it when a train ships. -## IN FLIGHT — DESIGN TRAIN v2 (branch `design/v2-train`, NOT on main yet) +## READY TO MERGE — DESIGN TRAIN v2 (branch `design/v2-train` @ `3d08390`, NOT on main yet) Governed by `specs/DESIGN-SPEC.md` v2 (the raised standard: entities render as -themselves, color contract, sub-200ms, screenshot-first billboards). Sessions: -- **DS0 Entity Layer — DONE** (`24af247`): `teamMeta.js` (real logos+colors for - 30 MLB / 30 NBA / 13 WNBA / 48 WC nations via ESPN CDNs), `TeamLogo` / - `PlayerAvatar` (team-colored monogram fallback, no gray silhouette) / - `BookWordmark`, swapped into GameCard/StatStrip/StreaksPanel/TeamHub. -- **DS1 speed+bugs · DS3 color contract · DS4 billboards** — building (Wave 1). -- **DS2 dashboard slate rebuild · DS5 pricing/motion/states** — Wave 2 (queued). +themselves, color contract, sub-200ms, screenshot-first billboards). **All six +sessions DS0–DS5 are DONE, merged onto `design/v2-train`, green +(238 suites / 2885 tests) + `next build` exit 0. Awaiting the founder's +"merge the train" before touching main.** +- **DS0 Entity Layer** (`24af247`): `teamMeta.js` (real logos+colors for 30 MLB / + 30 NBA / 13 WNBA / 48 WC nations via ESPN CDNs), `TeamLogo` / `PlayerAvatar` + (team-colored monogram fallback, no gray silhouette) / `BookWordmark`, swapped + into GameCard/StatStrip/StreaksPanel/TeamHub. +- **DS1 Speed + Trust Bugs** (`1c681df`): React #418 hydration fix (mounted-flag + guard), layout-matched `Skeleton`s replace text-wall loaders, scan→ledger + persistence via `session.access_token`. **DS1 follow-up** (`cf91c04`): closed + the sb-token trust-bug CLASS — `lib/authToken.js` `currentAccessToken()` reads + the REAL Supabase session (not the OAuth-only `sb-token` key) across + profile/slip/dashboard/settings/tracker. +- **DS3 Color Contract** (`49a3323`): `lib/colorContract.js` — green = one meaning + (edge/A-tier/CTA), edge/CLV by sign, glow A/A+ only, archetype greens deduped. + Enforced by `colorContract.test.js` (fails on violation). +- **DS4 Billboards** (`45bafbc`): STREAKS row (length as mono hero), grade reveal + (sign-colored edge), CLV reframe (flat says so), `/u` public profile + OG. +- **DS2 Dashboard Slate Rebuild** (`fe294a5`): never-empty hero (falls back to + yesterday's A-tier settled receipts), one bold hero per card, pending-filler + collapse, ranked tonight-grades. `slateAdapter.js` engine + 21 tests. +- **DS5 Pricing + Motion + States** (`a18a3f3`): Desk $44.99 as the hero tier + (single green CTA, `DeskShowcase`), ticker → punctuated stillness (≥4.2s hold, + one idle motion), unified `EmptyState` (404 grammar) at TeamHub/game/ledger, + archetype glyphs propagated to streaks/ledger. NOTE: WSL2↔Windows-Chrome localhost is unreachable in this env, so visual proof -is SSR-render + curl + tests, not pixel screenshots. Nothing pushed to main -without the founder's "merge the train". +is SSR-render + source-assertion tests, not pixel screenshots. Post-merge TODO: +re-run the Chrome design audit against v2 to confirm the 22 findings closed.