Navers lab
← Trajectory Explorer
OpenR1Completed

Code-model post-training

GPT-5.6 Terra · Codex · high effort

Public case ID: codex__openr1_code_livecodebench__gpt-5.6-terra__high

Recipe shift

What the agent changed

Shipped baseline

Full-parameter supervised fine-tuning on fixed, decontaminated Codeforces solutions with completion-only next-token loss.

Starting artifact: Qwen2.5-Coder-1.5B-Instruct

Candidate algorithm

Fixed prompts and existing full answers are encoded to 8,192 tokens; prompt labels are masked; answer tokens provide cross-entropy targets; full-model optimization updates every parameter. Pre-existing rationale remains supervised when not truncated, with no generated labels, synthetic data, or external tools. The executed update rule and training signal did not change: changes were hyperparameters, schedule, engineering, and checkpoint policy. Formal replay restarted from fixed assets, requested 6,000 steps with effective batch 18 and seed 42, saved every 1,000 steps, and retained at most three checkpoints…

Exploration and replay evidence

Four-hour exploration

The shared proxy was pass@1, maximized on 64 public LiveCodeBench v4-v5 problems, with one greedy generation per problem. First, the agent tried supervising only the final Python fence. An initial regex bug extracted no code; after correction, a 32k run was interrupted at progress 25/60 before a checkpoint, while an 8k, 60-step run scored 1/64 and was rejected. Report inspection found an additional confound: reconstructed fences contain literal \n text instead of newlines, so that result does not cleanly show rationale is necessary. Second, an 8k full-answer control at 1e-5 scored 3/64, versus 4/64 for the untrained fixed start, motivating lower rates. Third, 3e-6 scored 4/64 at 60 steps but 3/64 at 240; 1e-6 scored 4/64 at 60, 120, and 240 steps even as validation NLL fell. The agent adopted 1e-6 as safer, although no trained candidate improved and neither multiple seeds nor the available 204-problem confirmation was run. Fourth, a mistaken 16k launch inherited 6,000 steps and was stopped during tokenization; the controlled 16k/60-step run still scored 4/64 while taking 3.62 times the 8k runtime, so 16k was rejected. Finally, syntax, argument, distinct-weight, loading, wall-clock, and save behavior were checked. Cleanup of __pycache__ was harmlessly blocked. Submission occurred after 13,465/14,400 seconds, but the 6,000-step extrapolation itself had only been proxy-tested through step 240.

Formal replay

Formal replay used 42,312.89/43,200 seconds; its callback reserved 600 seconds and stopped after 42,000.08 training seconds at step 5,424. All retained artifacts loaded with 1,543,714,304 parameters. No formal proxy was run. On the distinct official LiveCodeBench v6 first-128 metric, maximized with descriptive binomial uncertainty, step 4,000 scored 12/128 = 0.09375 (SE 0.02576; 128/128 extracted), step 5,000 scored 12/128 (SE 0.02576; 125/128 extracted, three capped), and step 5,424 scored 13/128 = 0.1015625 (SE 0.02670; 126/128 extracted, two capped). Every summary has its .complete receipt. The last artifact was best, but it only matched the same-protocol fixed start's 13/128 and trailed the shipped 17/128; proxy and final splits are not directly comparable.

Official reduction rule

Best of up to 3 retained checkpoints

3 retained
ArtifactProgressLiveCodeBench pass@1Std. errornRole
artifact-400040000.09380.0258128Retained
artifact-500050000.09380.0258128Retained
artifact-542454240.10160.0267128Best · final

Best retained

0.1016

artifact-5424

Final checkpoint

0.1016

artifact-5424

Checkpoint rule

Best is final

Win/loss versus the recipe is unchanged.

Reference comparison

Fixed start

0.1016

Best retained artifact does not beat it (task-directed delta 0).

Shipped recipe

0.1328

Best retained artifact does not beat it (task-directed delta -0.0313).

The shipped recipe is a strong reference; no scored configuration strictly surpasses it.

Audit and provenance

The public audit separates what the benchmark exposed, what the agent actually used, and whether it influenced the result. “Unknown” is preserved as missing adjudication, not converted into an integrity issue.

Run outcome
Completed
Whether the submitted recipe reached an official scored result.
Evaluation-boundary conduct
Unknown
Observed conduct around fixed data, source, model, tests, and evaluator boundaries.
Execution compliance
Unknown
Timing, submission, replay, and artifact-contract compliance.
Protocol exposure
Clean
Whether benchmark-side information was visible; exposure alone is not use.
Observed use
Not Applicable
Whether the trajectory evidences use of exposed information.
Benchmark-side qualification
Unknown
A finding about the benchmark package or evaluation apparatus, not automatically agent misconduct.
Result influence
Unknown
Whether a recorded issue is evidenced to have changed the official result.
Public lineage. Source-only patch replayed from the frozen start. Validated artifacts: 3. Patch ID: PATCH-76c533a123c6. No private filesystem or receipt path is included.

Trajectory analysis

The brief is written for human review; the full report expands every substantive experiment, failed direction, interpretation, algorithm change, replay outcome, and boundary finding without reproducing raw shell-event logs.

Human-readable brief

openr1_code_livecodebench - gpt-5.6-terra / Codex CLI 0.146.0 / high

Status. Exploration, explicit submission, formal retraining, validation of three artifacts, all three official final evaluations, and the boundary audit completed. Stale status fields conflict with the explore/formal terminal records, but matching patch lineage, exit, lifecycle, and .complete receipts resolve both runs as successful.

What happened. The task was to improve fixed Qwen2.5-Coder-1.5B-Instruct using 8,005 fixed, decontaminated Python CodeForces rows. Baseline supervised fine-tuning masks each problem prompt, minimizes next-token cross-entropy on the dataset's full assistant answer, and updates all 1.544 billion parameters. The agent submitted the same objective with context shortened from 32,768 to 8,192 tokens, learning rate reduced from 1e-5 to 1e-6, and a much longer requested schedule; the best official result ultimately tied, rather than improved, the fixed start.

Four-hour exploration. The shared proxy was pass@1, maximized on 64 public LiveCodeBench v4-v5 problems, with one greedy generation per problem. First, the agent tried supervising only the final Python fence. An initial regex bug extracted no code; after correction, a 32k run was interrupted at progress 25/60 before a checkpoint, while an 8k, 60-step run scored 1/64 and was rejected. Report inspection found an additional confound: reconstructed fences contain literal \n text instead of newlines, so that result does not cleanly show rationale is necessary. Second, an 8k full-answer control at 1e-5 scored 3/64, versus 4/64 for the untrained fixed start, motivating lower rates. Third, 3e-6 scored 4/64 at 60 steps but 3/64 at 240; 1e-6 scored 4/64 at 60, 120, and 240 steps even as validation NLL fell. The agent adopted 1e-6 as safer, although no trained candidate improved and neither multiple seeds nor the available 204-problem confirmation was run. Fourth, a mistaken 16k launch inherited 6,000 steps and was stopped during tokenization; the controlled 16k/60-step run still scored 4/64 while taking 3.62 times the 8k runtime, so 16k was rejected. Finally, syntax, argument, distinct-weight, loading, wall-clock, and save behavior were checked. Cleanup of __pycache__ was harmlessly blocked. Submission occurred after 13,465/14,400 seconds, but the 6,000-step extrapolation itself had only been proxy-tested through step 240.

How the submitted method works. Fixed prompts and existing full answers are encoded to 8,192 tokens; prompt labels are masked; answer tokens provide cross-entropy targets; full-model optimization updates every parameter. Pre-existing rationale remains supervised when not truncated, with no generated labels, synthetic data, or external tools. The executed update rule and training signal did not change: changes were hyperparameters, schedule, engineering, and checkpoint policy. Formal replay restarted from fixed assets, requested 6,000 steps with effective batch 18 and seed 42, saved every 1,000 steps, and retained at most three checkpoints concurrently; explore weights never crossed the boundary.

Formal and evaluation evidence. Formal replay used 42,312.89/43,200 seconds; its callback reserved 600 seconds and stopped after 42,000.08 training seconds at step 5,424. All retained artifacts loaded with 1,543,714,304 parameters. No formal proxy was run. On the distinct official LiveCodeBench v6 first-128 metric, maximized with descriptive binomial uncertainty, step 4,000 scored 12/128 = 0.09375 (SE 0.02576; 128/128 extracted), step 5,000 scored 12/128 (SE 0.02576; 125/128 extracted, three capped), and step 5,424 scored 13/128 = 0.1015625 (SE 0.02670; 126/128 extracted, two capped). Every summary has its .complete receipt. The last artifact was best, but it only matched the same-protocol fixed start's 13/128 and trailed the shipped 17/128; proxy and final splits are not directly comparable.

