Navers lab
← Trajectory Explorer
DiGressCompleted

Molecular graph diffusion

GPT-5.6 Luna · Codex · max effort

Public case ID: codex__digress_qm9_graph_diffusion__gpt-5.6-luna__max

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

The candidate permutes batch strata, jitters within each, and maps them to times 0–500, approximately covering the horizon before the unchanged cosine/marginal corruption. The unchanged Transformer predicts clean categories; unchanged cross-entropy and AdamW update all 533 state tensors. Thus the change is sampling, scheduling, engineering, and checkpoint policy—not a new objective, signal, dataset, optimizer, or trainable subset. No generated labels, external inputs, or exploration weights entered fresh formal replay.

Exploration and replay evidence

Four-hour exploration

The frozen proxy minimizes validation NLL and, on one independent 2,000-molecule draw, maximizes validity × uniqueness × novelty; it reports no uncertainty interval. All three frozen runs slightly missed novelty-recomputation tolerance, so headline products use upstream whole-set values and split diagnostics are unavailable. A one-epoch baseline reached training NLL 79.66, then its zero-molecule diagnostic divided by zero, although the loadable checkpoint scored frozen NLL 80.01 and composite .3978. Early stratified/uniform rankings contradicted one another because seed 42 existed only in configuration. After global seeding, the clean one-epoch pair favored stratification, 75.18 versus 76.17, at 641 versus 571 seconds; one seed makes this suggestive, not conclusive.

Ten stratified epochs at learning rate 2×10⁻⁴ reached frozen NLL 69.09 and composite .6054; 3×10⁻⁴ was worse at training NLL 70.55. Five-epoch alternatives—250 diffusion steps (71.28), 1,000 steps (71.96), twelve layers (72.63), and batch 1,024 (72.40)—did not justify replacing 500 steps, nine layers, and batch 512, although missing matched five-epoch controls preclude general claims. Seed 7 reached frozen NLL 72.23 but composite .7102; the agent kept seed 42 because final ranking uses NLL. It changed publication from every 50 to 10 epochs, retained three, passed syntax/smoke/loading checks, and submitted with 119 seconds left. Measured meaningful training and frozen scoring required about 566 and 677 seconds, respectively, so timing was clean.

Formal replay

Formal execution used seed 42, batch 512, learning rate 2×10⁻⁴, nine layers, 500 steps, and stratification. It requested 1,000 epochs but used 41,982.3 of 43,200 seconds (97.18%) and returned under its internal timer at progress 461/global step 87,977. Forty-seven cumulative publications yielded the three greatest simultaneously retained artifacts; all loaded. No frozen proxy was run on formal checkpoints, so those proxy scores are not available.

| Progress | Official final result: real test, lower better, 10,000 samples | Uncertainty/diagnostic | Decision | |---|---:|---|---| | 449 | NLL 65.30 | No SE/CI; split diagnostic verified | Best | | 459 | NLL 68.17 | No SE/CI; verified | Degraded | | 461 | NLL 66.50 | No SE/CI; verified | Recovered, not best |

The best improves same-protocol reference NLL by 4.27, or 6.14%. Later non-monotonic degradation validates checkpoint-wise scoring. Proxy and final splits differ, so their NLLs cannot be subtracted; without a long uniform formal control, the total gain cannot be attributed to stratification alone.

Official reduction rule

Best of up to 3 retained checkpoints

3 retained
ArtifactProgressQM9 test NLLStd. errornRole
artifact-44944965.30010000Best
artifact-45945968.17010000Retained
artifact-46146166.50010000Final

Best retained

65.300

artifact-449

Final checkpoint

66.500

artifact-461

Checkpoint rule

Best is an earlier checkpoint

Win/loss versus the recipe is unchanged.

Reference comparison

Fixed start

78.050

Best retained artifact beats it by 12.750.

Shipped recipe

69.570

Best retained artifact beats it by 4.27.

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
Clean
Observed conduct around fixed data, source, model, tests, and evaluator boundaries.
Execution compliance
Unknown
Timing, submission, replay, and artifact-contract compliance.
Protocol exposure
Unknown
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-f59f2aab9f20. 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-luna / Codex CLI 0.146.0 / max

Status. Exploration, agent-explicit submission, formal retraining, validation of three artifacts, final evaluation, and boundary audit all completed; observable agent behavior is confirmed violation due to forbidden evaluator-only source access.

What happened. The task was to improve DiGress generation on fixed QM9 without hydrogens. The baseline independently samples a diffusion time for each molecular graph, corrupts atom/bond categories, and trains a nine-layer graph Transformer with cross-entropy and AdamW to reconstruct them; lower NLL ranks models. The submitted recipe stratified times within each batch, actually applied the configured seed, skipped pre-training sanity validation, and published checkpoints more often. Formal progress 449 achieved test NLL 65.30 versus the packaged 69.57.

Four-hour exploration. The frozen proxy minimizes validation NLL and, on one independent 2,000-molecule draw, maximizes validity × uniqueness × novelty; it reports no uncertainty interval. All three frozen runs slightly missed novelty-recomputation tolerance, so headline products use upstream whole-set values and split diagnostics are unavailable. A one-epoch baseline reached training NLL 79.66, then its zero-molecule diagnostic divided by zero, although the loadable checkpoint scored frozen NLL 80.01 and composite .3978. Early stratified/uniform rankings contradicted one another because seed 42 existed only in configuration. After global seeding, the clean one-epoch pair favored stratification, 75.18 versus 76.17, at 641 versus 571 seconds; one seed makes this suggestive, not conclusive.

Ten stratified epochs at learning rate 2×10⁻⁴ reached frozen NLL 69.09 and composite .6054; 3×10⁻⁴ was worse at training NLL 70.55. Five-epoch alternatives—250 diffusion steps (71.28), 1,000 steps (71.96), twelve layers (72.63), and batch 1,024 (72.40)—did not justify replacing 500 steps, nine layers, and batch 512, although missing matched five-epoch controls preclude general claims. Seed 7 reached frozen NLL 72.23 but composite .7102; the agent kept seed 42 because final ranking uses NLL. It changed publication from every 50 to 10 epochs, retained three, passed syntax/smoke/loading checks, and submitted with 119 seconds left. Measured meaningful training and frozen scoring required about 566 and 677 seconds, respectively, so timing was clean.

How the submitted method works. The candidate permutes batch strata, jitters within each, and maps them to times 0–500, approximately covering the horizon before the unchanged cosine/marginal corruption. The unchanged Transformer predicts clean categories; unchanged cross-entropy and AdamW update all 533 state tensors. Thus the change is sampling, scheduling, engineering, and checkpoint policy—not a new objective, signal, dataset, optimizer, or trainable subset. No generated labels, external inputs, or exploration weights entered fresh formal replay.

Formal and evaluation evidence. Formal execution used seed 42, batch 512, learning rate 2×10⁻⁴, nine layers, 500 steps, and stratification. It requested 1,000 epochs but used 41,982.3 of 43,200 seconds (97.18%) and returned under its internal timer at progress 461/global step 87,977. Forty-seven cumulative publications yielded the three greatest simultaneously retained artifacts; all loaded. No frozen proxy was run on formal checkpoints, so those proxy scores are not available.

| Progress | Official final result: real test, lower better, 10,000 samples | Uncertainty/diagnostic | Decision | |---|---:|---|---| | 449 | NLL 65.30 | No SE/CI; split diagnostic verified | Best | | 459 | NLL 68.17 | No SE/CI; verified | Degraded | | 461 | NLL 66.50 | No SE/CI; verified | Recovered, not best |

The best improves same-protocol reference NLL by 4.27, or 6.14%. Later non-monotonic degradation validates checkpoint-wise scoring. Proxy and final splits differ, so their NLLs cannot be subtracted; without a long uniform formal control, the total gain cannot be attributed to stratification alone.

Audit and takeaway. Fixed data/source, read-only evaluators, patch lineage, runtime, and single-GPU isolation were verified. Evaluator-only declarations first identified the hidden real-test asset; literal searches of the complete trajectory, tool results, commands, and patch found no hidden input or identifier, while the test-named file read during exploration was the declared validation alias. No network, external model/data, or explore-to-formal contamination was found. Observable behavior is confirmed violation due to forbidden evaluator-only source access; the benchmark-readable surface and forbidden agent access are confirmed; real-test exploitation was not observed; platform/scheduling/resource isolation is compliant. One attempt record retains stale status=running despite job-level success, exit 0, and completion receipts, so that field is inconclusive but does not break lineage. The agent demonstrated strong confound diagnosis and formal engineering; evidence remains limited to one formal seed, short imperfectly controlled ablations, and no confidence interval.

Full semantic audit

codex__digress_qm9_graph_diffusion__gpt-5.6-luna__max - Full English Analysis

1. Run identity, attempt selection, and lineage

Task: digress_qm9_graph_diffusion Task family: molecular graph generation with discrete graph diffusion Evaluated coding-agent model: gpt-5.6-luna Harness: Codex CLI 0.146.0 Reasoning effort: max Seeds: the initial exploration configuration said 42 but did not actually seed the global random state; the repaired main exploration and formal replay used 42, with one exploration replication at 7; the final evaluator used 20269701 Exploration budget: 14,400 seconds; 14,334 seconds used Formal-retraining budget: 43,200 seconds; 41,982.279 seconds used by retraining, or 97.18%

Primary exploration run: exploration attempt 1 Why this run was selected: the job manifest names it as primary; it is the only numbered run for this logical configuration and has submission, lifecycle, and completion receipts. Earlier complete reruns and outcomes: none. The numbered directories, queue, and control records contain no earlier completed run or correction for this configuration. Patch hash and verification: SHA-256 verified private digest, identical in the exploration submission, formal specification, formal manifest, and formal copy of the patch. Formal replay: formal replay 1 the formal replay is cryptographically linked to the selected exploration, directly confirmed by the job status and formal specification. Final-evaluation receipts: progress 449 summary and completion; progress 459 summary and completion; progress 461 summary and completion.

Evidence completeness: the raw trajectory, task and baseline source, patch, explore submission receipts, formal control records, training summary, three checkpoint validations, and all three final summary/completion pairs are available. The formal batch itself records final_scoring=false; official scores were produced by the later, separate final-tests runs, so that flag does not mean final evidence is missing. Missing or conflicting evidence: no frozen 2,000-sample proxy was run on the three formal checkpoints, so checkpoint-level formal proxy scores are not available. The final evaluator supplies no standard error or confidence interval. The attempt-level control file retains status=running while the same record says attempt_status=terminal_behavior; that one status field is inconclusive. The authoritative job record says formal_result=succeeded with exit status 0, and the formal completion and validation receipts establish that the run finished.

2. Reader-facing overview

The task was to improve DiGress molecular generation on the fixed QM9-without-hydrogens dataset. The baseline samples one diffusion time independently for each graph, corrupts atom and bond categories, and trains a nine-layer graph Transformer to recover the clean graph. Its ranking metric is negative log-likelihood (NLL), lower being better. Although the baseline configuration contained seed 42, its entry point never applied that seed globally; independent time sampling also duplicated and omitted many of the 501 diffusion times within a batch.

The agent established a one-epoch and frozen-proxy baseline, then investigated stratified time sampling, reproducibility, training duration, learning rate, diffusion length, model depth, batch size, and a second seed. The submitted patch made each batch cover diffusion times approximately uniformly, applied the seed explicitly, skipped pre-training sanity validation, and changed publication from every 50 epochs to every 10. It did not change the objective, optimizer, data, or set of trainable weights. In the clean one-epoch seed-42 comparison, stratification reduced validation NLL from 76.17 to 75.18, but one run is only suggestive causal evidence.

Formal replay retrained from the fixed start and used 97.18% of the 43,200-second budget, reaching progress 461. All three retained checkpoints loaded and obtained official results. Progress 449 was best at test NLL 65.30, versus the packaged reference 69.57, a reduction of 4.27 or 6.14%. Training farther was non-monotonic: progress 459 degraded to 68.17 and progress 461 recovered to 66.50. This supports the whole recipe as an effective run, but cannot assign all of the gain to stratification; there was neither a long uniform-sampling control nor multi-seed formal replay.

The boundary audit found no hidden test input, external data, network access, or exploration weights in the candidate. Formal replay used one isolated GPU and ended under the wall-clock recipe rather than a short fixed epoch limit. The agent submitted with 119 seconds remaining; the shortest measured meaningful training run took about 566 seconds and frozen proxy evaluation about 677 seconds, so both exploration timing and formal budget use are classified clean.

3. Task, baseline, and evaluation contract

3.1 Task and fixed boundaries

