S6 (a1): display — the full picture under the grammar
- specs/ROW-GRAMMAR.md: the row grammar law (slot order, color law, mark
law, mobile stacking, no-truncation), locked by tests/unit/rowGrammar.
StatStrip violations fixed: MovementChip before the grade (market
context before model output); ViabilityChips after the archetype
(identity is one contiguous run).
- Line-movement sparklines: intradayRefreshService.trackHistory captures
real {t,line} points per grade (seeded with the lock, deduped when
flat, capped 24) inside the snapshot write-back; StatStrip.LineSparkline
renders at >=3 points (green toward / amber against / dim flat).
- Last-10 dot strips: services/last10Dots (streaksService accessors) ->
/api/snapshot/:sport attaches last10_dots from rosterlogs:{sport};
StatStrip.DotStrip renders vs the LOCKED line, newest first.
- CLV distribution: getModelAggregate emits clv_distribution (7 signed
buckets, outliers clamped) only past the centralized n>=20 gate;
ledger MODEL header renders the bar strip.
- Global search: SearchModal (cmd-K via GlobalHosts + window.__search),
players via /api/players/search per sport + static lib/teams.js
(soccer deliberately absent); Nav search icon + Search first in the
mobile More sheet. Explore tab untouched.
- Landing LCP: fade-up floored at opacity .6 (hero h1 contentful on
first frame, S33 visible-floor rule) + IBM Plex Mono preload:false
(4 decorative font files off the slow-4G critical path).
2654 -> 2698 tests (226 suites) green; web build exit 0.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -3,6 +3,35 @@
|
||||
## Last Updated
|
||||
2026-07-11
|
||||
|
||||
## Session S6 (a1 board, 2026-07-11) — Display: the full picture under the grammar ✅
|
||||
Spec/law: `specs/ROW-GRAMMAR.md` (locked by `tests/unit/rowGrammar.test.js`).
|
||||
2654 → **2698 tests** (226 suites), web build exit 0.
|
||||
- **ROW-GRAMMAR.md** — canonical prop-row slot order (identity → viability →
|
||||
stat+line → market context → model output → outcome → actions → provenance),
|
||||
color law (green=edge/best/positive, amber=caution/steam, red=settled-negative
|
||||
only, dim=absent), mark law, mobile stacking, no-truncation law. StatStrip
|
||||
violations FIXED: MovementChip moved before the grade (market before model);
|
||||
ViabilityChips moved after the archetype (identity is one contiguous run).
|
||||
- **Line-movement sparklines** — `intradayRefreshService.trackHistory` appends
|
||||
real {t, line} points per grade (seeded with the lock, deduped when flat,
|
||||
capped 24) inside the snapshot it already writes back. `StatStrip.LineSparkline`
|
||||
renders at ≥3 points (green toward / amber against / dim flat — never red).
|
||||
- **Last-10 dot strips** — `services/last10Dots` (streaksService accessors) →
|
||||
`/api/snapshot/:sport` attaches `last10_dots` from `rosterlogs:{sport}`;
|
||||
`StatStrip.DotStrip` renders ●/○ vs the LOCKED line, newest first.
|
||||
- **CLV distribution** — `getModelAggregate` emits `clv_distribution` (7 signed
|
||||
buckets, outliers clamped) ONLY past the n≥20 gate (null below — gate stays
|
||||
centralized). Ledger MODEL header renders the green/red/dim bar strip.
|
||||
- **Global search** — SearchModal (⌘K / Ctrl-K via GlobalHosts, `window.__search`),
|
||||
players per sport via /api/players/search + static `lib/teams.js` (30 MLB /
|
||||
30 NBA / 13 WNBA; soccer deliberately absent — no canonical registry). Nav
|
||||
search icon (mobile path) + Search first in the BottomTabBar More sheet.
|
||||
Explore tab untouched.
|
||||
- **Landing LCP** — `fade-up` floored at opacity .6 (hero h1 is contentful on
|
||||
first frame; also fixes the S33 visible-floor rule) + IBM Plex Mono
|
||||
`preload:false` (4 decorative font files off the slow-4G critical path).
|
||||
PageSpeed re-measure is a post-deploy runbook step (cannot run here).
|
||||
|
||||
## Session S9 (a1 board, 2026-07-11) — Slip Reader: zero-API OCR ✅
|
||||
Spec: `specs/a1-s9-slip-reader.md`. +34 tests (24 unit + 10 integration).
|
||||
- **slipReader service** — tesseract.js (self-hosted WASM, Apache-2.0, zero
|
||||
|
||||
Reference in New Issue
Block a user