Skip to content

Restore the validation chart provenance gate#91

Open
vahid-ahmadi wants to merge 1 commit into
mainfrom
fix-chart-provenance-gate
Open

Restore the validation chart provenance gate#91
vahid-ahmadi wants to merge 1 commit into
mainfrom
fix-chart-provenance-gate

Conversation

@vahid-ahmadi

Copy link
Copy Markdown
Contributor

The bug

validation/figures/make_charts.py --check has been failing on main since #89 — it expects 7 .vchart SVGs and the page has 10. The three charts #89 added (obr-computed-share, svar-skill-all, svar-winrate) were authored by hand, so nothing tied their numbers to a source.

Root cause: no workflow ever ran --check. The gate existed and was never enforced, so it stopped holding without anyone noticing. That is the more important half of this fix.

What

  • Builders for all three charts, reading from source:
    • svar-skill-all / svar-winratepapers/boe-svar/figures/rolling_evaluation.json (relative_rmse_vs_drift_by_variable and dm_pvalue_vs_drift_by_variable). The hand-authored values check out exactly: win counts 4,4,3,2,3,3,2,2 and significant wins 2,1,1,1,1,0,0,0.
    • obr-computed-share ← a new chart_data.json entry with per-value source pointers, matching how obr_reform and frbus_residuals are already handled (the scorecard lives in the OBR repo, so it is transcribed rather than read).
  • .github/workflows/site-provenance.yml runs --check on every PR and push.

No number changed

Verified by diffing every numeric label in all three charts against HEAD — identical. Remaining markup differences are sub-0.1px coordinate rounding and the aria-labelledby ids, which now follow the chart id (obr-cs-tobr-computed-share-t).

🤖 Generated with Claude Code

make_charts.py --check has been failing on main since #89: the page carries 10
.vchart SVGs and BUILDERS knew about 7. The three added charts — the OBR
computed-share breakdown and the two forecast-skill charts — were authored by
hand, so nothing tied their numbers to a source.

Root cause is that no workflow ever ran --check. The gate existed and was
never enforced, so it stopped holding without anyone noticing.

- Builders for all three, reading from source: the two skill charts from
  papers/boe-svar/figures/rolling_evaluation.json (relative RMSE vs the drift
  benchmark and its Diebold-Mariano p-values), the scorecard breakdown from a
  new transcribed chart_data.json entry with per-value source pointers, matching
  how obr_reform and frbus_residuals are already handled.
- site-provenance.yml runs --check on every PR and push, so the gate holds.

Every rendered number is unchanged — verified by diffing the numeric labels of
all three charts against HEAD. Remaining markup differences are sub-0.1px
coordinate rounding and the aria-labelledby ids, which now follow the chart id.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Jul 25, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
macromod Ready Ready Preview, Comment Jul 25, 2026 1:19am

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant