Navers lab
← Trajectory Explorer
DiGressTerminal

Molecular graph diffusion

GPT-5.6 Terra · Codex · high effort

Public case ID: codex__digress_qm9_graph_diffusion__gpt-5.6-terra__high

Recipe shift

What the agent changed

Shipped baseline

Train a nine-layer graph Transformer to reverse empirical-marginal atom and bond corruption with weighted cross-entropy.

Starting artifact: QM9 discrete graph diffusion model

Candidate algorithm

Fixed training graphs are corrupted at a random diffusion time; an eleven-layer Transformer predicts original node and edge labels; unchanged weighted cross-entropy and AdamW at 2e-4 update online parameters; a warm-started 0.999 EMA shadow is updated per batch and used for validation. The patch changes capacity, averaging, schedule, engineering, and checkpoint policy—not training signal or online update rule. Exploration weights were excluded. Both formal copies match the 13,639-byte patch, SHA-256 verified private digest, and retrained from the fixed start.

Exploration and replay evidence

Four-hour exploration

Scores were one-seed internal NLL estimates on all 20,497 validation graphs, lower is better, without error bars—not the 2,000-molecule proxy composite. The GPU baseline stalled before one update. A blocked package query returned no outside content. Limiting CPU math libraries to four threads made batch-128 tests practical; tiny repeats had bit-identical tensors and retention kept three checkpoints, but loading used candidate-owned code.

At 50 updates, cosine noise scored 84.17 versus 86.15 for a custom schedule, while uniform transitions scored 96.03; cosine and marginal transitions were retained. Raising learning rate from 2e-4 to 5e-4 worsened NLL from 84.17 to 88.52. EMA improved 84.17 to 82.51 at 50 updates, degraded 76.52 to 78.66 at 200, then improved 77.99 to 76.97 at 500. The agent attributed the counterexample to averaging lag and adopted EMA without testing frozen compatibility. Nine layers at 500 updates scored 76.97 in 370 seconds; eleven layers at 384 scored 76.34 in 390 seconds and was adopted. Twelve layers scored 76.81 at 320 updates but used only 325 seconds, weakening its claimed equal-time rejection. Candidate-source smoke passed, but neither frozen validation nor official proxy ran. Submission left 9,167 seconds despite five-to-eight-minute experiments, violating the explicit early-stop rule.

Formal replay

exploration attempt 1 ran about 42,116 seconds and retained 374, 379, and 384, but a correction marked the run scientifically_valid=false and forensic_only because an external process shared its GPU. exploration attempt 2 ran 42,122.148 seconds to its wall window. Of 1,000 requested epochs, logs reached about 521 and the last artifact was epoch 519 at 99,320 steps; 104 checkpoint progresses were published cumulatively, but only 509, 514, and 519 remained. Each has a terminal invalid receipt: frozen src.utils lacks EMA, so failure preceded weight loading. Internal validation reached about 65.61 and ended at 66.73, but these are neither proxy nor test results. The intended final metric was lower-is-better NLL on all 13,388 test records. With no accepted artifact or final summary.json/.complete pair, the official score is unavailable, not zero.

Official reduction rule

Best of up to 3 retained checkpoints

0 retained

No official checkpoint is available.

This configuration is classified as terminal, not as a zero score.

Reference comparison

Fixed start

78.050

No comparable scalar starting reference is defined.

Shipped recipe

69.570

No comparable scalar shipped-recipe reference is defined.

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
Terminal
Whether the submitted recipe reached an official scored result.
Evaluation-boundary conduct
Clean
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: 0. Patch ID: PATCH-e7d12b9f5b2b. 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

digress_qm9_graph_diffusion - gpt-5.6-terra / Codex CLI / high

Status. Exploration and submission completed after about 5,288 of 14,400 seconds. Of two twelve-hour formal runs, the first was voided for GPU sharing and all three retry artifacts failed frozen loading; final evaluation never began. The audit confirms early-submission noncompliance but no data or weight cheating.

