@@ -116,6 +116,67 @@ def test_rollouts_to_parquet_bytes_skips_rollouts_without_trajectory():
116116 assert rows [0 ]["sample_id" ] == 0
117117
118118
119+ def test_register_run_sends_display_config_and_run_config (monkeypatch ):
120+ run_config_dump = {
121+ "max_steps" : 30 ,
122+ "batch_size" : 64 ,
123+ "rollouts_per_example" : 16 ,
124+ "seq_len" : 4096 ,
125+ }
126+ run_config = types .SimpleNamespace (
127+ model = types .SimpleNamespace (name = "PrimeIntellect/Qwen3-0.6B-Reverse-Text-SFT" ),
128+ env = [types .SimpleNamespace (id = "primeintellect/reverse-text" )],
129+ wandb = types .SimpleNamespace (project = "prime-rl-e2e" ),
130+ max_steps = 30 ,
131+ batch_size = 64 ,
132+ rollouts_per_example = 16 ,
133+ seq_len = 4096 ,
134+ model_dump = MagicMock (return_value = run_config_dump ),
135+ )
136+ monitor = _make_monitor (
137+ api_key = "pit-test" ,
138+ base_url = "https://api.primeintellect.ai/api/v1/rft" ,
139+ logger = MagicMock (),
140+ )
141+ config = types .SimpleNamespace (
142+ base_url = "https://api.primeintellect.ai/api/v1/rft" ,
143+ api_key_var = "PRIME_API_KEY" ,
144+ team_id = "team-1" ,
145+ frontend_url = None ,
146+ run_name = "e2e-run" ,
147+ )
148+ response = MagicMock (status_code = 201 )
149+ response .json .return_value = {"run" : {"id" : "run-123" }}
150+ post = MagicMock (return_value = response )
151+ monkeypatch .setattr ("prime_rl.utils.monitor.prime.httpx.post" , post )
152+
153+ run_id = monitor ._register_run (config , run_config )
154+
155+ assert run_id == "run-123"
156+ run_config .model_dump .assert_called_once_with (exclude_none = True , mode = "json" )
157+ post .assert_called_once_with (
158+ "https://api.primeintellect.ai/api/v1/rft/external-runs" ,
159+ headers = {
160+ "Authorization" : "Bearer pit-test" ,
161+ "x-api-key" : "pit-test" ,
162+ "Content-Type" : "application/json" ,
163+ },
164+ json = {
165+ "base_model" : "PrimeIntellect/Qwen3-0.6B-Reverse-Text-SFT" ,
166+ "max_steps" : 30 ,
167+ "run_config" : run_config_dump ,
168+ "batch_size" : 64 ,
169+ "rollouts_per_example" : 16 ,
170+ "seq_len" : 4096 ,
171+ "name" : "e2e-run" ,
172+ "team_id" : "team-1" ,
173+ "environments" : [{"id" : "primeintellect/reverse-text" }],
174+ "wandb_project" : "prime-rl-e2e" ,
175+ },
176+ timeout = 30 ,
177+ )
178+
179+
119180def test_api_headers_include_bearer_and_x_api_key ():
120181 monitor = _make_monitor (api_key = "pit-test" )
121182
0 commit comments