Skip to content

experimental/air: hyperlink Run ID/Experiment, MLflow run name, and i/L in air list - #6260

Open
riddhibhagwat-db wants to merge 1 commit into
air-clifrom
air-list-picker-aircli
Open

experimental/air: hyperlink Run ID/Experiment, MLflow run name, and i/L in air list#6260
riddhibhagwat-db wants to merge 1 commit into
air-clifrom
air-list-picker-aircli

Conversation

@riddhibhagwat-db

Copy link
Copy Markdown
Contributor

Enriches the interactive air list picker toward the Python AIR CLI.

Changes

  1. Run ID and Experiment cells are OSC-8 hyperlinks — Run ID → the job-run page, Experiment → the MLflow experiment page — alongside the existing MLflow link. Underlined only when a link is actually present; piped / NO_COLOR output stays plain (no escapes).
  2. MLflow column shows the MLflow run name (with a …<id8> fallback) instead of a truncated …/runs/<id> URL. Reuses the existing fetchMLflowRunName / mlflowRunLabel; the resolved label is cached for terminal runs.
  3. i and L/l open an in-TUI scrollable panei shows run details (the same styled view as air get), L shows a logs snapshot (bubbles/viewport). esc returns to the list with the cursor preserved. enter still opens MLflow in the browser.

Notes

  • The logs snapshot is a one-shot tail (staticView), so viewing an active run’s logs can’t hang the pane waiting on a live stream.
  • The detail/logs panes render captured (renderRunText / fetchLogs) output; since the capture target isn’t a TTY they render in the ASCII profile (text and box borders intact, no color). A forced-color pane is a possible follow-up.
  • Reuses air-cli’s existing mlflowExperimentURL for the experiment link (no ?o=, consistent with the other ML URLs) rather than adding a parallel helper.

Tests

  • Unit: hyperlink rendering (asserts the OSC-8 escape is present with links, absent without), i → detail-mode transition, detail-pane content + esc back, run-name label.
  • Acceptance (air list): the MLflow column now shows the run name; golden regenerated. Full air unit + acceptance suite, go vet, gofmt, and golangci-lint all pass.

This pull request and its description were written by Isaac.

…add i/L in `air list`

Enriches the interactive `air list` picker toward the Python CLI:

- Run ID and Experiment cells are now OSC-8 hyperlinks (job-run page and
  MLflow experiment page, org-pinned), alongside the existing MLflow link.
  Underlined only when actually linked; piped/NO_COLOR output stays plain.
- The MLflow column shows the MLflow run name (with a …<id8> fallback)
  instead of a truncated URL, reusing fetchMLflowRunName/mlflowRunLabel.
  Cached for terminal runs.
- `i` opens a scrollable run-details pane and `L`/`l` a logs snapshot pane
  (bubbles/viewport); `esc` returns to the list. `enter` still opens MLflow.
  The logs snapshot is a one-shot tail (staticView) so an active run can't
  hang the pane.

Co-authored-by: Isaac
@github-actions

Copy link
Copy Markdown
Contributor

Approval status: pending

/acceptance/experimental/air/ - needs approval

Files: acceptance/experimental/air/list/output.txt, acceptance/experimental/air/list/test.toml
Suggested: @vinchenzo-db
Also eligible: @apeforest, @bfontain, @lu-wang-dl, @panchalhp-db, @maggiewang-db, @ben-hansen-db, @pardis-beikzadeh-db

/experimental/air/ - needs approval

9 files changed
Suggested: @vinchenzo-db
Also eligible: @apeforest, @bfontain, @lu-wang-dl, @panchalhp-db, @maggiewang-db, @ben-hansen-db, @pardis-beikzadeh-db

Any maintainer (@andrewnester, @anton-107, @denik, @pietern, @shreyas-goenka, @simonfaltum, @renaudhartert-db, @janniklasrose, @lennartkats-db) can approve all areas.
See OWNERS for ownership rules.

@eng-dev-ecosystem-bot

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: 1177284

Run: 31654553958

Env 💚​RECOVERED 🙈​SKIP ✅​pass 🙈​skip Time
💚​ aws linux 4 4 291 1105 3:20
💚​ aws windows 4 4 293 1103 2:56
💚​ azure linux 4 4 290 1105 3:20
💚​ azure windows 4 4 292 1103 3:06
💚​ gcp linux 1 5 291 1105 3:23
💚​ gcp windows 1 5 293 1103 3:29
8 interesting tests: 4 RECOVERED, 4 SKIP
Test Name aws linux aws windows azure linux azure windows gcp linux gcp windows
💚​ TestAccept 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R
🙈​ TestAccept/bundle/invariant/no_drift 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_endpoints/drift/recreated_same_name 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_indexes/recreate/embedding_dimension 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/ssh/connection 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
💚​ TestFetchRepositoryInfoAPI_FromRepo 💚​R 💚​R 💚​R 💚​R 🙈​S 🙈​S
💚​ TestFetchRepositoryInfoAPI_FromRepo/root 💚​R 💚​R 💚​R 💚​R
💚​ TestFetchRepositoryInfoAPI_FromRepo/subdir 💚​R 💚​R 💚​R 💚​R
Top 1 slowest tests (at least 2 minutes):
duration env testname
2:04 gcp windows TestAccept

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.

2 participants