Skip to content

feat(vibe-tests): add trends dashboard from nightly issue history - #4694

Open
ernestt wants to merge 1 commit into
mainfrom
feat/vibe-trends-dashboard
Open

feat(vibe-tests): add trends dashboard from nightly issue history#4694
ernestt wants to merge 1 commit into
mainfrom
feat/vibe-trends-dashboard

Conversation

@ernestt

@ernestt ernestt commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

What

Adds a Vibe Test Trends dashboard — a longitudinal view of the nightly vibe-test results that, until now, only existed as a stream of individual GitHub issues.

Each nightly run posts an issue labeled vibe-test with a scoreboard table, but there was no way to see the scores over time. This wires up the existing data into a tracker:

  • trends-collect.ts — reads every label:vibe-test issue via gh, parses the scoreboard across the handful of historical table layouts (transposed, dimension-major, split "Overall Scores" tables, and title-only fallbacks), excludes non-score issues (experiments, audits, failed runs), rescales old 0–10 rubric runs to 0–100, and writes a normalized trends.json.
  • trends-report.ts — injects that time series into a single self-contained HTML dashboard. No build step, no external chart deps (inline SVG).
  • Exposed via lns trends (collect + build in one shot) plus trends:collect / trends:report scripts.

Dashboard

  • KPI cards — latest overall per target + Astryx-≥-Baseline win rate
  • Overall score over time — toggleable multi-series line chart (Astryx / Astryx+TW / Baseline / HTML) with hover readouts
  • Astryx vs Baseline gap — signed bars + 7-run moving average
  • Per-dimension small multiples — Astryx vs Baseline across the five scored dimensions
  • Sortable run table — every run, winner highlighted, linking back to the source issue
  • 30d / 60d / all range toggle; light/dark theme

Data

Backfilled from the full issue history: 87 scored runs, 2026-02-22 → 2026-06-26 (23 non-score issues excluded automatically). Parsed overall scores were cross-checked against the numbers embedded in issue titles — zero mismatches.

How to run

pnpm -F @astryxdesign/lns trends          # refresh + build → trends-dashboard.html
pnpm -F @astryxdesign/lns trends:collect  # just refresh trends.json
pnpm -F @astryxdesign/lns trends:report   # just rebuild the dashboard

trends.json and trends-dashboard.html are generated artifacts (gitignored).

Testing

  • End-to-end collect → report pipeline verified against live GitHub issues (87 runs parsed)
  • eslint (strict/CI mode) and prettier clean on all new files; tsc --strict passes
  • Generated dashboard's inline script passes node --check

Collect nightly vibe-test results from GitHub issues (label:vibe-test) into
a normalized time series and render a self-contained HTML dashboard: overall
score trend, Astryx-vs-Baseline gap with a moving average, per-dimension small
multiples, and a sortable table linking back to each issue.

- trends-collect.ts parses scoreboards across historical table layouts,
  excludes non-score issues, and rescales old 0-10 runs to 0-100
- trends-report.ts injects the data into an inline-SVG dashboard (no deps)
- exposed via 'lns trends' plus trends:collect / trends:report scripts
@vercel

vercel Bot commented Aug 3, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
astryx Ready Ready Preview Aug 4, 2026 12:00am

Request Review

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Meta Open Source bot. label Aug 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Meta Open Source bot.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant