feat(results): separate unsupported vs failed, add run deltas, and surface failure tags - #34
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: dee42a4455
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Pull request overview
This PR improves results triage and run-to-run visibility by (1) visually distinguishing explicitly unsupported cases from functional failures in the HTML dashboard, (2) adding a compact “Delta Since Last Run” summary derived from history.jsonl, and (3) surfacing concise failure tags from the failure explainer.
Changes:
- HTML dashboard: add unsupported-case rendering and a “Delta Since Last Run” section, plus Plotly/interactive-scatter fallbacks.
- Markdown dashboard: thread history paths through
render_dashboard()and emit a delta summary for fidelity + perf. - Failure explainer/tests/docs: add a
tagfield to explanations, extend unit tests, and update docs to explain unsupported vs failed + deltas.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
src/excelbench/results/html_dashboard.py |
Adds unsupported detection, delta section, and graceful fallbacks when Plotly/interactive scatter aren’t available. |
src/excelbench/results/dashboard.py |
Adds delta summary rendering and history parsing for the combined markdown dashboard. |
src/excelbench/results/failure_explainer.py |
Extends FailureExplanation with a tag field and propagates tags across classification paths. |
tests/test_results_html_dashboard.py |
Adds coverage for delta output and unsupported rendering in the HTML dashboard. |
tests/test_dashboard.py |
Adds coverage for the “Delta Since Last Run” section in the markdown dashboard. |
tests/test_failure_explainer.py |
Asserts newly introduced failure tags for style/formula classifications. |
docs-site/cli/report.mdx |
Documents the new “Delta Since Last Run” section emitted by report/dashboard layers. |
docs-site/benchmark/scoring.mdx |
Documents failed vs unsupported semantics and mentions the delta summary. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Motivation
unsupportedcases from functionalfailedtest-cells in the HTML dashboard and surface concise failure tags for quick categorization.results/*/history.jsonlso regressions/improvements are immediately visible in report/dashboard layers.Description
unsupportedvsfailvisually. (src/excelbench/results/html_dashboard.py)render_dashboard()and added aDelta Since Last Runsection that summarizes fidelity and perf changes computed from the two most recenthistory.jsonlentries. (src/excelbench/results/dashboard.py)FailureExplanationwith a concisetagfield and propagated tags across classifier branches (unsupported/style/formula/etc.) for faster triage. (src/excelbench/results/failure_explainer.py)plotly(or interactive scatter) is unavailable, rendering a readable placeholder instead. (src/excelbench/results/html_dashboard.py)failedvsunsupportedand the new delta summary. (tests intests/test_results_html_dashboard.py,tests/test_dashboard.py,tests/test_failure_explainer.py; docs underdocs-site/benchmark/anddocs-site/cli/report.mdx).Testing
uv run pytest -o addopts='' tests/test_results_html_dashboard.py tests/test_dashboard.py tests/test_failure_explainer.pyand all tests passed (9 passed).uv run ruff check ...reported no issues anduv run mypy src/excelbench/results/dashboard.py src/excelbench/results/failure_explainer.pycompleted successfully.npx playwright installstep would be required to produce screenshots.Codex Task