Session H (night2): design pass — §2 locks + honest waiting sweep
- QA.20: one meaning per color, locked — STEAM amber (caution), VALUE green (edge), red only at STALE/miss; revisions render the original grade struck through on slate AND ledger. - QA.21: every new data surface (PriorReads, PlayerStreaks, ModelRecord) renders data in mono (tabular-nums via the .mono class). - QA.22: waiting copy derives from the real cron schedule on every surface (StatStrip, dashboard, Explore) — no passive mystery anywhere. - Explore empty state joined the honest-waiting lib. - Sweep result: no raw brand hexes and no sans-serif data in tonight's components (sans only on prose/captions/hero letter — sanctioned); glow confined to A-tier badges + reveal chrome; 390px containment holds (wrapping chips, scroll-contained tables from Phase 3 rules). Backend 2352 -> 2396 tests (205 suites), web build exit 0. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -9,6 +9,54 @@ work-order 1.6 closed (canonical player keys + slate join invariant),
|
||||
Phase 2 slate UX, Phase 3 mobile P0. DEPLOY GATE: Coolify by Sat 10 AM ET;
|
||||
first snapshot locks against freshly posted lines (manual internal trigger).
|
||||
|
||||
## Session 60 (night2/full-board, 2026-07-11) — BUILT ✅ THE WHOLE BOARD (awaiting "merge the train")
|
||||
|
||||
Branch `night2/full-board` off d10bb4c — ZERO pushes to main. 2352 →
|
||||
**2396 tests** (205 suites), web build exit 0. Sessions A–H all shipped:
|
||||
- **A** AUTONOMY.md + P0: SNAP_TTL 6h→24h (the 11h overnight cron gap
|
||||
expired the snapshot before the morning settle — accuracy loop silently
|
||||
settled nothing; the Postgres ledger settle was immune).
|
||||
- **B** Streaks engine RESURRECTED + fed: the snapshot pipeline now writes
|
||||
rosterlogs:{sport} from the stats it already fetches (producers were all
|
||||
external/unarmed — that's why panels never rendered). Form heat (hot
|
||||
hitters/sluggers/shooters, Σ/Σ rate math) + THE LENS (built-vs, tonight's
|
||||
matchup + opposing SP ERA, step-up/down, one-line read). LIVE acceptance:
|
||||
32 real rows (Turang 12-gm on-base, Reynolds 8-gm, Pratt 7-gm, Meidroth
|
||||
5-gm, Cortes 5-gm).
|
||||
- **C** Aggregator mounted: Explore = SEO server shell + hub (leaders +
|
||||
full streaks + hot lists); streaks FREE for all tiers (the picture is
|
||||
free); landing teaser fixed (pointed at off-season NBA → never showed);
|
||||
one stat selection filters props+streaks+hotlists; player-dossier
|
||||
ACTIVE STREAKS block (+?player= on /api/streaks).
|
||||
- **D** Phase 2.5: 20-min odds-only refresh in slate hours (skips snapshot
|
||||
slots, INTRADAY_REFRESH=0 kill switch, POST /api/internal/refresh/all).
|
||||
STEAM ▲ (with, no re-grade) / VALUE ▲ (against ≥1.0, re-grade holds) /
|
||||
PUBLIC revision (grade drops → revised_from_grade, strikethrough).
|
||||
Refresh-fidelity closing capture; ticker MOVEs at refresh frequency.
|
||||
Quota: ≤144 PropLine calls/day vs 9,000 free capacity. Post-deploy: set
|
||||
SNAPSHOT_EXPECTED_INTERVAL=1200 and SYNC goes live.
|
||||
- **E** Phase 4: /api/players/search built (didn't exist — the Ohtani bug);
|
||||
nameKey fuzzy match live-verified vs the real 1,299-player list.
|
||||
§7 reveal (steps → DECLASSIFIED stamp → 90ms staggered panels,
|
||||
reduced-motion safe). PRIOR READS chips. Parlay: shared statLabel,
|
||||
1-leg provisional grade, Nav entry via window.__openParlay.
|
||||
- **F** Phase 5: archetype definition line on-page; VYNDR-on-team
|
||||
(ModelRecord team scope); WNBA minutes-usage; Settings meter from the
|
||||
LIVE limiter (3/day free, 15/day analyst, ∞ desk); per-tier calibration
|
||||
chips (n≥20 PER TIER).
|
||||
- **G** Phase 6: landing first-paint root cause KILLED (page blocked its
|
||||
render on Supabase auth init for anonymous visitors; now a sync
|
||||
localStorage gate — anon paints instantly). Proof Strip: A-tier-gated
|
||||
header, "TONIGHT'S BOARD" fallback, yesterday's settled reads with
|
||||
outcome chips when ungraded. /api/content/top-signals + /streak-watch
|
||||
(zero-grade format) + /daily-report (self-flags do_not_post until n≥20).
|
||||
Per-player OG images (Node runtime) + player metadata.
|
||||
- **H** Design pass: QA.20–22 locks (STEAM amber/VALUE green/STALE-only
|
||||
red, revisions struck through, new data surfaces mono, honest waiting
|
||||
copy everywhere).
|
||||
|
||||
### The word: "merge the train" → main fast-forwards → Coolify ships board #2.
|
||||
|
||||
## Session 59 (2026-07-10 overnight) — SHIPPED ✅ ADDENDUM + 1.6 + PHASE 2 + PHASE 3
|
||||
|
||||
Backend 2327 → **2352 tests** (+25), 202 suites. Web build clean (exit 0).
|
||||
|
||||
Reference in New Issue
Block a user