Skip to content

test(verify): compare the charts the two paths drew - #8509

Draft
kz930 wants to merge 2 commits into
apache:mainfrom
kz930:feat/verify-compare-two-charts
Draft

test(verify): compare the charts the two paths drew#8509
kz930 wants to merge 2 commits into
apache:mainfrom
kz930:feat/verify-compare-two-charts

Conversation

@kz930

@kz930 kz930 commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

What changes were proposed in this PR?

A visualization operator produces no table, so the table comparison has nothing to read. It writes a plotly figure and an HTML page, and this compares those.

A chart's meaning is in the numbers behind it, so the comparison reads those rather than the rendered picture, which would fail over a layout detail that carries none. The figure is compared trace by trace.

The page needs two things normalized away first, neither of which is markup the operator chose: a Styler id, which pandas regenerates on every run, and the line ending, which on Windows is CRLF for a file Python opened in text mode while the same markup carried through JSONL keeps the LF the engine wrote.

#8359 compares two tables, which is a different question and shares no code with this one.

Any related issues, documentation, discussions?

Part of #8325, 7 of 27; that issue lists the set in order.

Closes #8508, the task this change is the whole of.

How was this PR tested?

VisualizationHtmlComparatorSpec pins both normalizations: two pages differing only in a Styler id compare equal, and so do two differing only in line endings, while a page differing in the markup itself does not.

Was this PR authored or co-authored using generative AI tooling?

Generated-by: Claude Code (Claude Opus 5)

🤖 Generated with Claude Code

A chart's meaning is in the numbers behind it, so the comparison reads
those rather than the rendered picture, which would fail over a layout
detail that carries none. Plotly writes both a JSON figure and an HTML
page, and each needs its own reading: the figure is compared trace by
trace, and the page has a Styler id regenerated per run and a line ending
chosen by whichever platform wrote the file, neither of which is markup
the operator chose.

Split out of apache#8359 on review. That change compares two tables, which is a
different question and shares no code with this one.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added feature platform Non-amber Scala service paths labels Sep 11, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Automated Reviewer Suggestions

Based on the git blame history of the changed files, we recommend the following reviewers:

  • No candidates found from git blame history.

@codecov-commenter

codecov-commenter commented Sep 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.69%. Comparing base (1fbd346) to head (715058a).
⚠️ Report is 6 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##               main    #8509   +/-   ##
=========================================
  Coverage     93.69%   93.69%           
  Complexity     4826     4826           
=========================================
  Files          1209     1209           
  Lines         49871    49871           
  Branches       6099     6099           
=========================================
  Hits          46727    46727           
  Misses         1652     1652           
  Partials       1492     1492           
Flag Coverage Δ *Carryforward flag
access-control-service 80.18% <ø> (ø)
agent-service 99.32% <ø> (ø) Carriedforward from 299cf77
amber 89.91% <ø> (ø) Carriedforward from 299cf77
computing-unit-managing-service 77.14% <ø> (ø)
config-service 87.12% <ø> (ø)
file-service 83.65% <ø> (ø) Carriedforward from 299cf77
frontend 96.16% <ø> (ø) Carriedforward from 299cf77
notebook-migration-service 83.73% <ø> (ø)
pyamber 98.47% <ø> (ø) Carriedforward from 299cf77
workflow-compiling-service 77.19% <ø> (ø) Carriedforward from 299cf77

*This pull request uses carry forward flags. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

The uuid pattern matched anywhere in the page, so two tables whose cells
read T_dead and T_beef compared equal and a real difference in exported
data went unreported. Replace the uuid only where a Styler writes it, in
the id attribute and the selector that targets it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature platform Non-amber Scala service paths

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Compare the charts the two paths drew

3 participants