feat: v2 - always-on Compare page with in-page run switching - #2604
Draft
camielvs wants to merge 1 commit into
Draft
feat: v2 - always-on Compare page with in-page run switching#2604camielvs wants to merge 1 commit into
camielvs wants to merge 1 commit into
Conversation
🎩 PreviewA preview build has been created at: |
This was referenced Jul 31, 2026
Collaborator
Author
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
camielvs
force-pushed
the
cmp-09-compare-empty-single-states
branch
2 times, most recently
from
July 31, 2026 23:55
e4c9cca to
d068d70
Compare
Render the full Run Comparison page in every state instead of forcing a
full-screen run picker when fewer than two runs are selected:
- Zero runs -> neutral "select runs" empty states across all views.
- One run -> compared against itself, so every view reads "no changes".
- Two runs -> unchanged diffing behaviour.
Add a RunSwitcher next to each A/B label that opens a RunPickerDialog
(modal borrowing the dashboard runs-list look & feel: status, date,
initiated-by, search + created-by + date-range filters) so either run can
be changed or cleared without leaving the page. The dialog uses local
filter state via a new useCompareRunList hook (no URL coupling), replacing
the deleted CompareRunPicker.
View components degrade gracefully via a mode ("empty" | "single" | "both")
prop; YamlDiffView accepts optional specs; GraphDiffView hides the spotlight
controls for a single run. Extends comparePipelines tests with self-vs-self
and undefined-vs-undefined cases.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
camielvs
force-pushed
the
cmp-09-compare-empty-single-states
branch
from
July 31, 2026 23:59
d068d70 to
496aee3
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Description
A follow-up on top of the Compare Runs stack (builds on #2603) that makes the Compare page far more forgiving and easier to drive.
Before this, if you opened the Compare page without two runs already chosen, it dropped you onto a full-screen "pick a run" list and wouldn't show anything else. Landing there with a single run (e.g. from a run's "Compare" menu) was a dead end. Now the full comparison page always shows, no matter what:
You can now also change or clear either run without leaving the page. Next to each run label (A / B) there's:
The run picker pop-up borrows the look & feel of the dashboard's run list — status, date, who started it — with search, "created by" and date-range filters so you can quickly find the run you want. Picking one drops it straight into the comparison without any page navigation.
Net effect: the Compare page behaves like a live workspace — start with nothing, one run, or two, and add/swap/remove runs in place until you're looking at what you want.
Related Issue and Pull requests
Follow-up to the Compare Runs stack. Builds on #2603.
Type of Change
Checklist
Screenshots (if applicable)
Test Instructions
/comparedirectly. Confirm the full page renders with dashed "Select run A / B" buttons and each tab (Structured / YAML / Graph) shows a "select two runs" message instead of a picker takeover./compare?a=<run-id>(or use a run's Compare menu). Confirm run A is filled in, B shows "Select run B", and all tabs read "no changes" with the single run's data visible.Additional Comments