Molecular graph diffusion
Claude Sonnet 5 · Claude Code · max effort
Public case ID: claude__digress_qm9_graph_diffusion__claude-sonnet-5__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
Baseline flow is graph categories to marginal noise to nine-layer Graph Transformer clean-category targets to atom-plus-5×bond cross-entropy, with AdamW updating all model weights and a 500-step reverse sampler producing molecules. Candidate flow keeps that rule, but trains on 117,777 merged train/validation records and evaluates/saves ramped EMA weights up to 0.9999. Bootstrap saving, latest-three retention, reduced diagnostics, disabled media output, and a 100,000-epoch request are data/sampling, hyperparameter, schedule, engineering, and checkpoint changes—not an objective or update-rule change. The latest…
Exploration and replay evidence
Four-hour exploration
Four directions mattered. A three-epoch, no-EMA timing probe took 831.75 seconds for 573 updates and reached internal NLL 76.07; the agent adopted a 100,000-epoch ceiling, wall-clock stopping, and sparser diagnostics, although savings were not isolated. First-version EMA trained but failed frozen loading. Baking averaged weights and clearing saved EMA configuration fixed it; a two-epoch run had internal NLL 75.43, while its 64-sample proxy had NLL 75.46 and composite 0.606738 with a novelty warning. Compatibility was adopted, but benefit and the untested submitted decay 0.9999 remain inconclusive. Merging validation rows into training produced proxy NLL/composite 77.47/0.5625 at n=32 after one epoch and 75.62/0.6250125 at n=8 for the two-epoch combination. The merge was adopted despite unequal runs, effectively unseeded tiny samples, and no unmerged control. Finally, extreme wall-clock tests progressed from no artifact, through an unloadable zero-step artifact, to a loadable fallback; its n=8 NLL 154.82 and zero composite showed plumbing, not quality, so only the safeguard was adopted.
No architecture, objective, optimizer, diffusion-schedule, or repeated-seed study occurred. A meaningful matched comparison fit the remaining time: the last train-plus-proxy cycle took about 1,092 seconds, versus 4,088 seconds left. A name-filtered process check missed main.py; submission recorded 804 MiB active GPU memory.
Formal replay
The harness allowed at most 42,000 training seconds. One-L20D retraining succeeded in 42,064.85 of 43,200 seconds (97.37%), stopping on wall time after requesting 100,000 epochs and logging through index 422. All three published and simultaneously retained artifacts loaded; cumulative pruned saves are not available.
| Progress | Hidden-test NLL ↓ | Validity / uniqueness / novelty, n=10,000 | |---:|---:|---:| | 299 | 67.08 | 0.9920 / 0.9642 / 0.3480 | | 349 | 66.19 | 0.9920 / 0.9644 / 0.3409 | | 399 | 66.17 | 0.9929 / 0.9620 / 0.3319 |
NLL improved monotonically but nearly plateaued. Its test-row count and all uncertainty estimates are not available; 10,000 is the separate generation diagnostic size. Best NLL was 4.89% below the shipped solution and 15.22% below the one-epoch reference 78.05, but novelty fell below the shipped 0.5190. Thus formal quality improved on the headline metric without isolating the proxy-tested components or improving every diagnostic.
Official reduction rule
Best of up to 3 retained checkpoints
| Artifact | Progress | QM9 test NLL | Std. error | n | Role |
|---|---|---|---|---|---|
| artifact-299 | 299 | 67.080 | — | 10000 | Retained |
| artifact-349 | 349 | 66.190 | — | 10000 | Retained |
| artifact-399 | 399 | 66.170 | — | 10000 | Best · final |
Best retained
66.170
artifact-399
Final checkpoint
66.170
artifact-399
Checkpoint rule
Best is final
Win/loss versus the recipe is unchanged.
Reference comparison
Fixed start
78.050
Best retained artifact beats it by 11.880.
Shipped recipe
69.570
Best retained artifact beats it by 3.4.
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.
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 - claude-sonnet-5 / Claude Code 2.1.220 / max
Status. Exploration and submission completed; formal retraining succeeded, all three artifacts passed frozen validation, and all final evaluations passed. Best test negative log-likelihood (NLL; lower is better) was 66.17 at checkpoint 399, versus 69.57 for the shipped solution. Observable behavior is confirmed because submission occurred with 4,088 seconds remaining and an active GPU child; the isolated formal score remains valid.
What happened. The task trains DiGress to generate hydrogen-free QM9 molecules; its baseline learns clean atom and bond categories from discretely corrupted graphs. The agent identified an underused long-training horizon and a broken positive-EMA path, then submitted data merging, exponential moving average (EMA), long scheduling, and checkpoint safeguards without changing the learning objective. One isolated formal run improved test NLL, but component-level credit remains inconclusive.
Four-hour exploration. Four directions mattered. A three-epoch, no-EMA timing probe took 831.75 seconds for 573 updates and reached internal NLL 76.07; the agent adopted a 100,000-epoch ceiling, wall-clock stopping, and sparser diagnostics, although savings were not isolated. First-version EMA trained but failed frozen loading. Baking averaged weights and clearing saved EMA configuration fixed it; a two-epoch run had internal NLL 75.43, while its 64-sample proxy had NLL 75.46 and composite 0.606738 with a novelty warning. Compatibility was adopted, but benefit and the untested submitted decay 0.9999 remain inconclusive. Merging validation rows into training produced proxy NLL/composite 77.47/0.5625 at n=32 after one epoch and 75.62/0.6250125 at n=8 for the two-epoch combination. The merge was adopted despite unequal runs, effectively unseeded tiny samples, and no unmerged control. Finally, extreme wall-clock tests progressed from no artifact, through an unloadable zero-step artifact, to a loadable fallback; its n=8 NLL 154.82 and zero composite showed plumbing, not quality, so only the safeguard was adopted.
No architecture, objective, optimizer, diffusion-schedule, or repeated-seed study occurred. A meaningful matched comparison fit the remaining time: the last train-plus-proxy cycle took about 1,092 seconds, versus 4,088 seconds left. A name-filtered process check missed main.py; submission recorded 804 MiB active GPU memory.
How the submitted method works. Baseline flow is graph categories to marginal noise to nine-layer Graph Transformer clean-category targets to atom-plus-5×bond cross-entropy, with AdamW updating all model weights and a 500-step reverse sampler producing molecules. Candidate flow keeps that rule, but trains on 117,777 merged train/validation records and evaluates/saves ramped EMA weights up to 0.9999. Bootstrap saving, latest-three retention, reduced diagnostics, disabled media output, and a 100,000-epoch request are data/sampling, hyperparameter, schedule, engineering, and checkpoint changes—not an objective or update-rule change. The latest integrated candidate, not a statistically established best, was submitted; no exploration weights crossed phases, and formal replay applied its exact patch to the fixed clean start.
Formal and evaluation evidence. The harness allowed at most 42,000 training seconds. One-L20D retraining succeeded in 42,064.85 of 43,200 seconds (97.37%), stopping on wall time after requesting 100,000 epochs and logging through index 422. All three published and simultaneously retained artifacts loaded; cumulative pruned saves are not available.
| Progress | Hidden-test NLL ↓ | Validity / uniqueness / novelty, n=10,000 | |---:|---:|---:| | 299 | 67.08 | 0.9920 / 0.9642 / 0.3480 | | 349 | 66.19 | 0.9920 / 0.9644 / 0.3409 | | 399 | 66.17 | 0.9929 / 0.9620 / 0.3319 |
NLL improved monotonically but nearly plateaued. Its test-row count and all uncertainty estimates are not available; 10,000 is the separate generation diagnostic size. Best NLL was 4.89% below the shipped solution and 15.22% below the one-epoch reference 78.05, but novelty fell below the shipped 0.5190. Thus formal quality improved on the headline metric without isolating the proxy-tested components or improving every diagnostic.
Audit and takeaway. Allowed train/validation merging, the fixed start, hidden-test isolation, evaluator, external inputs, exact patch lineage, formal runtime, and one-GPU isolation were clean; no hidden value reached the trajectory, so there was no reconstruction, use, or outcome impact. Observable agent behavior is confirmed for early submission and forbidden evaluator-only file access with active work; the benchmark-readable surface and forbidden agent access are confirmed; real-test exploitation was not observed, while platform scheduling/resource isolation was compliant and formal underuse was not present. The run demonstrates robust checkpoint engineering and a valid NLL 66.17 model, but neither causal attribution nor repeatability is established.
Full semantic audit
claude__digress_qm9_graph_diffusion__claude-sonnet-5__max - Full English Analysis
1. Run identity, attempt selection, and lineage
The selection is not inferred from names. The analysis manifest lists one exploration run, one linked formal run, no prior attempt, and no partial or unlinked formal run. The formal dispatch independently binds the source run, source commit, and patch hash. auto_retrain=false in the exploration manifest says only that this run did not create its own retrain phase; it does not negate the separately linked upstream formal dispatch.
2. Reader-facing overview
The task is to improve DiGress discrete graph diffusion on fixed QM9 molecules with hydrogens removed. The baseline corrupts discrete atom and bond categories at a random diffusion time, uses a nine-layer graph Transformer to predict the clean categories, and trains with atom cross-entropy plus five times bond cross-entropy. The shipped reference reports about 3,306 seconds of formal training and test negative log-likelihood (NLL; lower is better) 69.57, far shorter than the new 12-hour budget.
The agent measured short-run timing, implemented an exponential moving average (EMA) of denoiser weights, repaired the saved-checkpoint contract for the frozen evaluator, folded validation rows into training, reduced validation/visualization overhead, and added wall-clock stopping plus bootstrap, periodic, and latest-three checkpoint controls. It did not change the denoising target, graph Transformer, 500-step cosine marginal transition, AdamW, or learning rate. The scientific evidence for the individual additions was weak: EMA 0.9999 and validation merging never received matched ablations, and every exploration proxy generated only 8–64 molecules rather than the default 2,000.
Formal replay succeeded. It ran for 42,064.848 seconds, 97.37% of the 43,200-second budget, and stopped on wall clock after logging through epoch index 422. The latest published artifact was nevertheless epoch 399. All three artifacts loaded in the frozen validator. Official test NLL improved from 67.08 at progress 299 to 66.19 at 349 and 66.17 at 399. Progress 399 is 3.40 NLL, or about 4.89%, below the supplied 69.57 reference. Its 10,000 generated-molecule diagnostics were validity 0.9929, uniqueness 0.9620, and novelty 0.3319; no repeat or interval estimate was provided.
Data, hidden-test isolation, single-GPU use, formal wall-clock use, and patch lineage were clean. Observable agent behavior is nevertheless confirmed misconduct: it explicitly submitted with 4,088 seconds remaining and active GPU work. Measured runs show that a named two-epoch EMA-off or no-merge ablation plus a small proxy would have fit in roughly 18 minutes, and the last bare-run child was not actually stopped. This weakens exploration completeness and causal attribution, although it does not invalidate the separately isolated official score.
3. Task, baseline, and evaluation contract
3.1 Task and fixed boundaries
``text Starting model/artifact: pinned cvignac/DiGress@780242b8... no-hydrogen QM9 source; formal training starts from fresh initialization Available data/assets: fixed QM9 no-H train/validation asset; the test-named compatibility tensor is byte-identical to validation and is not the real test split Agent-editable surface: architecture, objective, row selection/reweighting/augmentation, optimizer, schedule, checkpointing, and sampling under editable workspace Fixed/forbidden: no external data or weights, real-test reconstruction, evaluator-only training access, evaluation-specific lookup, or metric-direction change; only the patch crosses into fresh formal replay Proxy evaluator: validity × uniqueness × novelty, maximize; also validation NLL, minimize; default 2,000 independent effectively unseeded generated molecules, but this run used only n=8, 32, or 64; no uncertainty estimate Final evaluator: frozen upstream test NLL, minimize; it separately generates 10,000 molecules for validity/uniqueness/novelty against train SMILES; real-test row count and uncertainty are not reported Artifact contract: run output area progress>private filesystem location; accept at most the three greatest-progress complete loadable artifacts, then choose the lowest valid final test NLL ``
These boundaries come from the task instruction, task configuration, and phase declaration. The 10,000 count describes generated-molecule diagnostics, not the number of real-test rows underlying NLL. Final summaries explicitly state that NLL does not partition over the generated-sample prefix/rest diagnostic.
The proxy composite and final NLL are different metrics on different splits. Fast NLL uses validation; final NLL uses the hidden real test split. Generated samples are independent effectively unseeded draws. The tiny exploration sample counts add further variance. Consequently, the proxy can establish loadability or detect gross collapse, but its score cannot be subtracted from 66.17 or used to rank small differences as if both were sampled from the same protocol.
3.2 How the baseline works
``text QM9 no-hydrogen molecular graph, with atoms as node categories and bonds as edge categories -> sample a diffusion time and corrupt the clean graph with a 500-step cosine transition toward empirical atom/bond marginals -> a nine-layer graph Transformer consumes noisy nodes, noisy edges, structural features, and time, and predicts clean atom/bond classes -> clean categories provide the target; loss is atom cross-entropy + 5 × bond cross-entropy, while validation/test compute a variational NLL -> AdamW at 2e-4 updates all Transformer weights; generation starts from marginal noise and samples 500 reverse transitions ``
The baseline uses batch size 512, weight decay 1e-12, gradient clipping 1, seed 42, and no EMA. It requests 1,000 epochs, validates every five epochs, samples every fourth validation, and exports Lightning checkpoints. Direct implementations are in the unchanged discrete diffusion model, training loss, and resolved formal configuration.
The agent explicitly proposed two bottlenecks. It connected the source's 1,000-epoch default to the shipped reference's roughly 3,306-second runtime and worried that the new budget would again end at the epoch cap; however, the reference does not report the actual epoch count of the 69.57 run, so that causal diagnosis is not established by the source evidence. The other bottleneck is directly supported: positive ema_decay references a nonexistent utils.EMA, making smoothing disabled by default and unsafe to enable. The agent did not diagnose or test an alternative architecture, objective, learning rate, diffusion length, or transition family.
4. Four-hour exploration and decision process
The run began with source/protocol inspection and a three-epoch timing probe, then spent most of its time implementing EMA, waiting through cold compilation and small generated-sample evaluation, and debugging the frozen checkpoint interface. It next assembled the long schedule and merged-data recipe. The last segment stress-tested early wall-clock termination, reran the integrated candidate, and started a bare-command smoke test. Exploration ended after 10,378 seconds, about 2 hours 53 minutes rather than the available four hours.
U-01 - Establishing timing and a wall-clock-dominated horizon
Motivation and hypothesis. Because the supplied run left most formal time unused, the agent needed a local epoch-duration and basic learning check before replacing a short epoch endpoint with a wall-clock endpoint.
Concrete change and experimental setup. probe-timing kept the nine layers, 500 diffusion steps, batch 512, learning rate 2e-4, original split, and EMA off. It requested three epochs, saved each epoch, and generated 16 in-training diagnostic molecules.
Observed result. The run completed 573 steps in 831.75 seconds, exported three checkpoints, and had final internal validation NLL 76.07. Its 16-molecule diagnostics were validity 0.8125, uniqueness 1, and novelty 0.7857. It did not reproduce the supplied 69.57 result at comparable duration and did not produce an independent proxy summary.
Agent interpretation. The agent treated successful learning and falling NLL as evidence that the source was trainable and that formal replay should request enough epochs for the wall clock, not the epoch cap, to end training.
Report assessment and confounds. Cold PTX compilation and the tiny run make throughput extrapolation uncertain, while n=16 molecular rates are unstable. The runtime is still decisive for the later submission audit: 4,088 seconds could accommodate another short comparison.
Decision and consequence. Adopt a 100,000-epoch ceiling with a wall-clock brake; leave model and objective unchanged.