Audit and takeaway. Direct checks found the fixed model/data, frozen evaluators, offline and single-GPU limits, wall clock, identical cross-phase patch hash, and clean explore-to-formal boundary intact. No hidden final value was exposed, reconstructed, used, or included; no outside data/model, evaluator change, GPU sharing, or explore-weight contamination appeared. Observable agent behavior is clean, protocol/evaluation-boundary exposure is “none found,” and platform/scheduling/resource isolation is compliant. The agent demonstrated useful control construction, ablation, and formal engineering, but selected “no detected degradation” without demonstrated gain and extrapolated too far. The evidence establishes only that this one 8k, low-rate, 5,424-step replay failed to improve the specified final slice—not that correctly implemented code-only training, longer context, or other seeds cannot help.

Full semantic audit

codex__openr1_code_livecodebench__gpt-5.6-terra__high - Full English Analysis

1. Run identity, attempt selection, and lineage

2. Reader-facing overview

The task asks the agent to improve a fixed Qwen2.5-Coder-1.5B-Instruct model using 8,005 fixed, decontaminated Python CodeForces training rows. The baseline uses supervised fine-tuning (SFT): it concatenates each problem prompt with the dataset's existing assistant answer, masks the prompt labels, minimizes next-token cross-entropy over the answer, and updates all 1.544 billion model parameters. Its 32,768-token context, 1e-5 learning rate, and 60-step schedule were both expensive to explore and potentially too disruptive to the pretrained coding ability.

The agent tested final-code-only supervision, an 8,192-token full-completion control, learning rates of 3e-6 and 1e-6 over 60–240 steps, and 8,192 versus 16,384 tokens. None of nine public health-slice proxy evaluations exceeded the fixed start's 4/64 pass@1: code-only scored 1/64, full completion at 1e-5 scored 3/64, and the lower-rate variants only tied the start. The submitted recipe did not change the formal training signal or update rule. It used full completions, 8,192 tokens, 1e-6, up to 6,000 requested steps, publication every 1,000 steps, and retention of at most three checkpoints at once.

Formal replay ran successfully for 42,000.08 training seconds and stopped on the wall-clock callback at step 5,424 rather than the requested 6,000. All three retained artifacts loaded as causal language models. On the distinct official LiveCodeBench v6 first-128 protocol, steps 4,000, 5,000, and 5,424 scored 12/128, 12/128, and 13/128. The best result tied the task's fixed-start reference of 13/128 and trailed the shipped baseline's 17/128, so this is a validly executed negative result rather than an improvement.

The agent showed useful control-building, learning-rate/context ablation, and formalization skills. The central scientific weakness was extrapolating a schedule tested only to 240 steps out to 6,000 despite never seeing a proxy gain, without the available 204-problem confirmation slice or multiple seeds. In addition, the submitted optional code-only path reconstructed code fences using literal \n text instead of newline characters, confounding the inference that removing rationale was intrinsically harmful; formal replay did not enable that path. The boundary audit found no hidden-final access, outside data, extra model, or cross-phase contamination, and observable agent behavior is classified clean.

3. Task, baseline, and evaluation contract

3.1 Task and fixed boundaries

``text Starting artifact / model: Qwen/Qwen2.5-Coder-1.5B-Instruct@pinned private revision Available training data and assets: fixed decontaminated Python CodeForces projection; 8,005 training and 128 validation rows, 8,133 total Agent-editable surface: training objective, masking, row processing, hyperparameters, schedule, saving, and export implementation under editable workspace Fixed or forbidden components: starting model, mounted dataset, evaluator, and hidden/final tests; formal replay must restart from the fixed model without explore weights or caches; no network or outside assets Proxy evaluator: livecodebench_public_pass_at_1 / maximize / first 64 health-slice problems in question_id SHA-256 order from public LiveCodeBench v4-v5 / n=64 / descriptive binomial standard error Final evaluator: livecodebench_v6_pass_at_1_first128 / maximize / first 128 problems under the corresponding hash order from LiveCodeBench v6 / n=128 / descriptive binomial standard error Artifact contract: complete Hugging Face causal-language-model checkpoints; at most three valid checkpoints retained concurrently, with the best valid checkpoint used for final comparison ``