What happened. The task seeks a better graph-diffusion model on fixed hydrogen-free QM9. The nine-layer baseline corrupts atom and bond categories, predicts clean classes with a Graph Transformer, and updates all weights using weighted cross-entropy and AdamW. The task package reports test NLL 78.05 after the one-epoch start and 69.57 for the shipped recipe. After the exploration GPU proved incompatible with PyTorch, the agent used CPU tests and submitted eleven layers, warm-started 0.999 exponential moving average (EMA), deterministic single-device execution, less in-training sampling, and denser checkpoints. Frozen source lacked the new EMA class, so no official score resulted.

Four-hour exploration. Scores were one-seed internal NLL estimates on all 20,497 validation graphs, lower is better, without error bars—not the 2,000-molecule proxy composite. The GPU baseline stalled before one update. A blocked package query returned no outside content. Limiting CPU math libraries to four threads made batch-128 tests practical; tiny repeats had bit-identical tensors and retention kept three checkpoints, but loading used candidate-owned code.

At 50 updates, cosine noise scored 84.17 versus 86.15 for a custom schedule, while uniform transitions scored 96.03; cosine and marginal transitions were retained. Raising learning rate from 2e-4 to 5e-4 worsened NLL from 84.17 to 88.52. EMA improved 84.17 to 82.51 at 50 updates, degraded 76.52 to 78.66 at 200, then improved 77.99 to 76.97 at 500. The agent attributed the counterexample to averaging lag and adopted EMA without testing frozen compatibility. Nine layers at 500 updates scored 76.97 in 370 seconds; eleven layers at 384 scored 76.34 in 390 seconds and was adopted. Twelve layers scored 76.81 at 320 updates but used only 325 seconds, weakening its claimed equal-time rejection. Candidate-source smoke passed, but neither frozen validation nor official proxy ran. Submission left 9,167 seconds despite five-to-eight-minute experiments, violating the explicit early-stop rule.

How the submitted method works. Fixed training graphs are corrupted at a random diffusion time; an eleven-layer Transformer predicts original node and edge labels; unchanged weighted cross-entropy and AdamW at 2e-4 update online parameters; a warm-started 0.999 EMA shadow is updated per batch and used for validation. The patch changes capacity, averaging, schedule, engineering, and checkpoint policy—not training signal or online update rule. Exploration weights were excluded. Both formal copies match the 13,639-byte patch, SHA-256 verified private digest, and retrained from the fixed start.

Formal and evaluation evidence. exploration attempt 1 ran about 42,116 seconds and retained 374, 379, and 384, but a correction marked the run scientifically_valid=false and forensic_only because an external process shared its GPU. exploration attempt 2 ran 42,122.148 seconds to its wall window. Of 1,000 requested epochs, logs reached about 521 and the last artifact was epoch 519 at 99,320 steps; 104 checkpoint progresses were published cumulatively, but only 509, 514, and 519 remained. Each has a terminal invalid receipt: frozen src.utils lacks EMA, so failure preceded weight loading. Internal validation reached about 65.61 and ended at 66.73, but these are neither proxy nor test results. The intended final metric was lower-is-better NLL on all 13,388 test records. With no accepted artifact or final summary.json/.complete pair, the official score is unavailable, not zero.

Audit and takeaway. Only fixed train/validation assets were used; the real test set did not enter training. No hidden-value exposure or use, evaluator change, outside input, exploration-weight transfer, or lineage mismatch was found. Observable agent behavior is confirmed noncompliant solely for early submission; protocol exposure is none found; platform isolation has a confirmed defect from exploration attempt 1, while the retry used one GPU and obeyed wall time. Controlled ablation and wall-time reasoning were useful, but candidate-owned loading did not test the frozen contract. Evidence supports conditional one-seed early gains, not baseline superiority, test NLL, or a scoreable EMA artifact.