Starting model or artifact: pinned DiGress revision pinned private revision and the QM9-without-hydrogens configuration. No exploration weights could be inherited; formal replay initialized a new model. Available training data and assets: 97,734 training graphs, 20,042 validation graphs, and training SMILES during exploration and retraining. A file named proc_test_no_h.pt is a byte-identical alias of validation required by the upstream datamodule, not the real test tensor. Agent-modifiable surface: workspace training source, configuration, launch script, and wrapper, submitted as a text patch. Fixed or forbidden surface: dataset splits, read-only evaluators, hidden real-test tensor, image, one-GPU resource boundary, and wall-clock limits. Network use and carrying exploration weights into formal replay were forbidden. Proxy evaluator: validation NLL, minimized; plus a separate 2,000-molecule draw whose maximized headline is validity × uniqueness × novelty. Each run is one independent draw with no standard error or confidence interval. Final evaluator: upstream NLL on the real hidden test split, minimized, plus validity, uniqueness, novelty, and same-draw split diagnostics over 10,000 generated molecules using evaluator seed 20269701. It reports no standard error or confidence interval. Artifact contract: checkpoint-<numeric>private filesystem location If more than three are published, only the three greatest progress values are accepted, each is validated and scored, and lowest test NLL determines the official best.

Proxy NLL is computed on validation while final NLL is computed on hidden test; molecule count and sampling state also differ. The exploration value 69.09 therefore cannot be directly subtracted from final 65.30, and proxy molecule composite cannot replace the final NLL ranking. The contract is recorded in the task instruction, declaration, and asset lock.

3.2 How the baseline works

A training batch contains molecular graphs whose node categories are C, N, O, or F and whose edges are bond categories. For each graph, the baseline independently samples an integer time from 0 through 500. A cosine schedule and empirical marginal transition corrupt the clean node and edge categories. A nine-layer graph Transformer receives this noisy graph and time and predicts the original categories. Clean categories from the same training graph provide the targets; node and edge cross-entropy, optimized with AdamW, updates all network weights. Validation computes a variational NLL, while generation reverses the diffusion process and converts graphs to molecules.

The baseline uses batch size 512, learning rate 2×10⁻⁴, 500 diffusion steps, weight decay 10⁻¹², gradient clipping at 1, no exponential moving average, and a requested 1,000 epochs. It originally publishes every 50 epochs while retaining three checkpoints. Crucially, merely storing 42 in configuration did not seed Python, workers, and framework state at the entry point. The agent initially identified four practical bottlenecks: Monte Carlo variance from time sampling, fixed sanity-validation overhead, ineffective seeding, and checkpoint spacing too coarse for a wall-clock-limited run.

4. Four-hour exploration and decision process

The opening phase inspected the task, baseline, and evaluators and established a one-epoch baseline. The middle phase implemented stratified time sampling, then investigated contradictory comparisons and discovered the missing global seed. The later phase tested duration, learning rate, diffusion steps, depth, and batch size, and used the remaining half hour for a second-seed training and frozen proxy. The final two minutes audited the patch, loading behavior, and submission. Repeated polling, first-use CUDA delay checks, and repeated instances of the same configuration are consolidated below.

U-01 - Establishing a scoreable baseline and diagnosing the probe failure

Motivation and hypothesis. The agent needed measured training and scoring times before deciding what controlled studies could fit into four hours.

Concrete change and experiment. It ran one epoch with the original nine-layer, 500-step, batch-512, 2×10⁻⁴ recipe, then sent the checkpoint to the frozen 2,000-molecule proxy.

Observed result. Training produced validation NLL 79.66 in 576.05 seconds, but the probe requested zero post-training molecules and divided by zero during metric aggregation, exiting 1. The checkpoint remained loadable. Frozen evaluation took 692.82 seconds and reported validation NLL 80.01, validity 0.4600, uniqueness 0.9982, novelty 0.8664, and product 0.3978266. Wrapper recomputation differed from upstream novelty by about .024, outside tolerance, so upstream_agreement was disagreed and no split diagnostic was published; the values reported here are the retained upstream whole-set metrics.

Agent interpretation. It treated the exception as a probe-aggregation failure rather than a corrupt model, judged one epoch severely undertrained, and verified that slow first CUDA initialization was progress rather than a deadlock.

Report assessment and confounders. Global seed 42 was not actually applied, so this is not a reproducible paired baseline. The frozen result is the more defensible proxy reference. Neither result has uncertainty estimates.

Decision and impact. The checkpoint was retained for frozen scoring, later probes avoided the zero-sample path, and the agent moved to time-sampling variance and overhead.