Skip to content

v1.1.0 — Engine Page, Families Redesign & June 2026 Data

Latest

Choose a tag to compare

@coeusyk coeusyk released this 11 Jun 14:01
· 1 commit to main since this release
1af16b9

OpenCast v1.1.0

New: Engine Page

A dedicated Engine Signals page analysing Stockfish evaluation vs. human
performance across 73 openings.

  • Human vs Engine Win Probability — horizontal diverging bar chart
    (pure CSS, zero-dependency) showing delta between human win rate and
    Stockfish depth-20 prediction, sorted by absolute delta. Teal = human
    outperforms, pink = engine outperforms. Inline ±pp value labels.
  • Greatest Engine–Human Gaps — side-by-side Top 20 tables for each
    direction. Clicking any row navigates to the opening detail page.
  • Move Lines Driving Trends — sortable table of individual move
    continuations with the largest 12-month shift in win rate or popularity.
    ECO and opening name cells link to opening.html?eco={ECO}. SAN moves
    rendered as monospace chips.
  • Structural Break Events — Plotly scatter plot of regime change
    detections across ECO families (A–E), dot size scaled by absolute
    centipawn evaluation. Filtered to p < 0.01 (Chow test) and one
    breakpoint per opening (most significant only) to prevent false-positive
    flooding. Restyled for OpenCast dark theme.

Updated: Families Page

  • Replaced flat table layout with a responsive card grid (3-col desktop,
    1-col mobile).
  • Each card surfaces: tier chips, average win rate, min–max range as inline
    subtitle, trend counts, engine gap chip with average delta, forecast
    confidence breakdown, regime change count, and top outlier link.
  • Card gradients and win-rate CSS bar chart aligned to actual data.
  • Added Show sparkline toggle per card — 12-month server-rendered
    Plotly line with dynamic Y-axis domain (30% padding above/below data
    range). Sparkline delta annotation added.
  • Added Compare Families panel — overlaid 24-month line chart with
    per-family toggle buttons.
  • Summary metrics bar: fourth tile Avg Engine Gap added.
  • AVG WIN RATE tile: range now shown as inline subtitle
    (min% – max%), replacing disconnected side column.

Dashboard Reliability (PR #51)

  • Families sparklines fixed: Plotly now loaded in page <head> to prevent
    render race on expand.
  • CSS win-rate bar chart values aligned with card actuals.
  • Dashboard thresholds (low-confidence floor, min games) driven from
    config.json instead of scattered hardcoded values.
  • latest_tracked_month field added to serialized data; move stats panel
    shows honest lag caption when move-line data trails actuals.

Pipeline: 48-Month Tracking Window

  • max_tracked_months=48 enforced across ingest, timeseries, CI fetch,
    and dashboard serialization via shared month_window helpers.
  • Prevents unbounded time-series growth as monthly data accumulates.
  • CI fetch step respects the window — older raw JSON files outside the
    48-month window are no longer fetched or staged.

Data

  • June 2026 Lichess data ingested via update.yml workflow run (2026-06-11).
  • Cron schedule adjusted to run on the 10th of each month to ensure
    Lichess indexes the previous month fully before fetch.
  • Forecasts, engine delta, and move-line trends updated for all 498 ECO
    codes through 2026-05.
  • Findings report regenerated (2026-06-11).

Infrastructure

  • .cursor/rules/web-audit.mdc added — eight-dimension dashboard review
    rubric enforcing hierarchy, semantics, accessibility, and state handling
    for inline HTML/CSS pages.
  • opencast-spec.yaml added at repo root — OpenAPI 3.1 component schemas
    for OpeningRecord, MoveLine, and FamilySummary. Schema-only
    contract; no server paths.