← Back

📑 Contents

V9 COCONUT candidate-pool integrationOutcomeRuntime and artifact verificationComparison with V8's visible runProvenance and limitations

V9 COCONUT candidate-pool integration


Outcome


BASE-02 V9 was pushed and completed successfully. Compared with V8, the mass-ranked structure candidate pool now merges the 274,195 competition-training candidates with 436,389 COCONUT candidates, deduplicated by source InChIKey14 (30 key overlaps; 710,554 merged unique source keys). COCONUT is used for candidate structures and exact masses only; reference-spectrum retrieval remains the competition training index.


No competition submission was made by this run.


Runtime and artifact verification


  • Kernel: jamesl8/enveda-casmi26-base-02-cpu-submission, V9; status COMPLETE.
  • Revision: base02-v9-coconut-candidates-20260926.
  • Kernel source SHA-256: 14c56a0b9fd20a9dc31c9b150461a54b295cd337d7a5a68860d76255b9140e7e.
  • Runtime test SHA-256: 2fa29c4aa06e93b48e0cd6619fd2de3f4e956f0019d242141678b7287f2b43e0, matching the local data/test.parquet.
  • Runtime IDs: 400; all sourced from the runtime test. The optional sample IDs matched.
  • Kaggle runtime report says 1,213 spectra, all 400 rows took the strong spectral route, 0 mass-only-routed rows, 0 placeholders, and 0 nearest-mass fallbacks. These visible-run routing counts do not establish routing on Kaggle's hidden scoring rerun.
  • Output validation against runtime IDs: valid, 400 rows, exactly 25 valid SMILES per row. Thirty rows contain repeated guesses for width padding; repetitions are scorer-permitted.
  • Downloaded Kaggle output inventory: base02-runtime-report.json, submission.csv, and enveda-casmi26-base-02-cpu-submission.log. Their archived SHA-256 hashes are in manifest.json; a second download matched all three hashes.
  • Local project tests: 136 passed with python -m pytest -q tests; BASE-02 focused tests: 44 passed.

  • Comparison with V8's visible run


    V9's visible-run CSV differs from the archived V8 visible-run CSV in 48 of 400 rows; 352 rows are identical. This is a visible-run artifact comparison only—not evidence of improved hidden score. The run report says all 400 molecules routed spectrally, but the mass-candidate pool is also available for candidate completion and can change the emitted list. Kaggle does not expose hidden-run routing/predictions here, so no score attribution or gain is claimed.


    Provenance and limitations


    The attached upstream dataset is prvsiyan/coconut-casmi26-candidates (title: “COCONUT 2.0 candidates + fingerprints (CASMI26)”), whose metadata declares CC BY 4.0. Source array hashes and downloaded candidate count are recorded in coconut-manifest.json in the local prepared asset directory. COCONUT contributes no spectra. The V9 kernel pins SHA-256 hashes for the upstream coco_mass.npy and coco_meta.pkl files, checks array alignment, finite positive sorted masses, unique 14-character keys, and nonempty SMILES before merging.


    A reviewer independently sampled 300 evenly spaced entries from the compact prepared bundle: the structures parsed, their raw InChIKey14s matched the stored source keys, and their exact masses agreed with the parsed structures. In my earlier six-entry spot-check, five raw source identities also matched, but the last was compared using the scorer's tautomer-canonicalized identity rather than the raw InChIKey; that mismatch is not evidence of a bad source key. Neither spot-check proves every upstream row consistent. During inference, emitted SMILES are parsed and deduplicated using the scorer identity function. The V9 run completed and passed output-format validation, but exhaustive identity/mass consistency remains unverified.


    The reviewer found no V9 runtime or merge correctness blocker. It did flag a metric-label caveat: covered_molecules / coverage count rows with at least one mass-eligible training-reference candidate, not rows known to contain the true answer or correctly ranked. The report's separate hybrid_coverage_definition disclaims identification accuracy, but interpret the bare coverage: 1.0 only as candidate/reference availability, never as answer coverage, accuracy, or score. No hidden-answer performance claim is supported.


    One reporting quirk: mass_only_database_sha256 in the runtime report hashes the training-only source NPZ even though mass_only_candidate_count reports the merged pool. The separate coconut_mass_sha256 and coconut_metadata_sha256 fields identify the added COCONUT inputs. Interpret the former field as the BASE dataset hash, not a hash of the merged in-memory pool.


    See manifest.json for complete file hashes and validation.json for the saved runtime-ID validation result. The remote output inventory was retrieved twice; report, CSV and log hashes matched both downloads.