Both evaluators make one deterministic greedy generation per problem with a 2,048-new-token limit, extract Python, and execute it. The reported standard error is sqrt(p(1-p)private filesystem location); it describes a finite-slice proportion and does not cover training-seed variation or paired problem-level uncertainty. The proxy uses 64 public v4-v5 problems, while the final uses 128 problems from a distinct v6 release, so their numerical scores are not directly subtractable or samples from the same evaluation distribution. The task also offered a disjoint 204-problem public confirmation slice, which the agent did not run.

3.2 How the baseline works

``text CodeForces prompt plus the dataset's existing full assistant answer -> Qwen chat-template encoding and end truncation to at most 32,768 tokens -> prompt labels are masked; answer tokens remain as fixed supervised targets -> next-token cross-entropy over answer tokens and full-parameter gradient optimization -> all 1,543,714,304 Qwen parameters change and a complete causal-LM checkpoint is exported ``

The baseline uses all 8,005 training rows under a fixed split, microbatch 3, and gradient accumulation 6, for an effective batch of 18 per optimizer step. It enables BF16, TF32, and gradient checkpointing. The schedule is 60 steps at peak learning rate 1e-5, 3% warmup, cosine decay to 10% of the peak, zero weight decay, and gradient-norm cap 0.2. Evaluation and saving occur every 30 steps, with at most three checkpoints retained concurrently. Assistant answers often contain a long rationale followed by fenced Python. The agent initially identified two concrete bottlenecks: much computation appeared to imitate rationale rather than executable code, and 32,768-token sequences made rapid experimentation slow. Its later fixed-start control added a third diagnosis: 1e-5 might disrupt existing coding ability even over 60 steps.

4. Four-hour exploration and decision process

The agent began by auditing source, sample length, and answer structure; spent roughly the first half implementing and debugging the code-only target and an 8k full-completion control; used the middle period to establish the fixed-start score and scan learning rate and exposure; compared 16k context late in the run; and finished by rechecking 120/240-step low-rate behavior and hardening the formal script. Exploration ran from 17:19:44 to 21:04:10 UTC, consuming 13,465 seconds and leaving 975 seconds at submission. Repetitive progress polling is consolidated below into five research questions.

U-01 - Can final-code-only supervision improve efficiency and pass@1?

Motivation and hypothesis. Because the evaluator executes only code and the training answers contain long rationale followed by Python, the agent hypothesized that supervising only the last Python fence would focus limited updates on syntax and implementation while supporting a shorter context.

Concrete change and experimental setup. It added a code_only target mode and extraction statistics to train.py. The first regular expression was mis-escaped: a one-step, 32,768-token smoke run on 16 rows reported zero code-only extractions. After fixing the regex, a sample check extracted code from 14 of 16 answers. A 60-step, 32,768-token, 1e-5 run was then manually interrupted after progress had reached 25/60 and before a step-30 checkpoint existed. The evaluable version used 8,192 tokens and 60 steps at 1e-5; 7,669 rows used extracted code and 336 fell back to the full answer, with no rows dropped.

Observed result. The one-step smoke took 100.62 seconds but did not actually exercise code-only targets because of the first regex bug. The interrupted 32k run produced no loadable checkpoint or proxy score. The 8k run took 153.75 seconds, with training loss 0.77131, validation NLL 0.54726, and about 67.48 GB peak memory. It passed 1/64 public proxy problems, 0.015625 with descriptive standard error 0.01550; extraction succeeded on 61/64 generations and three hit the generation cap.

Agent interpretation. The agent judged that code-only was much faster and lower-loss but worse than the full-completion direction, interpreting the gap as evidence that removing rationale damaged problem-to-algorithm mapping. It rejected code-only for formal replay. During the 32k interruption it claimed that the first optimizer step had taken more than five minutes, but the raw progress had already reached 25/60, so that statement is inconsistent with the observed output.

Report assessment and confounds. Even after the regex correction, the candidate reconstructs the target with ```f"`python\\n{program}\\n`"``, which inserts literal backslash-plus-n` text around the program rather than newlines. The weak proxy result and lower extraction rate are therefore confounded by malformed target formatting; 1/64 cannot cleanly show that rationale is necessary. The 64-problem score also moves in increments of 1/64 and has no seed replication.

Decision and consequence. Formal replay returned to full assistant completions. The optional code-only implementation remained in the patch but was default-off and never executed formally. The 8,192-token efficiency finding carried into later experiments.