feat(platform): add RTX_PRO_6000 to the GPUType enum - #719
Closed
oatanas wants to merge 12 commits into
Closed
Conversation
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Oliver Meyer <oliverm@aignostics.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* docs: add "Get started with the API" developer guide Adds a guide for developers calling the Platform API directly over HTTPS, for integrations in other languages or existing pipelines that do not depend on the Python SDK. Walks one full workflow with curl: authentication via the OAuth 2.0 device flow and refresh token grant (including what the tokens are and why authentication is tied to a user), reading an application version's input contract, making slides reachable through signed URLs, submitting an analysis, following per-slide progress through the run and item state model, downloading results, and the 30-day retention window. Closes with retry, idempotency and caching conventions. Links the guide from the docs index and the interface table in README. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> [skip:test:long_running] * docs: address review feedback on the API guide - Spell out how to make slides reachable: store the slide in S3-compliant object storage and mint a signed URL valid for at least seven days, plus the bucket and HMAC credentials the platform provides per organization, with an upload-and-presign example. - Flag the submit example as specific to Atlas H&E-TME 1.3.0, since artifact names and metadata differ per application and version, and point back to reading the version contract first. - Add a hello-world script taking only a client ID: device flow login, then GET /v1/me to confirm API access. [skip:test:long_running] Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * docs: tighten the API guide Cut ~300 words (18%) without dropping a fact or an example. The device flow was explained three times over — conceptually, then step by step, then as a script — so "How it works" now states what a token is and links RFC 8628, leaving the steps to show the calls. The user-code comparison rationale moves into Step 2, where the comparison happens. Remainder is line-level trimming of the submit, follow, download and conventions sections. Net effect: the guide is shorter than before the review feedback, with the storage table, version caveat and hello world script added. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
* docs: add "Get started with Console" user guide Adds a guide for the flow where slides are uploaded to the organization's bucket with the Python SDK and analyzed in Console at platform.aignostics.com, which is easier for non-technical users than the Launchpad GUI. Structure follows sign up -> upload your slides -> analyze your slides with Atlas H&E-TME, with five screenshots of Console (create run form, slide selection from the bucket, run parameters, viewer overlays, result download), the 30-day result retention window, and a troubleshooting section. Links the guide from the docs index and the interface table in README. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * docs: hide the MCP server guide from the published documentation The MCP server is not yet usable for customers, so advertising it in the documentation sends readers to instructions they cannot act on. Excludes get_started_mcp.rst from the Sphinx build, drops it from the "Get started" toctree, and comments out the MCP row in the interface table. The guide and its partial stay in the repository; each change carries a note on how to restore it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * docs: address review feedback on the Console guide - Create the download target folder before use: `dataset idc download` declares target with exists=True, so a missing directory aborts with "Invalid value for 'target'". Adds mkdir and names the error. - Use my-slides consistently: Step 4 now downloads the example slide into the same folder Step 5 uploads, instead of introducing data/. - Stop promising a progress bar unconditionally. The bar shares a line with a long description and 6 further columns, so rich squeezes it to zero glyphs at 80 columns and 2 at 100; it needs ~160 to render fully. The guide now describes the messages and when the bar appears. - Fix image paths for GitHub: _static/console/* resolved only relative to docs/source, so the images 404 when reading the partial on GitHub. ../source/_static/console/* resolves in both GitHub and the Sphinx build (verified: build succeeded, images copied to _images/). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * docs: keep the invite guidance in the README partial README.md is generated from docs/partials/README_*.md (noxfile.py _generate_readme), but #693 added the "Inviting and managing users" section to README.md only. Regenerating the README therefore dropped it, which is what this branch did. Moves the section into docs/partials/README_platform.md, next to the roles it belongs with, and regenerates README.md so the content survives the next regeneration. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Lock file maintenance bumped ruff (0.15->0.16) and typer (0.26->0.27),
breaking CI:
- ruff 0.16 stabilizes PLR0917 (too-many-positional-arguments) into the
ALL selection; append PLR0917 to the existing per-site noqa on the 34
affected functions (PLR0913 stays, it is an independent rule).
- ruff 0.16 formats Python code blocks embedded in Markdown; reformat the
snippet in tests/CLAUDE.md accordingly.
- typer 0.27 renders the missing-argument metavar as the parameter name
('run_id') instead of upper-case ('RUN_ID'); update the assertion in
test_cli_run_result_delete_fails_on_no_arg.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The he-tme application accepts RTX PRO 6000 (sm_120) GPUs, but the SDK enum
stopped at L4 and A100, so `validate_run_sdk_metadata` — which `Runs.submit`
calls on every submission — rejected the run before it reached the platform:
pipeline.gpu.gpu_type
Input should be 'L4' or 'A100' [type=enum, input_value='RTX_PRO_6000']
That gate is inside the SDK, so no caller could work around it; passing the
string through from a downstream CLI still failed here.
Bumps SDK_METADATA_SCHEMA_VERSION to 0.0.7 and regenerates the published run
schema, following 0.0.6, which was bumped for the equivalent change (adding
FLEX_START to the provisioning-mode enum). Adding an enum member widens what
validates, so runs written against 0.0.6 stay valid.
CLI_REFERENCE.md is left alone: it has drifted from the current CLI on main
already, and `nox -s docs` regenerates it with all extras installed.
Refs HETA-1792
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CNyXyfHNFAgv7zUYjUG22P
❌ 1 Tests Failed:
View the top 1 failed test(s) by shortest run time
To view more test analytics, go to the Test Analytics Dashboard |
|
3 tasks
Author
|
Superseded by #720, which targets |
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.



Summary
Adds
RTX_PRO_6000toplatform.GPUType. Thehe-tmeapplication already accepts RTX PRO 6000 (sm_120) GPUs for HETA-1792, but the SDK enum stopped atL4andA100.This is not only a CLI-help issue:
Runs.submit()callsvalidate_run_sdk_metadata(custom_metadata["sdk"])on every submission, which validatespipeline.gpu.gpu_typeagainst this enum. Verified against the released SDK:Because the gate is inside
submit(), and that method has no opt-out, a downstream caller cannot route around it — stargate's "pass unknown GPU types through" change ([stargate#378] still failed here. Adding the member is the fix.Schema version
Bumps
SDK_METADATA_SCHEMA_VERSIONto0.0.7and regeneratesdocs/source/_static/sdk_run_custom_metadata_schema_{v0.0.7,latest}.json. This follows the precedent of0.0.6, which was bumped for the equivalent change of addingFLEX_STARTto the provisioning-mode enum. The change only widens what validates, so metadata written against0.0.6remains valid.Not included
CLI_REFERENCE.mdis left untouched. It has already drifted from the CLI onmain(regenerating it locally rewrites ~745 lines, mostly aTEXT→<str>typer formatting change plus sections that disappear unless every extra is installed), so refreshing it belongs in its own chore commit vianox -s docs.Test plan
pytest tests/aignostics/platform/sdk_metadata_test.py -m unit— 71 passedpytest tests/aignostics/platform -m unit— 413 passed; 3 pre-existing timeout failures inruns_test.py(test_runs_submit_*) reproduce identically on a cleanmaincheckout in this environment and are unrelatedruff check/ruff format --checkclean on the changed files"enum": ["L4", "A100", "RTX_PRO_6000"]