← Back

📑 Contents

Enveda CASMI 2026 — Winning-Solution Execution Plan1. Executive judgment2. Verified competition factsLive snapshot, not a future targetThree hidden novelty classes3. What was actually inspectedOfficial sources retrievedDownloaded data auditData-source implications4. Optimize the actual metric5. Validation design — the most important investment5.1 Reproduce the scorer first5.2 Three explicit evaluation regimes5.3 Split protocol5.4 Required experiment report6. Data and chemistry foundation6.1 Stream, do not materialize everything6.2 Preserve raw information6.3 Adduct-aware mass inference6.4 Formula inference7. Modeling workstreams, in priority orderTrack A — High-quality spectral retrieval [P0]Track B — Structures without measured spectra [P1]Track C — De novo and analogue editing [P1/P2]Track D — Unified ranking and uncertainty [P1]8. Public baselines: what to borrow and what not to trustOfficial de novo tutorial — `inversion/casmi-denovo-tutorial-notebook`Fast spectral baseline — `haideptry/enveda-casmi-2026-fast-spectral-cosine-baseline`Evidence ranking — `octaviograu/enveda-molecule-evidence-ranking`9. Calendar and exit gatesFirst 72 hours checklist10. Runtime, resources and spending disciplineLocal hostKaggle / GPU workOffline packaging checklist11. Submission and final-selection policy12. Risks, mitigations and decision triggers13. Proposed repository and evidence contract14. Evidence and referencesReview boundaries

Enveda CASMI 2026 — Winning-Solution Execution Plan


Prepared: 16 September 2026 (Malaysia time)

Competition: https://www.kaggle.com/competitions/enveda-CASMI26-molecule-id-mass-spectra

Objective: maximize final private-leaderboard MRR@25 with a compliant, reproducible, offline solution capable of competing for first place. Winning is an objective, not a guarantee.

Status: competition review and plan complete; model implementation, training and submission have NOT started.


1. Executive judgment


This is a molecular structure identification and ranking competition, not a conventional tabular prediction problem. Given several mass spectra of a molecule, return up to 25 candidate chemical structures ordered by probability of being correct.


The recommended strategy is a three-route candidate system with one calibrated molecule-level ranker:


1. Spectral-library retrieval: win the known-compound cases with accurate mass filtering, fragment/neutral-loss matching, and evidence across collision energies and adducts.

2. Structure-database retrieval: recover molecules with no reference spectrum using formula inference, spectrum-to-fingerprint/embedding models, and forward-spectrum reranking.

3. De novo generation: propose genuinely new structures, including local edits of spectral analogues, then verify/rerank them using the same chemistry and spectral evidence.


The strongest practical starting point is route 1 plus a disciplined ranker—not training a giant SMILES model from scratch. But a library-only solution has a structural ceiling: it cannot identify an answer absent from its candidate universe. A first-place attempt must measure and address that ceiling.


Recommended effort allocation initially: 30% data/validation, 25% retrieval/ranking, 20% structure-only retrieval, 15% de novo, 10% offline packaging and reproducibility. Reallocate from measured error decomposition, not leaderboard excitement.


---


2. Verified competition facts


ItemVerified requirement / observation
Target2D atom connectivity, submitted as SMILES
Prediction unitOne row per molecule_id, aggregating all its spectra
MetricMean Reciprocal Rank at 25, higher is better
CorrectnessRDKit tautomer canonicalization, then first InChIKey block (InChIKey14); RDKit pinned to 2026.03.3
StereochemistryNot required for scoring; tautomer-equivalent guesses match after canonicalization
Outputsubmission.csv, columns molecule_id,smiles; guesses separated by semicolons
Guess countUp to 25; wrong guesses only cost their occupied rank
ExecutionNotebook submissions; CPU or GPU runtime ≤9 hours, internet disabled
External assetsFreely/publicly accessible external data and pretrained models allowed, subject to rules, accessibility and licensing
Submission limit5 per day; select at most 2 final submissions
Team limit5 people
Prize poolUS$50,000; first prize US$16,000; top five receive prizes
Start14 September 2026
Entry / team merger deadline7 December 2026, 23:59 UTC = 8 December, 07:59 MYT
Final deadline14 December 2026, 23:59 UTC = 15 December, 07:59 MYT
Winning codeMIT winner-license type; training/inference code and reproducible documentation required
Competition dataCompetition use and non-commercial/academic research; CC BY-NC 4.0; do not redistribute to nonparticipants

