Repository navigation
fix(skills): match cortex-training-rl to the current Arctic Platform recipes - #874
Merged
neubig merged 6 commits intoNov 1, 2026
Conversation
…recipes The launchers read Cortex credentials only from ARCTIC_CORTEX_*, Harbor's installed agents are refused, the Harbor default environment is the Snowflake sandbox, and it needs base_image, image_repo, or a sandbox-path prebuilt_image. Co-authored-by: Cursor <cursoragent@cursor.com>
…and sandbox quota Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
- Find a run's job by its comment; nothing writes $CKPT_DIR/cortex_job_id. - cortex-training capacity takes no --hardware flag. - Harbor has no file_editor; document snowflake and host as the tested environments. - Describe the launcher's first-task check and the errors it reports. - Update the Harbor reference numbers to the 25-step Snowflake sandbox run. Co-authored-by: Cursor <cursoragent@cursor.com>
sfc-gh-kganesan
marked this pull request as ready for review
November 1, 2026 03:05
Contributor
Author
|
@neubig could you review this? It updates
Every command in the skill was run end to end on Cortex Training. |
…hen a step is done From an OpenHands agent following this skill end to end from a fresh home directory. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
neubig
approved these changes
Nov 1, 2026
Contributor
|
🚀 Released in v0.39.0. |
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.
HUMAN:
I tested this skill end to end on Cortex Training against current Arctic Platform, on two paths: Harbor with Snowflake sandboxes, and Harbor with
HARBOR_ENV=host. The direct code localization recipe was also run. Every command in it was run as written. Paths we didn't run are marked untested rather than left out.The Snowflake sandbox path needs Snowflake-AI-Research/Arctic-Platform#404. Please merge this after it lands. The
hostand code localization paths already work on Arctic Platformmain.AGENT:
Why
Following
cortex-training-rlagainst current Arctic Platformmainfails before training starts:cortex-training login. The Arctic Platform launchers read the Cortex connection only fromARCTIC_CORTEX_*, so their preflight stops with "no Cortex connection".openhands-sdkandopenhandsasHARBOR_AGENTvalues. The Harbor launcher now refuses agents that Harbor installs inside the environment, because task code there could read the rollout's API key.HARBOR_ENVisHostEnvironment. The default is now the Snowflake sandbox, and the Harbor launch sets noHARBOR_ENV_KWARGS, so the launcher's preflight stops before provisioning GPUs.Summary
ARCTIC_CORTEX_*from the login config JSON.HARBOR_ENV_KWARGS(base_image: sandbox-base, which needs no image repository), and theHARBOR_AGENT/HARBOR_ENV/HARBOR_ENV_KWARGSdescriptions match the launcher.comment(cortex-training list | jq ...). Nothing writes the$CKPT_DIR/cortex_job_idthe skill used to read.cortex-training capacity(it has no--hardwareflag).OPENHANDS_TOOLSexample dropsfile_editor, which the Harbor recipe doesn't provide.HARBOR_ENVlistssnowflakeandhostas tested; the Snowflake kwargs includeroleand anegress_eaifor GitHub, with login guidance for runs that log in again every 20 minutes.SKYRL_HOME, rule 4 says how to check login configs without printing them, and step 4 says when a step is done and that a run ends by itself. Launch and monitoring cover evaluation during training (eval/all/avg_score).Issue Number
None.
How to Test
Follow the skill on a fresh clone of Arctic Platform
main:ARCTIC_CORTEX_*variables as shown.trainer.max_training_steps=3. WithARCTIC_CORTEX_*exported, the launcher gets past its credential check, provisions Cortex, and trains.HARBOR_ENV_KWARGSandtrainer.max_training_steps=3.Results so far, from a fresh clone of Arctic Platform
main:ConversationStaterace) and 0 after. The log ends withTraining done!.HARBOR_ENV_KWARGS: completed 3 steps on Cortex with 64 concurrent sandboxes and no image push. Average reward 0.781, 0.294, 0.208 (maximum 3.0); 188 of 192 rollouts were graded, and 4 sandbox transport failures were masked as.error. The log ends withTraining done!. This needs Harbor RL on Snowflake sandboxes, end to end: base_image, errored rollouts, sandbox reliability, session renewal, and a pre-GPU task check Snowflake-AI-Research/Arctic-Platform#404.HARBOR_ENV=host: completed 3 steps, average reward 0.391, 0.172, 0.208, 0 errored rollouts.CANCELLEDand no sandboxes were left. Bothmonitoring.mdsnippets run against the 25-step log.CANCELLED. Steps 1 and 2 averaged 0.156 and 0.223. Where it went off the skill, the skill now says what to do: it had to find SkyRL itself, printed a login config, stopped during step 3's update because it counted trajectory directories, and drew the graph with matplotlib.trainer.eval_before_train=true trainer.eval_interval=2, 4 steps):eval/all/avg_scorewas 0.29 before training, 0.66 after step 2, and 0.50 after step 4, on the 32 SWE-smith eval tasks.Video/Screenshots
N/A (CLI).
Notes
The
base_imageoption, the Snowflake sandbox reliability fixes and the pre-GPU check all ship in Snowflake-AI-Research/Arctic-Platform#404, which is merged. Training on Harbor tasks other than SWE-smith localization, and the skill's evaluation flags on such tasks, need Snowflake-AI-Research/Arctic-Platform#405. Merge this after it.