experimental/air: implement the air status command#5592
Open
riddhibhagwat-db wants to merge 1 commit into
Open
experimental/air: implement the air status command#5592riddhibhagwat-db wants to merge 1 commit into
air status command#5592riddhibhagwat-db wants to merge 1 commit into
Conversation
Port the read-only `status RUN_ID` command from the Python air CLI. It fetches
a job run via the Jobs API and renders the run's status, start time, duration,
retries, experiment, accelerators, dashboard URL, and an MLflow deep-link, plus
a foreach/sweep summary for sweep runs. Output is the air-style {v, ts, data}
JSON envelope under -o json, or a text status box.
Adds the format/mlflow/sweep/output helpers with unit tests and an acceptance
test, and drops `status` from the not-implemented stub coverage now that it is
implemented.
Co-authored-by: Isaac
Contributor
Waiting for approvalCould not determine reviewers from git history. Eligible reviewers: Suggestions based on git history. See OWNERS for ownership rules. |
Collaborator
Integration test reportCommit: 5479b2d
24 interesting tests: 15 SKIP, 7 KNOWN, 2 flaky
Top 31 slowest tests (at least 2 minutes):
|
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
Implements
databricks experimental ai status RUN_ID, the Go port of the Pythonair statuscommand. It fetches the run viaJobs.GetRunand renders:User), and the run's dashboard URL.jobs/runs/get-output(thegen_ai_compute_outputfield is not modeled by the typed SDK, so it's fetched via a direct REST call).Why
statusis the first real command integrated from the air cli and it sets the conventions the rest of the CLI will follow. The{v, ts, data}envelope mirrors the Python CLI so existing machine consumers keep working. The implementation is a faithful port ofhandle_status+ thecli_displayhelpers, verified field-by-field against the Python source:_display_foreach_sweep_status) and the training-config panel (_fetch_and_display_yaml_config); JSON output omits both, exactly matchingair status --json.gen_ai_compute_outputfield (direct REST call), and the MLflow link / YAML fetch are best-effort (logic matches python cli)Tests
buildStatusData, and all template branches (single-run minimal/all-fields, sweep, sweep-with-no-tasks).unittest.mocksuite) coverbuildSweepInfo,printConfigYAML,mlflowURL(overhttptest, since it bypasses the typed SDK), and theRunEinvalid-id / not-found branches.acceptance/experimental/ai/status) runs the command end-to-end against a stubbed Jobs API: text output,-o json, and an invalid run ID.