Live snapshot, not a future target


At review time, the CLI listed 147 teams. The leading public score was 0.332, second 0.285, and tenth 0.254. This is an early leaderboard, not evidence of the score needed to win in December. Our account was already entered, with 0 lifetime submissions and all 5 daily submissions remaining.


Three hidden novelty classes


  • Class 1: structure has public reference spectra.
  • Class 2: structure exists in PubChem or COCONUT, but has no public reference spectra.
  • Class 3: structure is absent from PubChem and requires de novo identification.

  • Class proportions and per-molecule class assignments are hidden. Do not assume a library-heavy public leaderboard implies a library-heavy private set.


    ---


    3. What was actually inspected


    Official sources retrieved


    Authenticated Kaggle CLI access successfully retrieved the description, data description, evaluation, timeline, code requirements, competition-specific and foundational rules, file listing, public leaderboard, discussions listing and public notebook listing. Public notebook source files were downloaded and inspected; their claimed performance was not independently reproduced.


    Downloaded data audit


    ArtifactObserved size / contents
    train.parquetListed at 3,033,286,496 bytes; not downloaded or fully profiled in this review
    test.parquetDownloaded; 4,848,729 bytes, 1,213 spectra, 400 molecules, 12 columns
    sample_submission.csvDownloaded; 43,619 bytes, 400 rows; IDs exactly match visible test IDs
    Visible spectra per moleculeMinimum 1, median 3, maximum 9
    Visible instrumentAll timsTOF
    Visible adducts7 observed; the hidden-test description lists 10
    Local RDKit2022.09.5, not the scoring version

    Critical distinction: the downloadable test consists of training examples and is replaced by hidden data during scoring. It is useful for schema/runtime tests, not a generalization benchmark. Never precompute predictions or build the final candidate index only around its IDs, formulas or mass windows.


    The official hidden-test description is approximately 1,500 spectra / 400 molecules, 1–16 spectra per molecule, neutral masses 157–1,159 Da. These are descriptions, not permission to hardcode dimensions.


    Data-source implications


    Official training description: approximately 2.5 million spectra and 275,810 unique structures. Major sources include:


  • enveda-180: 1,153,785 spectra, 182,941 structures; instrument-matched, but mostly synthetic drug-like compounds.
  • pluskal_ms2: 527,581 spectra; Orbitrap, different collision-energy conventions.
  • riken, gnps, massbank, mona, spectraverse, msdial: important natural-product coverage, heterogeneous acquisition/curation.
  • enveda-np-examples: 1,151 spectra / 250 common natural products, measured with the target instrument/pipeline. Particularly valuable for domain-matched validation.

  • Data update warning: a host discussion titled “Please re-download training data” was posted on 15 September. Current listed files were created on 15 September. The retrieved discussion response did not expose the body, so the exact change remains unverified. Download the current release, hash it and record the manifest before any experiment.


    Documentation inconsistency: the data page says “train.parquet (18 columns)” but its listed shared/additional fields imply a different count; it also says “seven” in one adduct description while listing ten elsewhere. Inspect the actual train schema and support all ten advertised hidden-test adducts.


    ---


    4. Optimize the actual metric


    For U molecules:


    MRR@25 = mean(1 / first_correct_rank)


    A missing answer or answer below rank 25 contributes zero.


    Change for one moleculeGain in reciprocal rank
    Rank 2 → rank 1+0.500
    Rank 5 → rank 1+0.800
    Not found → rank 25+0.040
    Not found → rank 1+1.000

    Therefore:


    1. Prioritize reliable top-1 decisions while expanding candidate coverage.

    2. Keep up to 25 distinct scoring identities; stereoisomers and tautomer spellings should not waste slots.

    3. Track candidate recall separately from ranking quality. A ranker cannot rescue a missing answer.

    4. Do not use Tanimoto similarity, SMILES validity, or formula correctness as substitutes for the official exact-connectivity score. They are diagnostics and training auxiliaries only.

    5. A calibrated estimate of candidate correctness should drive final order. Do not impose arbitrary quotas such as “10 retrieved, 10 database, 5 generated” irrespective of evidence.

    6. Treat spectra as correlated observations of one molecule. Six energies do not create six independent labels or six votes of equal reliability.


    Diagnostic decomposition: if candidate-pool coverage is R and MRR conditional on coverage is Q, total MRR is R × Q. Report both, by novelty regime, to decide whether to improve generation or ranking.


    ---


    5. Validation design — the most important investment


    5.1 Reproduce the scorer first


    Create a dedicated environment with RDKit 2026.03.3 (package version spelling may appear as 2026.3.3). Do not change the global installation used by other projects.


    Implement the documented matching operation: parse SMILES → tautomer canonicalize → InChIKey14. Verify any available official implementation before freezing it. Do not silently add salt stripping, uncharging, fragment selection or other standardization steps not specified by the evaluator.


    Unit tests must cover:


  • stereoisomers and tautomer-equivalent representations;
  • distinct constitutional isomers with the same formula;
  • invalid SMILES, nulls, duplicate IDs and more than 25 guesses;
  • semicolon handling, rank cutoff and first-correct-rank behavior;
  • equivalence-aware deduplication;
  • dynamic hidden-test IDs and row counts.

  • Use one identity function for labels, split grouping, candidates, evaluator and submission deduplication.


    5.2 Three explicit evaluation regimes


    A — spectral-library available


    Use held-out target-domain spectra, particularly enveda-np-examples, as queries. Remove these exact query acquisitions and any duplicate/reprocessed versions from every learned training corpus and reference index. Allow independently acquired reference spectra of the same compound in other libraries: this deliberately models Class 1.


    B — structure available, spectra unavailable


    For validation identities, remove all their spectra across all libraries from supervised training, spectral retrieval, analogue prototypes and derived model features. Their structures may remain in the frozen permitted structure database. Report results both for naturally database-covered molecules and for the full cohort; do not inject validation answers into the pool.


    C — structure unavailable / de novo proxy


    Remove validation identities from spectral sources, candidate databases and supervised structure-target training. Add a scaffold-disjoint split. Audit external pretrained-model provenance; if overlap cannot be ruled out, label the result as potentially contaminated rather than a clean novelty estimate.


    A withheld common compound is only a proxy for genuinely novel natural-product chemistry. Do not claim the proxy exactly represents Class 3.


    5.3 Split protocol


  • Freeze molecule-identity groups, random seeds and manifests before tuning.
  • Use target-domain natural-product validation plus broader molecule-disjoint folds. Add scaffold and leave-library/instrument-out stress tests.
  • Within the small target-domain set, reserve a never-tuned report partition or use nested/grouped cross-validation; 250 compounds are too few for endless tuning.
  • Fit rankers/calibrators on out-of-fold candidate features only. Candidate-generation models must not have trained on their validation molecules in regimes B/C.
  • Fit formula calibration, mass tolerances and preprocessing choices on training/development data—not report folds.
  • Bootstrap molecules, not spectra, and report paired confidence intervals for score differences.
  • Report regime-specific scores and mixtures, e.g. library-heavy, balanced and novelty-heavy scenarios. Mixture weights are sensitivity assumptions, not estimates of hidden class proportions.

  • 5.4 Required experiment report


    Every candidate change must report:


    MRR@25 | Top-1 | Top-5 | Recall@25 | Candidate Recall@100/1000 | Pool coverage | MRR conditional on coverage | runtime | peak RAM/VRAM


    Break down by A/B/C, molecular mass, adduct/polarity, spectrum count, spectrum quality, natural-product family/scaffold, and closest-training similarity. Record unparseable structures and wrong/missing formula cases.


    Promotion rule: require reproducible grouped-validation improvement, no unexplained severe regression in another regime, and acceptable runtime. Prefer paired-bootstrap evidence; small gains with wide uncertainty remain provisional. A leaderboard bump alone is insufficient.


    ---


    6. Data and chemistry foundation


    6.1 Stream, do not materialize everything


    Read Parquet metadata and selected columns first; stream row groups. Store compact peak arrays and offsets, canonical identity tables, sorted neutral-mass indexes and reproducible molecule-level split manifests.


    The local host has roughly 11 GiB RAM and 36 GiB free disk at review time. A 3 GB Parquet file can expand far beyond 3 GB in pandas. Full PubChem ingestion is not an appropriate first local step.


    6.2 Preserve raw information


    Keep original arrays plus named preprocessing variants. Evaluate intensity floors of 0.1%, 1%, 2%; square-root/log transforms; top-64/128/256 peaks; and windowed peak selection. Compare entropy, cosine and unfiltered/soft-filtered variants. Do not discard low-quality spectra outright when they may be the only evidence for a molecule.


    Account for training precursor_error_ppm, metadata missingness, source quality and duplicate spectra. Avoid indiscriminately dropping one million instrument-matched spectra; use balanced batches or source weights to counter synthetic-chemistry dominance.


    6.3 Adduct-aware mass inference


    Support all advertised adducts:


    [M+H]+, [M+NH4]+, [M-H2O+H]+, [M-2H2O+H]+, [M+Na]+, [M+K]+, [M-H]-, [M-H2O-H]-, [M+CH2O2-H]-, [M+Cl]-.


    Use exact ionic/adduct mass constants and explicit charge/multimer handling for additional training adducts. Test round trips from a known molecular mass through every supported adduct. Dehydrated adducts must add the lost water back when inferring the neutral molecule.


    Combine neutral-mass estimates across spectra using robust, quality-weighted inference. Preserve alternative hypotheses when spectra disagree. Calibrate a ppm tolerance with an absolute floor; do not adopt a fixed 0.01 Da window as unquestioned truth.


    6.4 Formula inference


    Enumerate/rank plausible formulas using calibrated precursor mass, allowed elements, valence/DBE checks, fragment subformula evidence and cross-adduct consistency. Retain several formulas when uncertain. Start with permissive chemistry constraints and measure true-formula recall before narrowing.


    MIST-CF and SIRIUS are candidates for comparison, not assumed plug-and-play dependencies. Verify license, offline execution, model assets, instrument support and runtime first. Do not assume all SIRIUS services are free or callable offline.


    Use collision_energy_ev as the cross-source input, with missingness and original-unit/source indicators. NCE-to-eV conversions are approximate, not interchangeable ground truth.


    ---


    7. Modeling workstreams, in priority order


    Track A — High-quality spectral retrieval [P0]


    Implementation


    1. Retrieve mass-compatible reference structures and their spectra.

    2. Compare direct fragment cosine, entropy similarity, neutral-loss similarity and carefully adduct-aware modified cosine.

    3. Evaluate polarity/adduct compatibility explicitly; do not merge raw spectra from incompatible ions into a single peak list.

    4. Aggregate by canonical structure and query molecule: best/second-best match, support across independent acquisitions, collision-energy agreement, mass residual, explained intensity, unmatched intense peaks, source quality and ambiguity margins.

    5. Correct for reference-count bias: a structure with many library spectra should not win merely from more chances to match.

    6. Train an OOF molecule-grouped candidate ranker, initially LightGBM/CatBoost or a compact pairwise/listwise model. Use reciprocal-rank-aware evaluation and tune top-rank behavior; NDCG training objectives are surrogates, not the competition metric.


    Ablations: max pooling vs consensus; fragment-only vs loss-only vs combined; entropy vs cosine; same-adduct-only vs compatible cross-adduct; learned vs heuristic aggregation; single vs multiple preprocessing views.


    Deliverable: deterministic CPU baseline, indexed retrieval artifacts, OOF ranked candidate tables and validated submission builder.


    Track B — Structures without measured spectra [P1]


    Candidate universe


    Begin with competition training structures and a dated, licensed COCONUT snapshot. Add a broader permitted PubChem-derived candidate snapshot once the storage/index pipeline works. COCONUT is attractive for natural products but cannot be assumed to cover all analogues or synthetic-looking test compounds.


    Build full mass/formula indexes independent of visible test IDs. Dynamic filtering by the hidden query masses is fine; precomputing only the placeholder's mass windows is not.


    Learned retrieval


    Compare:


  • spectral-neighbour fingerprint transfer as a cheap baseline;
  • spectrum → molecular fingerprint prediction (multiple fingerprint families where useful);
  • contrastive spectrum/structure encoders with hard same-formula or near-mass negatives;
  • pretrained spectral embeddings, e.g. DreaMS/MIST-family methods, after compatibility/license/provenance checks.

  • Pool multiple spectra at the molecular level using reliability-aware attention or a learned set aggregator. Model missing metadata explicitly. Train/finetune with source balance and natural-product weighting, selected by clean validation.


    Forward consistency reranking


    For a manageable top-K shortlist, predict spectra from candidate structures using an eligible open forward model (for example ICEBERG/SCARF/CFM-ID-family approaches, subject to audit). Score across actual adducts/energies. Account for cross-instrument errors; a forward model's low score must not automatically veto a strong measured reference.


    Gate: demonstrate B-regime coverage and MRR gains beyond neighbour-fingerprint transfer. If pool coverage is high but MRR is low, improve ranking before enlarging databases further.


    Track C — De novo and analogue editing [P1/P2]


    Start with the official spectrum-encoder/SMILES-decoder tutorial as an engineering reference, not the final architecture.


    Improve in this order:


    1. Add precursor/adduct/energy and predicted formula conditioning.

    2. Learn from sets of spectra for one molecule, rather than treating each acquisition independently.

    3. Finetune an eligible pretrained model where feasible; otherwise train a bounded baseline before scaling.

    4. Generate chemically valid candidates with beam search and/or controlled sampling; compare tokenizations and randomized-SMILES augmentation.

    5. Add analogue editing: modify close spectral neighbours using plausible mass differences and functional-group transformations; score all outputs automatically.

    6. Apply formula/mass consistency, exact scoring-identity deduplication and shared forward/spectral reranking.

    7. Use decoder scores normalized/calibrated across length, generation route and spectrum count. Raw log probabilities from different models are not comparable.


    Keep the formula filter soft when formula confidence is low. Do not spend weeks optimizing validity while exact structure recall remains zero. Compare meaningful top-K generation recall on the C proxy and contribution after ensemble reranking.


    Compute policy: expand beam width or sampling only when it adds unique correct candidates or improves MRR under the offline budget. Generate more candidates for uncertain queries, but reserve a small exploration budget so an overconfident retrieval gate cannot completely suppress the correct route.


    Track D — Unified ranking and uncertainty [P1]


    Union all unique candidates, attach source and chemistry evidence, and train a molecule-grouped ranker with OOF features.


    Inputs include retrieval agreement, fingerprint/embedding similarity, formula posterior, mass residual, forward-spectrum fit, generator likelihood, spectrum quality and calibrated confidence. Natural-product/database frequency priors should be weak and ablated: rarity is not evidence of incorrectness.


    Do not train a hard novelty-class classifier without reliable class labels. Use calibrated evidence-based routing, with novelty proxies tested out of distribution.


    Return up to 25 candidates ranked by estimated correctness. Deduplicate before truncation. Prefer fewer credible candidates to filling with repeated CCO; an emergency valid output is a runtime safeguard, not a scientifically useful prediction.


    ---


    8. Public baselines: what to borrow and what not to trust


    Official de novo tutorial — inversion/casmi-denovo-tutorial-notebook


    Inspected: peak encoder + autoregressive SMILES decoder, grouped raw-InChIKey split, a 200k-spectrum training cap, one spectrum per validation structure, and pooled per-molecule generated candidates.


    Useful: working model/data/submission wiring and memory-aware batching.


    Limitations to fix: excludes enveda-180 in this inspected version; single-spectrum validation is not the full task; output deduplication uses raw InChIKey14 rather than the stated tautomer-canonicalized identity. Do not inherit its scorer assumptions or placeholder-ID handling blindly.


    Fast spectral baseline — haideptry/enveda-casmi-2026-fast-spectral-cosine-baseline


    The downloaded version describes a richer pipeline than its title: direct/neutral-loss matching, multi-spectrum consensus, COCONUT chemistry heuristics and confidence gating.


    Useful: efficient mass-window retrieval and complementary spectral evidence.


    Limitations: fixed hand-tuned blends/thresholds and heuristic candidate priors require clean ablation. Notebook narrative scores are author claims, not reproduced results. Inspect and test active code paths before reuse; popularity is not a correctness test.


    Evidence ranking — octaviograu/enveda-molecule-evidence-ranking


    Inspected: entropy/cosine, mass-compatible database candidates, neighbour-transferred fingerprints, multi-spectrum evidence, target-domain validation, canonical identity handling and learned-ranking support.


    Useful: closest starting design for the recommended baseline. It explicitly holds out NP-example acquisitions and separates spectral-reference evidence from analogue inference.


    Limits: fingerprint transfer is not a trained spectral foundation model. Audit fold exclusions and external-asset attachments; downloaded metadata is not proof that every dependency is available offline. The notebook itself states it does not use DreaMS/MIST or forward-spectrum models.


    Rule: fork the architecture only after license review, then independently reproduce its behavior. Retain attribution. Do not paste large unverified notebooks together and call the result an ensemble.


    ---


    9. Calendar and exit gates


    Dates below are work targets, not extra competition deadlines.


    PhaseTarget windowDeliverablesExit gate
    0 — Ground truth and infrastructureSep 16–18Current train manifest; schema/source audit; pinned scorer; split spec; offline dependency smoke testG0: evaluator tests pass, data version fixed, no unsupported hidden adducts
    1 — Credible retrieval baselineSep 19–25Mass-indexed cosine/entropy/loss retrieval; molecule pooling; validation report; first notebook candidateG1: reproducible scores and complete offline output; no placeholder shortcuts
    2 — Ranking and domain adaptationSep 26–Oct 9OOF ranker; source-balanced models; uncertainty and failure dashboardG2: measured improvement over simple retrieval with molecule-level uncertainty
    3 — Known structure / no spectrumOct 10–30COCONUT + broader structure index; fingerprint/embedding retrieval; shortlist forward rerankerG3: B-regime gains; explicit coverage/ranking decomposition
    4 — Novel structure capabilityOct 31–Nov 20Formula-conditioned generator + analogue editing; clean novelty-proxy auditG4: nontrivial unique correct candidates and ensemble MRR gain within budget
    5 — Integrated ensembleNov 21–Dec 4Unified ranker; complementary models; ablations and realistic mixture stress testsG5: selected robust system beats baseline across intended regimes
    6 — Freeze and final deliveryDec 5–12Two finalist notebooks; clean-room reruns; license/provenance/reproduction packageG6: two successful offline reruns per finalist, all artifacts fixed and recoverable
    BufferDec 13–14 UTCFinal verification and explicit final-selection checkNo last-minute unvalidated architecture changes

    Parallelism: once G0 is complete, retrieval engineering and bounded de novo feasibility can run in parallel. A failed de novo gate does not prevent shipping the best retrieval/database solution; it does prevent claiming novelty coverage.


    First 72 hours checklist


  • [ ] Download current train file; record exact bytes, timestamp and SHA-256.
  • [ ] Inspect actual schema, source counts, identity duplicates and mass-error tails.
  • [ ] Establish RDKit 2026.03.3 environment and evaluator tests.
  • [ ] Freeze validation regimes and no-leakage exclusions.
  • [ ] Extract a small development dataset and compact full metadata index.
  • [ ] Implement all ten hidden-test adducts and round-trip tests.
  • [ ] Produce mass-filtered spectral retrieval and molecule-level consensus baseline.
  • [ ] Measure runtime/RAM on a representative workload and broad mass range.
  • [ ] Build an offline notebook smoke test with dynamically derived test IDs.
  • [ ] Review first experiment report before approving full model training or paid compute.

  • ---


    10. Runtime, resources and spending discipline


    Local host


    Use the current ARM server for orchestration, manifests, metadata indexes, narrow CPU retrieval experiments and report generation. Keep this project isolated from existing workloads; do not replace global Python/RDKit packages or consume all free disk.


    Kaggle / GPU work


    Training should normally occur separately, with versioned weights attached to the inference notebook. The official tutorial trains inline for illustration; the final 9-hour window is better used for inference/reranking.


    Before committing to hardware, check actual accelerator availability, memory, weekly quota and remaining account capacity. Access to the CLI does not guarantee unlimited GPUs.


    Proposed benchmark budgets, not promises:


  • Retrieval engineering: CPU first, stream compact indexes.
  • Learned-model feasibility: one available 16–24 GB-class GPU; cap initial experiments to approximately 5–10 GPU-hours each if quota allows.
  • Larger training: only after validation establishes return per GPU-hour; obtain approval before paid services.
  • Final inference: target ≤6 hours, leaving roughly 3 hours for environment startup, cold caches, data variation and safety margin; aim for substantial measured RAM/VRAM headroom.

  • Instrument wall time by stage. Stop unproductive branches when candidate recall and MRR plateau. Do not spend most of the project pretraining on billions of unlabelled spectra when eligible pretrained representations may provide a faster baseline.


    Offline packaging checklist


  • Pin library versions, model weights, tokenizer, all mass/formula indexes and data provenance.
  • Attach required wheels/assets; test installation with internet actually disabled.
  • Avoid API calls to PubChem, SIRIUS services, Hugging Face or package registries during inference.
  • Build candidate indexes for the intended chemical domain, not the public placeholder queries.
  • Read molecule_id values from the runtime test file; sample submission is only a format cross-check.
  • Test unknown IDs, reordered rows, changed molecule counts, 16+ spectra, rare adducts, high masses, empty/noisy spectra and missing metadata.
  • Use deterministic tie-breaking and controlled seeds.
  • Validate every SMILES, deduplicate scoring identities, verify exactly one row per runtime molecule and save /kaggle/working/submission.csv.
  • Test recoverable per-molecule failures without silently accepting a globally corrupted run.

  • ---


    11. Submission and final-selection policy


    1. Do not submit automatically as part of this planning task.

    2. Once execution is approved, first establish a valid offline notebook submission.

    3. Treat the 5/day limit as a ceiling, not a target. Submit only versions with a recorded hypothesis and local evidence.

    4. Change one major component at a time and retain immutable source/weights/configs.

    5. Do not hand-label hidden cases, infer answers through leaderboard probing or use hardcoded test predictions.

    6. Compare public score changes with validation-regime changes. Large disagreement triggers investigation, not immediate retuning to the leaderboard.

    7. Preserve two final candidates: the best broadly robust model and, only if justified, a complementary model with different novelty/coverage tradeoffs. Do not sacrifice a clearly stronger second model merely for cosmetic diversity.

    8. Explicitly verify final selections before the deadline; do not rely on automatic selection.


    ---


    12. Risks, mitigations and decision triggers


    RiskMitigation / decision
    Same compound leaks across librariesCanonical-identity exclusions across spectra, labels, analogue indexes and supervised training
    Visible test produces deceptively perfect retrievalUse it only for plumbing; score frozen held-out molecules
    250 NP examples overfit through repeated tuningNested/grouped validation plus broader scaffold/source holdouts
    Class mixture unknownReport multiple mixture scenarios and regime-level performance
    Formula filter discards the truthMeasure formula/pool recall; retain alternative formulas and fallback paths
    Common formulas yield huge isomer poolsHard-negative fingerprint training and shortlist forward reranking
    De novo gives valid but wrong SMILESGate on exact-connectivity recall and ensemble gain, not validity
    Spectral consensus amplifies duplicated evidenceDeduplicate acquisitions and cap correlated support
    Training sources overwhelm natural-product chemistrySource-balanced sampling and domain-matched validation
    RDKit version changes identity or rankingPin exact scoring version; cache keys with version metadata
    External model has hidden training overlapAudit provenance; qualify novelty claims when overlap is unknown
    External asset licensing/accessibility is unsuitableExclude or seek host clarification before relying on it
    Runtime fails on hidden replacement dataDynamic query handling, broad indexes and cold offline stress tests
    Disk/RAM/GPU pressureStream data, bounded candidate pools, stage profiling and resource caps
    Training data changesManifest/hash checks; rebuild derived assets and rerun relevant baselines

    Host questions to resolve when needed: exact scorer edge cases beyond the published matching description; any ambiguous external-tool licensing/accessibility; details of the September 15 data correction. Do not assume answers.


    ---


    13. Proposed repository and evidence contract


    enveda-casmi26/  EXECUTION-PLAN.md  research/                  # captured rules, listing snapshots, notebook review  data/                      # access-controlled; exclude raw data from public git  manifests/                 # source version, SHA-256, license, schema, split IDs  configs/                   # experiment and inference configurations  src/    identity.py              # exact scorer-compatible structure identity    adducts.py    preprocess.py    retrieval.py    formula.py    embeddings.py    generation.py    ranking.py    evaluate.py    submit.py  tests/  experiments/               # metrics, OOF predictions, timing and ablations  artifacts/                 # versioned indexes and weights; not raw-data git blobs  notebooks/                 # offline training/inference entry points  reports/                   # decisions, failure categories, final reproduction

    Only the plan, research snapshots and small visible-data files exist at this stage; the rest is the proposed implementation layout.


    Every experiment must record: code commit, configuration, source/checkpoint hashes, licenses, split manifest, seeds, molecule-level predictions, metrics, hardware, wall time and decision. Claims such as “better”, “novel” or “ready to submit” require their corresponding evidence.


    Suggested roles (one person may cover several): chemistry/data; retrieval/ranking; generative modeling; validation; deployment/reproducibility. A teammate with mass-spectrometry expertise may add more value than another generic model sweep, but no team formation is assumed or authorized here.


    ---


    14. Evidence and references


    Official pages were retrieved via authenticated CLI on 16 September 2026. Local raw snapshot: research/pages.json.


    1. [Competition overview](https://www.kaggle.com/competitions/enveda-CASMI26-molecule-id-mass-spectra/overview)

    2. [Evaluation](https://www.kaggle.com/competitions/enveda-CASMI26-molecule-id-mass-spectra/overview/evaluation) — matching, MRR@25 and submission format.

    3. [Data](https://www.kaggle.com/competitions/enveda-CASMI26-molecule-id-mass-spectra/data) — novelty classes, placeholder test, sources and schema.

    4. [Rules](https://www.kaggle.com/competitions/enveda-CASMI26-molecule-id-mass-spectra/rules) — licenses, data use, team/submission limits, prohibition on hand-labeling evaluation records.

    5. [Timeline](https://www.kaggle.com/competitions/enveda-CASMI26-molecule-id-mass-spectra/overview/timeline)

    6. [Code requirements](https://www.kaggle.com/competitions/enveda-CASMI26-molecule-id-mass-spectra/overview/code-requirements)

    7. [Public leaderboard](https://www.kaggle.com/competitions/enveda-CASMI26-molecule-id-mass-spectra/leaderboard) — snapshot in research/leaderboard.json.

    8. [Host data-update discussion](https://www.kaggle.com/competitions/enveda-CASMI26-molecule-id-mass-spectra/discussion/741471) — title/date verified; body not retrieved.

    9. [Official de novo tutorial](https://www.kaggle.com/code/inversion/casmi-denovo-tutorial-notebook)

    10. [Fast spectral baseline](https://www.kaggle.com/code/haideptry/enveda-casmi-2026-fast-spectral-cosine-baseline)

    11. [Molecule evidence ranking](https://www.kaggle.com/code/octaviograu/enveda-molecule-evidence-ranking)

    12. [Spectral entropy similarity paper](https://doi.org/10.1038/s41592-021-01331-z) — methodological follow-up referenced by the public evidence-ranking notebook; not independently evaluated here.

    13. [COCONUT downloads](https://coconut.naturalproducts.net/download) — proposed external structure source; verify chosen snapshot and license before use.

    14. [DreaMS resource cited by the host](https://zenodo.org/records/10997887) — proposed pretrained representation route, not yet downloaded or benchmarked.


    Review boundaries


    This review did not download/profile the full training set, execute public notebooks, train a model, reproduce leaderboard scores, obtain a GPU allocation, purchase compute, change account/team settings or submit predictions. Existing CLI access was used for read-only competition research and downloading public notebook sources and small competition files.


    Bottom line: build a trustworthy molecule-level benchmark, establish a strong retrieval/ranking floor, expand coverage with structure databases, and invest in de novo only with measured evidence. The winning opportunity is combining reliable chemistry-aware evidence across all three novelty regimes—not merely attaching a larger language model to the spectra.