Full semantic audit

codex__digress_qm9_graph_diffusion__gpt-5.6-terra__high - Full English Analysis

1. Run identity, attempt selection, and lineage

The analysis manifest places both formal directories under unlinked_or_partial_formal_run_dirs, not formal_run_dirs. They nevertheless have established lineage: each dispatch names the same selected-exploration lineage and exact patch hash. They are unusable as formal scientific results for different reasons—the first was voided by an authoritative correction, and the second produced no frozen-loadable accepted artifact.

2. Reader-facing overview

The task is to improve a discrete graph-diffusion model for hydrogen-free QM9 without access to the real test set. The nine-layer baseline randomly corrupts atom and bond categories according to a cosine schedule, trains a Graph Transformer to recover the clean categories, and updates its online weights with AdamW under a weighted cross-entropy loss. The task package reports final test negative log-likelihood (NLL) of 78.05 after the one-epoch training start and 69.57 for the current shipped recipe, an 8.48 (10.86%) reduction; lower is better.

The exploration GPU was incompatible with the container's PyTorch architecture, so the initial GPU baseline stalled before a training step. The agent moved to thread-limited CPU early-learning diagnostics and compared noise schedules, marginal versus uniform transitions, learning rate, exponential moving average (EMA), and depths from nine to twelve layers. It submitted an eleven-layer model with the original 2e-4 learning rate, marginal cosine transitions, a warm-started 0.999 EMA, deterministic seeding, single-device execution, less in-training sampling, logging fixes, and more frequent checkpoints. The supervised objective and online AdamW update remained unchanged.

Upstream orchestration then ran two approximately twelve-hour retrains. exploration attempt 1 shared its GPU with an external process and was marked scientifically_valid=false and forensic_only. exploration attempt 2 trained to around logged epoch 521 and retained checkpoints 509, 514, and 519; its run-level last validation NLL was 66.73. However, the frozen validator failed before loading any weights because the frozen src.utils lacked the candidate's new EMA class. All three artifacts were rejected, so no official final test NLL exists and the internal 66.73 cannot be compared directly with the shipped test NLL.

The trajectory demonstrates useful controlled ablation work under a broken exploration GPU, but it missed the decisive frozen-interface compatibility test. It also violated an explicit execution rule by submitting with 9,167 seconds left even though additional meaningful, interpretable experiments could fit. No real test data, outside model, or exploration weight entered the candidate; separately, the first formal attempt confirms a platform GPU-isolation defect.

3. Task, baseline, and evaluation contract

3.1 Task and fixed boundaries

``text Starting artifact / model: fixed DiGress source at upstream revision pinned private revision, with random initialization and no pretrained weights Available training data and assets: hydrogen-free QM9 raw CSVs with 100,000 training and 20,497 validation records; the test-named processed file visible in training is a byte-identical validation alias Agent-editable surface: training, model, objective, sampling, schedule, and checkpoint logic under editable workspace Fixed or forbidden components: real test data, frozen evaluator, and metric direction; external molecular data/weights, test reconstruction, and evaluator-specific lookup are forbidden Proxy evaluator: validity_uniqueness_novelty, maximize, 2,000 independently sampled molecules; it also reports full-validation NLL on 20,497 graphs, minimize; no standard error Final evaluator: upstream test NLL, minimize, on the full 13,388-record test CSV; it also samples 10,000 molecules for validity/uniqueness/novelty diagnostics; no standard error Artifact contract: at most the three numerically greatest run output area>private filesystem location files, each loadable through the frozen DiGress interface ``

