Repository navigation
air: Show the experiment, accelerators and config in the air list info pane - #7587
Merged
Merged
Conversation
…nfo pane The info pane (`i`) built its data without the step `air get` uses to read an ai_runtime_task run's experiment, accelerators and config path. For those runs it showed "N/A" for Experiment and Accelerators and no Configuration box, although the list row and `air get` had them. Co-authored-by: Isaac <no-reply@databricks.com>
Co-authored-by: Isaac <no-reply@databricks.com>
Collaborator
✅ Integration test reportCommit: 343096b
Top 3 slowest tests (at least 2 minutes):
|
…periment # Conflicts: # cmd/air/list_detail_test.go
caroline-db
approved these changes
Nov 13, 2026
caroline-db
left a comment
Contributor
There was a problem hiding this comment.
This correctly fixes single-task AIR runs. Multi-task rendering is tracked separately in CNXT-2622 and doesn’t block this PR; note that #7598 duplicates this change.
Member
Author
|
Thanks. #7598 was a duplicate of this change opened from another session and is now closed, so this PR is the one to land. Agreed that multi-task runs are out of scope here: the pane reads the first task, as |
…periment # Conflicts: # cmd/air/list_detail.go
Collaborator
❌ Integration test reportCommit: e235716
12 interesting tests: 9 RECOVERED, 3 flaky
Top 50 slowest tests (at least 2 minutes):
|
idelafuente-oc
pushed a commit
to idelafuente-oc/cli
that referenced
this pull request
Nov 14, 2026
…databricks#7583) ## Changes In the interactive `air list` table, the Experiment and User columns now shrink to fit the terminal width instead of pushing the columns to their right past the window edge. - The list tracks the terminal width from `WindowSizeMsg` and lays the columns out against it, on resize and when a lazily loaded page arrives. - When the table is wider than the terminal, Experiment and User give up cells, widest first, down to floors of 12 and 8 cells. - A shortened Experiment keeps its end behind a leading `…`, the rule databricks#7582 uses for the MLflow column, because experiment names often share a prefix. A shortened User keeps its start, since emails differ there. - The one-shot table (piped output, `NO_COLOR`, `--limit`) is unchanged, including which end of a long Experiment it keeps. This PR builds on databricks#7582 (merged), which provides `truncateStart` and the display-width `truncate`. Known gaps: - The other columns have fixed widths, so the table only fits from about 136 columns up (measured on real runs; it depends on the statuses and durations shown). In narrower terminals it is narrower than before but the rightmost columns are still cut off. Fitting those widths means shrinking or hiding fixed columns, which this PR doesn't do. Tracked internally as CNXT-2619. - The full experiment name is meant to be read in the info pane (`i`), which shows `N/A` for many runs today. databricks#7587 fixes that. ## Why Every column was sized from its content, with Experiment and User capped at 36 cells, and nothing looked at the terminal width. With long experiment names the table was about 180 cells wide, so the columns to the right of Experiment were unreadable in most terminals. Internal ticket: CNXT-2610. In a 133-column terminal against real runs, cutting 14 distinct experiment names to 12 cells at their end left 7 distinct labels; keeping the end leaves all 14 distinct. ## Tests - Unit tests for the width allocation at 80, 120, 134, 160 and 200 columns, for relayout on resize and on a lazily loaded page, for which end each column keeps, and for the unchanged one-shot table. - `go test ./cmd/air`, `./task lint-q`. ## Manual test `air list --all-status --all-users` against a staging workspace in a 133-column terminal: Experiment shrank to 12 cells and User to 8. All 20 Experiment cells kept their end behind a leading `…`, and all 20 User cells kept their start. The table was 136 cells wide, so the `Accelerators` header lost its last 3 characters. The list model with fixture rows, long Experiment and User values: 160 columns, w/o fix (cut at the window edge): ``` Run ID Experiment Status Started Duration Progress MLflow User ▸ 684127395104822 /Users/someone.longname@example.com… ● SUCCESS 2026-10-23T17:32:39 1h 14m - qwen-run-001 someone.with.a.long.name.for ``` 160 columns, w/ fix: ``` Run ID Experiment Status Started Duration Progress MLflow User Accelerators ▸ 684127395104822 …art/qwen-finetune-lora ● SUCCESS 2026-10-23T17:32:39 1h 14m - qwen-run-001 someone.with.a.long.na… 8x H100 ``` 120 columns, w/ fix (Accelerators still cut off): ``` Run ID Experiment Status Started Duration Progress MLflow User ▸ 684127395104822 …netune-lora ● SUCCESS 2026-10-23T17:32:39 1h 14m - qwen-run-001 someone… ``` This pull request and its description were written by Isaac. --------- Co-authored-by: Isaac <no-reply@databricks.com>
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.
Changes
In
air list, the info pane (i) now shows the Experiment, the Accelerators and the Configuration box for runs submitted as anai_runtime_task, asair getalready does. Before, the pane showedN/Afor Experiment and Accelerators and left the Configuration box out.Why
The pane renders the same view as
air get, but it built the data without the stepair getuses to read those fields from the run'sai_runtime_task. The list row had the experiment while the pane for the same run saidN/A.The pane is also where the full experiment name can be read: the list shortens long names to fit the Experiment column, and the pane shows the name whole. Internal ticket: CNXT-2610.
Tests
TestRunDetailTextShowsAiRuntimeTaskFields: fails onmain, passes with the fix.go test ./cmd/air,./task lint-q.Manual test
air list --all-status --all-usersagainst a staging workspace, thenion the first run. The list row showed the experiment cut off with…. Names are masked.This pull request and its description were written by Isaac.