Scope: everything below is sourced from the two king logs, the eight queen digests, the Emperor's tick-1 log and the
train EDA; worker files were opened only for research/q7_compute_execution/ninety_day_plan_milestones_risks_and_kill_criteria.md
(plan dates), research/q4_challenge_intelligence/casmi_history_2012_2022_winners_methods_lessons.md (2022 figures) and
one line of research/q3_natural_product_chemistry/enveda_platform_isolation_profiling_what_analogs_means.md. Where
queens or kings disagree, both numbers are given. Confidence tags are the queens' own.
1. The problem, formally
Inputs. Per hidden molecule_id: 1–16 spectra (median 3), each a raw-integer-count centroid peak list
(ms2_mzs, ms2_normalized_intensities with base peak = 1.0, base_peak_intensity in counts), precursor_mz,
adduct (7 strings in the visible file; q1/q4 count 10 in official texts — unresolved), ionization_mode,
instrument_type = timsTOF always, collision_energy_ev as a list ([20], [40], [60] or [20,40,60] = merged). No MS1,
no isotope pattern, no retention time, no ion mobility. Test precursor range in the visible file is 245–460 m/z, but
that is the Enamine HLL-200 mass band of the decoy (99.67 % of enveda-180 monomers), not an organiser filter;
42 % of enveda-np-examples lie outside it (q2, high).
Outputs. Up to 25 semicolon-separated SMILES per molecule_id, best first.
Metric. MRR@25 = mean over molecules of 1/rank of the first correct guess, 0 if none in 25. Correctness:
MolFromSmiles → rdMolStandardize.TautomerEnumerator().Canonicalize → MolToInchiKey[:14], RDKit 2026.03.3 pinned via
the metric/rdkit-2026-3-3-wheel dataset; a heavy-atom-composition gate precedes canonicalisation; comma-separated
multiple acceptable truths are supported; no salt stripping ([Na+].CC(=O)[O-] ≠ acetic acid). >25 tokens, NaN or a
duplicate molecule_id rejects the whole file; invalid or duplicate SMILES silently burn slots; missing ids score 0
(q4 high; q2 medium — official notebook reconstructed from three write-ups, 2026.03.3 ≡ 2026.03.6 on all local tests).
What the metric cannot see. Stereochemistry (all of it), tautomers that RDKit merges (3-hydroxyflavone keto/enol,
curcumin, tetracycline, usnic acid, anthrone/anthranol, naphthoquinone, imine/enamine — but not chalcone/flavanone,
two keys), charge and isotope labels. Consequences measured by q3/q2: canonicalisation changes 1.61 % of train keys,
merges 1,541 train label groups (58,954 spectra), splits 11 skeletons, changes 12–17 % of NP keys and 2.3 % of
COCONUT keys (one team lost 0.105 on that subset), is stereo-dependent for 0.45 % and non-idempotent for 0.3 %.
35 % of COCONUT rows are stereo/tautomer "spellings" of another row (steroids 54 %, macrolides 59 %, glycosides 47 %).
Canonicalize() hits maxTransforms=1000 on polyphenols (quercetin 363 tautomers / 179 ms, rutin 357 ms) with no
warning, but raising the cap to 20,000 changed zero of 8 polyphenol IK14s; the residual exposure is de-novo SMILES in
odd tautomeric forms (q7 high). Rule: one slot per canonical key; canonicalise unique structures once, offline, never in
the scoring loop (17.5 ms mean, >0.4 s p99).
Noise on the metric. Per-molecule reciprocal rank at mean ≈ 0.4 has SD ≈ 0.45 → SE ≈ 0.022 on 400 molecules, ≈ 0.04 on the ~130-molecule public subset (public fraction ≈ 33 % from one kernel, low confidence). Byte-identical reruns moved up to 0.105 (q4). Random-ranker baseline = H₂₅/n = 3.816/n (q7).
2. What is actually measured
Instrument chain (reconstructed from data; nothing published). Bruker timsTOF Pro 2, ESI, PASEF; quadrupole isolation 2 Th below m/z 700 and 3 Th above (Meier 2018); CID at fixed lab-frame 20/40/60 eV — not a 1/K0 ramp (q1, high; 186,392 train (IK14, adduct) groups have all four patterns). "Merged" rows are the per-m/z raw-count sum of the three scans, re-centroided (reconstructed on 595/600 quartets; effective weights ≈ 0.5/0.4/0.1; merged median 258 peaks vs 88–132 singles); 26.6 % of enveda-180 and 24.6 % of test rows are merged; 68.5 % of test molecules have one. enveda-np-examples instead use ";"-separated lists and 35/50/80 eV (q2).
Where information is created. Precursor survival for [M+H]+ at 250–450 Da: ~11–13 % of TIC at 20 eV, absent in 63–72 % of spectra at 40 eV and 99 % at 60 eV. Same-molecule 20 vs 60 eV sqrt-cosine is only 0.285 — the three energies are close to independent views, and the merge erases the energy-breakdown dimension (q1, q3).
Where information is destroyed, and the artefacts that replace it. (i) Isolation-window leakage: precursor peak in 45.9 % of timsTOF spectra, M+1 in 38.7 % (GNPS-Orbitrap 6.1 %), M+2 in 21.7 % (0.7 %); M+1/M p50 = 0.18 → near-full transmission inside 2 Th. (ii) 13C satellites at +1.0034 Da on 71.1 % of peaks ≥ 5 % (control 3.0 %; GNPS-Orbitrap 14.0 %). (iii) Raw integer centroids, floor exactly 9 counts, no cap (p95 823 peaks): 91.8 % of peaks < 1 % of base, 75.1 % < 0.1 %, 39.8 % < 0.01 % (GNPS-Orbitrap 60/16/5 %). (iv) Peak count tracks abundance: Spearman(bpi, n_peaks) = +0.71; weakest tercile median 30 peaks, strongest 332. (v) Low-mass fragment bias: C5–C9 fragments read +0.3–0.6 mDa (+4 to +6.5 ppm) high, gone by m/z 180; sub-m/z-40 peaks are non-recurring noise (mechanism unknown). (vi) 2.44 % of peaks lie above the precursor, all ≤ +2.12 Da in enveda-180, ≤ +2.00 Da in np-examples (q1/q2 — which trim the hidden set uses is open). (vii) Water loss in 17.7 % of enveda-180 and 29.4 % of np-examples [M+H]+ spectra vs 10–15 % in public libraries.
Collision-energy currency. Train's collision_energy_ev for Orbitrap rows is NCE·m/z/500·f(z) (f = 1/0.9/0.85;
99.8 % reproducible). On 2,421 same-molecule timsTOF/Orbitrap pairs, timsTOF 20 eV ↔ NCE 20 (sqrt-cosine 0.82), 40 ↔ 45
(0.70), 60 ↔ 60 (0.61), merged ↔ NCE 30–45; i.e. the parquet's eV over-states NCE ~1.4× and NCE-conditioned models
should be driven at ~0.7× the formula value (q1, medium — own measurement). QTOF→Orbitrap shift in the literature is
~4–4.7 eV; no published small-molecule timsTOF-vs-Orbitrap MS2 study exists.
Mass accuracy. Recomputed (signed, electron mass included) timsTOF precursor error: enveda-180 |ppm| ≤ 5.13 (99.98 % within ±5, 98.1 % within ±4), median 0.98 ppm, with a +1.9 ppm positive-mode bias of unknown cause; np-examples [M+H]+ p90 3.38 / max 8.7 ppm, [M−H]− max 21.1 ppm. Errors are correlated within a run. ±5 vs ±10 ppm windows were LB-neutral in one write-up (0.302/0.303). Fragment tolerance: max(10 ppm, 5 mDa) plus a −0.4 mDa correction below m/z 150; a bare symmetric ±5 ppm sub-formula window rejects about half of true C5–C9 fragments.
Noise model to score against (q1 GT worker). SIRIUS-style Gaussian ppm + Pareto intensity noise, extended with
CE mixing weights, a per-spectrum ppm offset, 13C satellite pairing and a low-mass cut-off; specified as a log-odds
scorer to A/B against entropy similarity. The five-step "telluric mask": delete m/z > precursor − 0.02; merge
+1.00335 ± 0.005 satellites with 0.02–0.5 ratio into the parent; cut < 20 counts; subtract 0.4 mDa below m/z 150;
optional frequency weighting (sign to be tested). matchms default intensity_from=0.001 deletes 75 % of a timsTOF
spectrum; MassSpecGym's ">300 peaks" rule discards ~25 % of enveda-180.
Adducts. Five of ten test adduct strings are exactly isobaric with [M'+H]+/[M'−H]− of another formula; Na−H vs C2−2H differ by 2.4 mDa; build the window around the molecule-level consensus neutral mass across its 1–16 spectra, never per spectrum; admit H↔Na-swapped (Δ 21.981944 Da) and NH4/NH3-ambiguous neutral masses at low prior in slots ~20–25 (q1/q6). Adduct intensity ratios are kinetic; no equilibrium constant exists (Saha analogy died).
3. The data, forensically
Libraries (research/_meta/train_eda.md): 2,539,608 spectra / 275,810 IK14 / 51,291 formulas / 82 instrument
labels / 121 adduct strings. timsTOF = 1,154,969 rows = enveda-180 1,153,785 (182,941 structures; Enamine HLL-200 on
timsTOF Pro 2; Zenodo 10.5281/zenodo.20436851, 29 May 2026; 1,158,293 spectra / 184,330 compounds at source, train has
4,508 fewer) + enveda-np-examples 1,184 (250 structures; Kaggle page says 1,151). Public libraries: pluskal_ms2
527,581 / 46,821; riken 347,171 / 15,892; gnps 220,849 / 45,750; massbank 101,727 / 9,180; mona 92,416 / 11,681;
spectraverse 50,933 / 9,631; msdial 40,765 / 9,127; drug_plus 2,545 / 2,539; masaryk 652 / 416. Median peaks per
spectrum range from 9 (riken, massbank, masaryk) to 142 (np-examples). 64.6 % of train precursors fall in 245–460 m/z.
Biases (library barcodes). Intensity floors: MassBank 1/999, MS-DIAL 0.01, RIKEN 0.01/0.005, pluskal ~7e-5,
timsTOF none; base_peak_intensity null in exactly the 7 public libraries; GNPS/drug_plus/masaryk 100 % null CE;
seven of 11 libraries ship a computed precursor m/z (pluskal 99.3 %, msdial 96.5 %, drug_plus 93 %, massbank 76 %,
mona 69 %, spectraverse 60 % equal theory). The shipped precursor_error_ppm is |error| without electron mass,
computed before a formate relabel: 52,460 rows show ~2,400 ppm; r = −0.02 with the true signed error; only np-examples
is signed and correct. 62,834 rows lie beyond 20 ppm uncleaned (mostly pluskal negative-mode formate rows). Polarity
contradicts adduct sign in 6,087 rows. A corrupt precursor_mz of 2,430,333 exists. 1,612 IK14 groups have >1 SMILES
(1,477 tautomer, 118 charge, 17 isotope); 0 stereo, 0 label noise, 0 multi-fragment SMILES.
Adduct mix. enveda-180: 51 % [M+H]+, 16 % [2M+Na]+, 8 % [2M+H]+ (29 % dimers overall; 282,074 rows); test: 79 % [M+H]+, 16 % [M−H]−, no dimers. Dimers dissociate to monomers at 20 eV, so all-adduct survival statistics are wrong; 1,942 two-energy merges (median 5–9 peaks) are junk. If the hidden set was thinned like the decoy, negative mode is ~1.3× under-represented.
Decoy test. 1,213/1,213 visible rows join uniquely to enveda-180 on (precursor_mz, num_peaks, base_peak, adduct);
400 ids → 400 IK14; 395 exist only in enveda-180. Structure selection is random (within the 95 % band of 2,000 random
draws); row selection is not: 0/664 dimer rows kept, 1,213/1,818 monomer rows kept (0.71 positive / 0.53 negative;
keep-rate rises 0.59→0.71 with base-peak quintile). Decoy chemistry (0/400 in COCONUT, NP_Score −1.47, 36 %
halogenated) says nothing about the hidden set. Public kernels detect commit-vs-rerun via SHA256 of test.parquet.
Domain shift. The timsTOF stratum of train is a chemistry decoy: 51/182,941 enveda-180 structures in COCONUT (0.028 %); test chemistry 0.4 % F vs enveda-180 23 % F. Train ∩ COCONUT = 26,111 IK14 (9.47 %); the 9 public libraries hold 95,157 IK14 of which 26,068 are COCONUT — the entire "NP with any train spectrum" universe, none on timsTOF. Train's whole timsTOF stratum contains 27 (+) / 21 (−) O-hexoside spectra and zero strict oleananes; glycoside and saponin behaviour on timsTOF is met for the first time in the hidden set. Only 2,538 structures are measured on both timsTOF and another instrument ("P-inst" set). Library-search sensitivity cross-instrument is 88.0/91.5 % vs 99.5/99.7 % self; 95.1–98.4 % within 20–50 eV vs < 81 % at QqTOF 5–10 eV.
Leakage. All 250 np-examples structures are in other libraries (RIKEN 246, GNPS 233; 0 exclusive) — hold them out by IK14 across every library plus analogs at MCES < 10 / Tanimoto ≥ 0.7. A per-spectrum split puts ~94 % of structures on both sides. Random train splits predicted the opposite ranker order to the LB; decoy-shaped folds gave 0.456 local → 0.112 LB and 0.445 → 0.063. MassSpecGym audit (arXiv 2606.19624): problems in ≥ 17/26 papers; 82.41 → 6.70 % hit@1 when a canonicalisation shortcut was removed; spectrum-blind PubChem order 49.98 % hit@1; formula leak 30×; MIST R@1 67.75 % (simulator saw test) vs 53.76 % clean; padding-mask bug +21 points. Public FPNet weights: 0.94 Class-2 MRR on seen structures vs 0.477 held-out. The organisers co-authored that audit — assume the answer key defeats canonicalisation and PubChem-order shortcuts. Always report a spectrum-blind baseline.
Fold spec that exists (q2): heldout_A = 1,977 structures / 13,556 timsTOF spectra (250 np-examples + 1,727 NP-like enveda-180); heldout_B = 293 strict database NPs. q7 owns the truth-absent hold-out (~1,000 scaffold- and IK14-disjoint NPs, analogs removed, truth deleted from the pool for a random half, test adduct × n-CE mix); the 250-structure three-mask backtest is the primary selector (the only local test that predicted LB order, three teams).
4. Candidate coverage — the ceiling
MRR@25 ≈ c·r·e. Back-solved at the LB-0.417 tier (q6, medium): c (truth in pool) ≈ 0.55–0.61, r (ranked ≤ 25 | in pool) ≈ 0.90, e (mean 1/rank | ranked) ≈ 0.76; headroom c +0.27, e +0.13, r +0.05. Within-hit MRR across ten write-ups is 0.75–0.95; the within-list hit curve fits k^−2.07 (64 % of hits at rank 1, 92 % in top 5); slots 1–5 carry ≥ 93 % of expected value.
Class mixture of the hidden set (two write-ups, open): Class 1 (reference spectrum exists) 16 % at channel MRR 0.917; Class 2 (structure in some DB, no spectrum) 45 % at 0.465; Class 3 (in no database) 39 % at 0 → single-pool ceiling ≈ 0.36 — versus 16/27/55, which moves the retrieval ceiling from ≈ 0.61 to ≈ 0.45 (q4).
The map: COCONUT Oct-2026 738,794 rows → 728,390 full InChIKeys → 479,690 IK14 (q6 and q3 independently); LOTUS v11 +254; NPAtlas 3.0 +138 (CC BY-NC); THEOBROMA 29-source union 486,215; SuperNatural/NPASS/KNApSAcK ~0. 28.5 % of COCONUT has NP-likeness ≤ 0; 38,771 revoked rows and the 1,761-entry C6H5N3O bucket must be dropped. PubChem: 124,717,116 CIDs; a ±10 ppm window there is ~10⁴ candidates. ±10 ppm in IK14-dedup COCONUT: median 36, mean 87, p90 204 (300–400 Da median 64; 400–500 Da 49; 500–600 Da 20); stereo-expanded median 107; ±5 ppm median 27, p90 193. Same-formula skeletons in 244–459 Da: median 35, mean 76, p90 198; 58 % face ≥ 25. Adding train IK14s raises the window median 36 → ~56 with ~zero coverage gain for novel NPs.
Pool-size evidence: MetFrag 338 → 2,508 candidates moved median rank 8 → 31.5; CSI:FingerID 68.5 → 34.4 % top-1 (biodatabase → PubChem); MetFrag fragmentation-only 22 → 6 %; LB: train+COCONUT 0.112 → train+PubChem 0.079 (−30 %; 68 % of top-1 slots stolen); Enamine tier −0.013; +62,744 ChEBI/LIPID MAPS +0.000; gated PubChem top-50 (library confidence < 0.7) +0.011; ungated one-step analog enumeration +0.000. Counter-evidence: CASMI 2016 (PMC5368104) found performance worst at 200–1,000 candidates — confounded by formula, so stratify any pool experiment by formula (open). Prior-density ratio COCONUT : PubChem-only ≈ 1,500–2,000× → a PubChem candidate needs ~7 nats of spectral evidence. Insertion break-evens from Stone's theorem: slot 1 needs P ≥ 0.2, slot 5 ≥ 0.006; appending at 11–25 costs 0.0001–0.0003 MRR per slot.
Ways to raise c: one-step analog enumeration (15 operators) reaches 82.8 % of np-examples but only 38.7 % of random COCONUT (upper bound ~2× optimistic for the hidden set), at ~28× dilution (window pool ~1,015 vs 35); five operators (dehydroxylation, sp3/aromatic hydroxylation, O-methylation, O-hexosylation, O-acetylation) give most of the reach at ~1/5 of the dilution; 95.7 % of COCONUT keys have a one-step tailoring relative; 247/250 np-examples do. Expected gated gain +0.03–0.05 (q6) / +0.01–0.04 (q3), not +0.2. The med-chem analog slice of the hidden set (15–25 %, q3's model) is unreachable by COCONUT policy (F and sulfonamide entries deleted at import). De novo is a Class-3 slot filler only (§5). Formula-first hard filtering is a net loss: the true formula already covers 62–90 % of in-window COCONUT structures (median 2–4 formulas per window), MS2-only formula top-1 is 50–77 % on honest benchmarks; break-even P(formula) ≈ 0.75–0.9 → soft multiplicative feature, hard-gate only on mass and adduct.
The single most load-bearing unmeasured number is π_in — np-examples ∩ COCONUT under RDKit 2026.03.3 (open: 249/250 computed on standard keys vs "8 of 250" in one write-up, almost certainly a keying error; ~50 CPU-h recomputation queued for Explorer).
5. Methods, ranked by evidence for THIS test
Ranked by evidence of transfer to novel NPs on timsTOF, not by paper headline. "Comparable data" = structure-disjoint NP retrieval or the CASMI-26 public LB.
| # | Method | What it needs | Best reported number on comparable data | Failure mode | Cost |
|---|---|---|---|---|---|
| 1 | Spectrum → substructure fingerprint (Morgan r2+r3+MACCS / FPNet) + COCONUT ±10 ppm pool + Tanimoto, LightGBM/HGB LambdaRank reranker, RRF of 2–3 engines, library lock at lib_max ≥ 0.9 | train spectra, pool, GPU-hours (25 M-param transformer ≈ 2 min/epoch on H200, ~$10 for 50 epochs) | every ≥ 0.37 public kernel; LB 0.42–0.48; single MLP + pool 0.11–0.25; four fingerprint variants within 0.007 LB | isomer blindness (hesperidin/neohesperidin indistinguishable; glycoside-position classifier tops at 84.7 %); learns library barcodes and dimer mix; recall ceiling c ≈ 0.55 | low–medium |
| 2 | Library search (modified cosine / entropy similarity, RRF across a molecule's spectra) | train spectra only | LB 0.098 / 0.063 alone; Class-1 channel MRR 0.917 | useless for the ~84 % without a reference spectrum; cross-instrument sensitivity 88.0/91.5 %; CE mismatch −8–12 points | CPU minutes |
| 3 | Candidate-set softmax cross-entropy over the real mass-matched pool (MSAlign 2026) as the training objective | same as #1 plus pool at train time | 47.5 % vs 19.5 % R@1 for the same encoder vs in-batch InfoNCE; fusion weights on dev MRR → 58.2 % | unaudited preprint; hard negatives give no gain in two papers; nobody optimises MRR directly | low (loss change) |
| 4 | Jointly fitted stacker over calibrated log-LR features (LightGBM lambdarank), RRF k=60 as the no-training control, CombMNZ bake-off | ≥ 2 engines with an admission gate | CASMI 2016 six-method consensus Top-10 166/208 vs 131/208; six-fragmenter fusion top-1 82 vs 70; RRF +4–5 % over best (Cormack 2009); simulated +0.03–0.06 | rank-averaging loses to the better engine at ρ ≥ 0.3; independence combiners stop helping at ρ ≈ 0.6; weaker engine halves the consensus gain (+0.038 → +0.018); no MS paper with a LambdaMART ablation could be opened | low |
| 5 | Gated pool extension: PubChem top-50 when library confidence < 0.7; five-operator one-step analog enumeration when top-1 posterior is weak; posterior-sorted seating | calibrated posterior (isotonic), absence detector (AUROC ≥ 0.8, ECE ≤ 0.05) | +0.011 (gated PubChem, LB); predicted +0.01–0.03 over quota seating, +0.03–0.05 over single pool (untested) | ungated: +0.000 (analogs), −30 % (PubChem); detector degrades under shift; "in-DB?" gate showed no signal (42.8 % vs 59.4 % base rate) | low–medium |
| 6 | Telluric mask + energy-response map R(fragment m/z, precursor m/z, CE) fitted on 2,421 dual-instrument pairs | parquet only | specified, not measured; keep if MRR@25 +0.02 on the three-mask backtest and base-peak-tercile curve flattens | R is molecule-dependent (CID is kinetic); fragmenters are the weak link | CPU < 1 h |
| 7 | In-silico fragmenters / forward models (MetFrag, CFM-ID 4, ICEBERG 2, GLACIER) as an orthogonal channel | candidates, wall-clock budget | MetFrag 24/208 top-1 (CASMI 2016); on 87 never-seen challenges MetFrag+CFM 13 ≈ CSI:IOKR 16 ≈ CSI:FID 13 | none models timsTOF CE (CFM-ID fixed 10/20/40 eV; MassFormer NCE only); MS-FINDER ignores intensities; even-electron fragmenters under-generate CH3• losses; fixed budgets starve (18 % coverage at 300 s) | MetFrag 0.02–0.1 CPU-s/cand; CFM-ID 5–11 CPU-s/mol; ICEBERG 2 46.4, GLACIER 368.7 spectra/s on 2×A5000 |
| 8 | Class-specific neutral-loss / diagnostic-ion log-LR priors (19 SMARTS rules; hexose LR+ 46, deoxyhexose 40, pentose 22, glucuronide ~270, tropane 124.1121 LR+ 42, desosamine 158.1176 LR+ 369, aryl-OMe CH3• 35 (−)) | SMARTS pass over candidates | measured on 142,728 stratified train spectra | absence is never evidence (86 % of hexosides show no 162 loss; sensitivity 0.33 → 0.02 with mass); double counting with fingerprint bits (ρ ≈ 0.6) → ≤ +0.01 when a fingerprint model is present; terpenoid ladders LR+ ≤ 2.6; hydroxycinnamoyl esters mimic sugars at 15–21 mDa | negligible |
| 9 | Formula posterior as a soft feature (MIST-CF / BUDDY / FIDDLE / SIRIUS-style tree) | MS2 only (no MS1) | MIST-CF 50.5 % top-1 (MassSpecGym MCES), 74–77 % NPLIB1; FIDDLE 90.6 % ≤ 800 Da, 64.2 % > 800 Da; SIRIUS < 10 % error below m/z 300, > 50 % toward 800 | hard filter displaces the whole posterior; MIST hit@1 halves (51.45 → 26.64 %) on predicted formulas | low |
| 10 | MIST (MIT, open) | weights, offline packaging | 14.64 % hit@1 MassSpecGym (random 0.37 %); 9.57 % on formula-restricted sets | padding-mask bug; CE-string parsing → NaN logits for 1,212/2,499 queries in one run | medium |
| 11 | DreaMS (116 M params, MIT, HF weights) | weights (≤ 700 M GNPS spectra pretraining) | audited retrieval 6.7 % hit@1 | tail filler only in public kernels | medium |
| 12 | Popularity / reference-count priors, multi-database attestation | PubChem/ChemSpider counts | MetFrag top-1 30 → 336 → 420 of 473; 143/208 CASMI 2016 at rank 1 from counts alone; LB +0.004…+0.011 in one lineage, monotonically negative in another | inverted on a never-published test; rankers learn it implicitly via training-spectrum counts — audit score-vs-train-count correlation; use only on the library-hit class, gated | zero |
| 13 | De novo generation (DiffMS, FRIGID, DualLGD, MS-GPT, MSNovelist) | 1–3 GB weights, 0.93–7 s/spectrum, true formula | 0.00 % exact without formula on the structure-disjoint split; with true formula + [M+H]+: DiffMS 2.3 %, FRIGID 18.3 %, DualLGD 23.9 %, MS-GPT 23.9/28.7 % top-1/10 | SELFIES 100 % valid, 0 % exact; DiffMS drops 2.30 → 1.86 % on predicted formula; all numbers [M+H]+ only; licences (3DMolMS NC-SA, FRIGID unresolved) | high |
| 14 | CSI:FingerID / SIRIUS / CANOPUS | licensed web service | CASMI 2016 70 → 36 top-1 with training overlap removed; 68.5 → 34.4 % bio → PubChem; CANOPUS "99.7 %" is a sparsity artefact, CASMI 2022 best class 69 % | unusable offline in a Kaggle rerun | n/a |
| 15 | PRISM (Enveda/Microsoft, 1.2 B spectra) | — | relative numbers only (+23.3 % retrieval hits vs unnamed baseline) | no weights, code or preprint; nothing to build on | n/a |
Intensity handling (q8): every optimised exponent since 1994 is 0.25–0.6; Li 2021's entropy-adaptive rule switches the minor-peak boost off above spectral entropy 3; no published ablation removes the base peak; Hart 2024 up-weights common m/z. Cap to top-K ≈ 100–150 peaks and check MRR is flat across base-peak terciles. Strip > precursor − 1.0 Da (the surviving precursor is the base peak in 25–29 % of merged [M+H]+ and inflates cosine for every right-mass candidate).
6. Cross-domain transfers worth testing
From the two king logs; each with its one-line test and kill rule.
- Telluric / cosmic-ray mask (astronomy, q1). Run the public FPNet/HGB pipeline on the three-mask np-examples backtest with and without the five-step mask; keep if MRR@25 rises > 0.02 and the base-peak-tercile curve flattens.
- Instrument response function (astronomy, q1). Fit R(fragment m/z, precursor m/z, CE) on the 2,421 pairs; scaffold-split MRR@25 on a COCONUT ±10 ppm pool with ICEBERG scores ± R; kill if gain < 0.01.
- Custody log of a number (forensics, q2). Recompute signed ppm with electron mass for all 2.54 M rows, re-filter at 20 ppm; the 62,834 "beyond 20 ppm" rows should shrink to true outliers; check whether the +1.9 ppm bias vanishes under one m/z convention.
- Standard of proof → posterior-sorted seating (law, q4). Same candidate scores, block seating (13–15 primary then hedges) vs posterior-sorted; keep if ≥ +0.01 on the np-examples backtest; the first alternative-hypothesis candidate belongs at seat 2 unless P(primary) ≥ 0.90.
- Daubert known error rate (law, q4). Re-submit a byte-identical notebook; if variance approaches the observed 0.105, all model selection is local; never promote on an unpaired LB delta < 0.04.
- Timbre / overtone ratios (music, q3). Add the 19 SMARTS log-LR rules to the reranker; expect ≤ +0.01 with a fingerprint model present, more on enumerated/de-novo candidates; kill if glycoside MRR falls.
- Enharmonic spelling (music, q3) — already decisive. Count duplicate canonical keys in any public top submission; each is a dead seat; one slot per metric key.
- Stone's optimal search (search-and-rescue, q6). Union of {library, COCONUT ranker, gated 5-operator analogs, gated PubChem top-50} ordered by isotonic-calibrated posterior vs fixed 15/7/3 quota vs COCONUT alone, on the three-mask set + a masked-COCONUT set (MCES ≥ 10 from train); report (c, r, e) per class; kill if posterior ordering is not sign-consistent in ≥ 70 % of class × adduct cells.
- Mock-witness test (eyewitness line-ups, q7). Ranker on precursor m/z + formula + adduct only, no MS2; if it beats H₂₅/n the pool is biased and local scores harvest line-up bias. Cheapest experiment in the hive (CPU-hours).
- Morelli's minor details (art attribution, q8). Intensity ablation on an isomer-rich hold-out: base peak removed / peaks < 10 % only / sqrt / log / entropy-adaptive; readout = isomer-swap rate and MRR@25; stratify by spectral entropy to locate the Li 2021 boundary; < 1 GPU-day.
- Mosteller–Wallace function words (stylometry, q8). z-score each candidate's explained common-loss profile (H2O, CO, CH3) against the corpus norm as one LightGBM feature; keep only if the paired-bootstrap CI excludes 0.
- Known-plaintext cribs (cryptanalysis, q8). Fit ppm offset, CE response and score temperature on the ~40–150 confident library hits in the hidden set, apply to the rest; kill if the gain is confined to the library-like tail.
- Open-set assignment (eDNA taxonomy, q8). Absence detector (AUROC ≥ 0.8, ECE ≤ 0.05) routes slots 11–25 to a gated analog/PubChem generator; negative control: routing must not lower MRR on the truth-present half.
- Class-conditional likelihood ratios (differential diagnosis, q5). Per-bit naive-Bayes rescoring conditioned on NPClassifier class; success ≥ +0.02 Class-2 MRR in glycosides.
- P-inst (q5/q1, not a lens but the highest-value measurement). Any learned method on the 2,538 dual-instrument structures, with and without the mask; if the timsTOF penalty collapses, no timsTOF fine-tuning is needed.
Duds kept honestly: sky subtraction (recurring m/z bins are chemistry), Saha equilibrium for adducts, burden shifts / double jeopardy, decoy halogen fraction as a hidden-set hint, Enigma-style deterministic elimination (rules explain 78–85 % of ions → would discard 15–22 % of truths), sequential cascade (killed three ways: simulation, ROC literature, q8), double-blind administration (only pre-registration survived), beam-search curse (moot), hard "diagnosis of exclusion" switching (no in-DB signal).
7. The 90-day plan
Calendar: 68 days from 2026-10-07 to 2026-12-14 23:59 UTC; team-merge deadline 2026-12-07; 5 submissions/day, 2 final
picks; ~9 h rerun ceiling, internet off (one GitHub mirror — medium); Kaggle image is Python 3.13 with no RDKit (the
rdkit==2026.03.3 cp313 wheel, 37,187,145 B, must be vendored as a dataset); to_pandas() on the list columns costs
25.7 GB in a 29–32 GB session — use pyarrow or a flattened float16 top-100 layout (0.80 GB). Kaggle GPU quota 30 h/week
→ ~6–10 scored GPU submissions per week. Explorer: public gpu partition 4 h default / 8 h max, 104 pending vs 52
running; gyorilab 4×H200 (30-day MaxTime) fully occupied by 26 d / 11 d / 11 d jobs; /scratch 91 % full; proxy
http://10.99.0.130:3128; scp not rsync; CRLF breaks sbatch. Modal A100-40GB $2.10/GPU-h (not the brief's $1.40; q7's
plan file quotes A100-80GB ~$2.50/h, H100 ~$3.95/h). All parquet computation on this box serialised; the ~50 CPU-h
RDKit canonicalisation job runs on Explorer.
Milestones (q7, week by week): W1 Oct 07–11 data + pool downloads + pinned RDKit in all three environments; W2 Oct 12–18
minimum viable library-search submission by Mon 10-12, scored by Wed 10-14, metric.py reproduces MRR@25, structure-
disjoint split by IK14; W3 Oct 19–25 unified pool (train ∪ COCONUT ∪ LOTUS ∪ NPAtlas, canonical-key dedup, adduct
table), recall report at ±5/10/20 ppm, target recall@25 ≥ 0.60; W4 Oct 26–Nov 01 spectrum→fingerprint model on
Explorer; W5 Nov 02–08 LambdaRank reranker + paired-bootstrap harness; W6 Nov 09–15 stress test (1,600 spectra / 450
molecules ≤ 6 h on Kaggle GPU, OOM guard, schema-robust loader); W7 Nov 16–22 second orthogonal scorer + culprit-absent
gate; W8 Nov 23–29 ablations, per-adduct/per-CE behaviour, slot-waste rate = 0; W9 Nov 30–Dec 06 code freeze 12-04, both
final candidates scored once without error; W10 Dec 07–14 final two selected by 12-11 23:59 UTC, code packaged for
open-sourcing. The Emperor's recommendation inserts two experiments before any model work: the mock-witness test and
the np-examples three-mask backtest harness.
Kill criteria (dated 23:59 UTC): K1 10-14 no non-error LB score > 0 → modelling stops; K2 10-25 pool recall@25 on
local val < 0.50 → week 4 reassigned to the pool; K3 11-01 any de novo branch < 0.15 local MRR → dropped; K4 11-08 no
new architecture may start; K5 11-15 stress rerun > 6 h or OOM → halve per-molecule budgets; K6 Modal spend ≥ $120 by
11-30 → Explorer only; K7 11-22 ensemble < +0.010 over best single with CI excluding 0 → ship the single; K8 12-04
freeze; K9 12-06 12:00 UTC team merged or proceed solo; K10 12-11 final two selected; K11 standing: any claimed gain
< 0.010 or CI containing 0 is a null result; K12 from 10-20: local gain with LB drop > 0.04 → investigate val/hidden
mismatch. Final-two rule (fixed 10-20): Pick A = highest local structure-disjoint MRR within 0.05 LB of the best
eligible; Pick B = highest public LB, or a different scorer family within 0.02 local of A; ties break to shorter rerun.
Pre-register in hive/PREREG.md by 2026-10-20.
Validation gates for any confidence-driven decision (q7/q8): monotone CAC curve, ECE ≤ 0.05, AUROC(absence) ≥ 0.8; freeze first-pass scores before any LB steering; paired bootstrap over molecules; accept a gain only if sign-consistent in ≥ 70 % of class × adduct × n-CE × mass-tercile cells standardised to the hidden case-mix.
Human task (not an agent): a logged-in read of Kaggle Rules §2.6, Overview, discussion 741404, the public/private
fraction, notebook RAM/GPU/9-h limits, copied verbatim into research/_meta/kaggle_verbatim.md.
8. Contradictions still open
Carried forward unresolved from the Emperor's tick-1 list, plus those the kings and queens flagged that the Emperor did not list. None is silently resolved here.
- Hidden spectra count: ~1,500 (Kaggle mirrors) vs ~2,500 (press release). 2,500/400 = 6.25 = enveda-180 all-adduct mean; 1,500/400 = 3.75 = monomer-only thinned. Decides whether dimers and the thinning operator apply.
- Test adducts: 7 (brief, q2, visible file) vs 10 (q1, q4 official texts). [M−H2O+H]+ occurs in np-examples.
- Mass window: ±10 ppm (every ≥ 0.37 kernel; q1 "LB-neutral") vs asymmetric −4/+5 ppm with ±10 fallback (q2). Untested pool-shrinking lever.
- Mechanism of the +1.9 ppm positive-mode precursor bias (and the +0.4 mDa low-mass fragment bias). One hypothesis: electron-mass omission in Enveda's own m/z calculation — unverified.
- np-examples ∩ COCONUT: 249/250 (computed, standard keys) vs 8/250 (one write-up). Almost certainly keying; not yet recomputed under RDKit 2026.03.3. Every c-estimate and π_in hangs on it.
- Above-precursor trim: +2.12 Da (enveda-180) vs +2.00 Da (np-examples) — which pipeline produced the hidden set. Both queens agree: trim identically in train and test.
- Pool-size penalty: monotone (MetFrag, CSI:FingerID, Laudicina) vs non-monotone, worst at 200–1,000 (CASMI 2016). Accepted resolution: stratify by formula; not yet done.
- Class mixture 16/45/39 vs 16/27/55 (two write-ups) → retrieval ceiling ≈ 0.61 vs ≈ 0.45.
- Popularity priors: +0.004…+0.011 (one lineage) vs monotonically negative (another); 2016 vs 2017 precedents disagree. Working rule: library-hit class only, gated.
- Consensus magnitude: CASMI 2016 +35 Top-10 hits vs sibling evidence that a weaker engine halves the gain and consensus is a catastrophe detector, not a fine ranker. Admission gate binds.
- Analog reachability: 82.8 % (np-examples) vs 38.7 % (random COCONUT) vs 95.7 % (q3, formula-level). Different definitions; hidden-set value unmeasured.
- Morelli vs Li 2021: do merged multi-CE timsTOF spectra sit above or below spectral entropy 3? q8 asked q1; no answer yet.
- Public-LB fraction ≈ 33 % (one kernel) vs unknown. Sets every kill threshold's SE.
- LB snapshot discrepancies between queens (q4: 2,703 teams / max 0.481; q7: 2,673 / 0.480) — different pull times on 2026-10-07, not a conflict, but the dashboard should timestamp.
- Compute pricing: brief $1.40/GPU-h vs q7 digest $2.10 (A100-40GB) vs q7 plan file ~$2.50 (A100-80GB).
- np-examples spectra: 1,184 (file) vs 1,151 (Kaggle page).
- Hidden mass range "157–1,159 Da" — recommended by one worker, not found verbatim by another; keep pools wide.
- CANOPUS 99.7 % vs CASMI 2022 class 69 % — resolved by both queens in favour of 69 % (sparsity artefact); listed so the dashboard never quotes 99.7 %.
- Chalcone/flavanone — resolved: two keys, not tautomers (q3 beyond_2d over np_classes).
9. Sources
Only identifiers that appear in the files read for this synthesis; worker files hold the full lists.
- Kaggle competition page: https://www.kaggle.com/competitions/enveda-CASMI26-molecule-id-mass-spectra (JS-rendered; facts via Kaggle API pull 2026-10-07 13:59 UTC and GitHub write-ups).
- enveda-180 (Enamine HLL-200 on timsTOF Pro 2): Zenodo 10.5281/zenodo.20436851; MassIVE MSV000102122.
- MassSpecGym leakage audit (June 2026): arXiv 2606.19624. Split-inflation / padding-mask findings: arXiv 2610.02249.
- Schymanski et al., CASMI 2016 automated methods, J Cheminform 2017;9:22, DOI 10.1186/s13321-017-0207-1 (PMC5368104).
- Schymanski & Neumann, "CASMI: And the Winner is...", Metabolites 2013;3:412–439, DOI 10.3390/metabo3020412 (PMC3901266); "The CASMI: Challenges and Solutions", Metabolites 2013;3:517–538, DOI 10.3390/metabo3030517.
- Fiehn Lab CASMI 2022 results: https://fiehnlab.ucdavis.edu/casmi/casmi-2022-results
- C&EN 2026-09-17 (Fiehn and Allen quotes): DOI 10.47287/cen.612552.newsarticle.
- Enveda Series E press release 2026-09-23: https://enveda.com/news/enveda-raises-311-million/
- MS2Mol / EnvedaDark: ChemRxiv 10.26434/chemrxiv-2023-vsmpx. MS2Prop: bioRxiv 10.1101/2022.10.09.511482.
- Dührkop et al. 2015 (CSI:FingerID): PMC4611636. MetFrag fragmentation-only: PMC4732001.
- Meier et al. 2018 (PASEF; isolation widths): DOI 10.1074/mcp.TIR118.000900 (PMC6283298).
- Kind & Fiehn 2007, Seven Golden Rules: DOI 10.1186/1471-2105-8-105.
- Cormack, Clarke & Buettcher 2009, Reciprocal rank fusion, SIGIR 2009.
- Huber et al. 2021 (Spec2Vec): DOI 10.1371/journal.pcbi.1008724.
- Isomer blindness (hesperidin/neohesperidin): PMC2722651; glycoside-position classifier: PMC11644359.
- Library-search CE/instrument sensitivity: PMC6359582, PMC9400100.
- Dark metabolome / in-source fragmentation: DOI 10.1002/ansa.70012 (PMC12077755); DOI 10.1021/jacsau.5c01063 (PMC12728610).
- leesirleesirlee-star CASMI-2026 README (9 h ceiling, ~18 s/molecule, recall@25 ~0.545): https://github.com/leesirleesirlee-star/Enveda_CASMI-2026_Molecule-ID-From-Mass-Spectra
- Cited in digests without an identifier (see the named worker file): Li 2021 entropy similarity; Hart 2024; Stein & Scott 1994; Wixted & Wells 2017; Balding & Donnelly 1996; Murali 2018 IDTAXA; Conneau 2018 CSLS; Liu 2020 energy score; MSAlign 2026; FRIGID, DualLGD, MS-GPT, DiffMS; MIST-CF, BUDDY, FIDDLE; Laudicina, gnshx, kabir0774, nghianguyen7171, billylu24 and ibnmarzuk write-ups.