The proxy composite is the product of molecular validity, uniqueness, and novelty, whereas formal ranking uses test NLL. They are different quantities and not directly comparable. Exploration produced no fast_eval receipt: values such as 102.93 and 84.17 below are internal full-validation NLL estimates, not the 2,000-sample proxy composite. Validation and test NLL randomly sample a diffusion timestep for each graph, and no repeated runs provide uncertainty, so small differences require caution. As fixed context, the task package records 3,305.81 seconds of formal training and 2,108.34 seconds of final scoring for the shipped recipe, with validity, uniqueness, and novelty of 0.9805, 0.9769, and 0.5190 over 10,000 molecules. Those are task references, not results from this trajectory.

3.2 How the baseline works

``text QM9 atom classes, bond classes, and graph masks -> sample one of 500 diffusion times and corrupt nodes and edges using a cosine schedule and training-set marginal transitions -> a nine-layer Graph Transformer predicts the clean node and edge classes from the noisy graph, time, and structural features -> node cross-entropy plus five times edge cross-entropy supplies the loss; QM9 has no graph-level supervised target -> AdamW with AMSGrad at learning rate 2e-4 updates all online model parameters; reverse diffusion generates molecules ``

The formal baseline defaults are batch size 512, seed 42, nine layers, 500 diffusion steps, no EMA, and at most 1,000 epochs. A wall-clock signal stops training. The original policy checkpoints every 50 epochs and retains three at a time. Upstream code validates every five epochs, periodically samples molecules during training, and on ordinary completion evaluates a test-named tensor that is only a validation alias in the training environment.

The agent initially identified four concrete bottlenecks: GPU architecture incompatibility, unnecessary distributed wrapping on one device, sampling overhead inside training, and no usable EMA callback. It also believed the misspelled train_y_loss logging attribute would crash every epoch. Source inspection does not support that final diagnosis for this task: QM9 has no graph-level target, and the conditional avoids that attribute while the graph-target metric has zero samples. No such crash was observed.

4. Four-hour exploration and decision process

The agent first inspected the task and tried to establish a GPU baseline. Roughly the next ten minutes went to the stalled GPU run and environment diagnosis, followed by about fifteen minutes of reliability, EMA, checkpoint, and CPU-smoke work. It then performed CPU studies of schedule, transition kernel, learning rate, EMA horizon, and model depth, and spent roughly ten final minutes cleaning and smoke-testing the patch. Submission occurred about 88 minutes into a four-hour budget, leaving about 153 minutes unused.

U-01 - Can training be made usable after the GPU baseline fails?

Motivation and hypothesis. The original plan was to reproduce the baseline before studying optimizer, EMA, capacity, and diffusion variants. The first GPU probe showed that the installed PyTorch supported architectures only through SM90 while the device reported SM103, and its first numerical operation did not progress. The agent therefore treated CPU diagnostics and source-level reliability fixes as the path to a recipe that might transfer to formal hardware.

Concrete change and experimental setup. It terminated probe-baseline-10, inspected training, sampling, and evaluation code, and attempted to query available PyTorch releases. Network policy returned 403, so nothing was downloaded or installed. The agent then added an EMA callback, corrected the logging attribute, disabled in-training molecular sampling and the end-of-training evaluation on the validation alias, and replaced verbose CUDA reports with compact peak-memory logging.

Observed result. The GPU run produced no completed update, checkpoint, or reliable metric. The package query returned no external content. A repaired single-step CPU run completed one epoch and created a candidate-source-loadable numeric checkpoint.

Agent interpretation. It treated the GPU issue as an exploration-infrastructure constraint, and the EMA/logging changes as GPU-independent reliability and performance improvements. It expected removing in-training scoring to devote more formal wall time to optimization.

Report assessment and confounds. The GPU diagnosis is directly supported. The logging fix is effectively inert on QM9. More importantly, the new EMA class existed only in candidate source, not in the frozen evaluation tree—an interface mismatch that later invalidated every formal artifact. The CPU smoke test established only candidate-owned execution and loading.

Decision and consequence. These changes became the engineering foundation of the submission; GPU score comparisons were abandoned, so all performance choices rested on CPU early-learning diagnostics.