Candidate-path probe results
AST-extracted frozen current-v7 helpers/candidate loop shared with preserved v6 transcript; common writer/assert AST executed in v6 write-then-check order. NOT an authenticated exact-v6 whole-notebook or actual hidden-data rerun.
Status: PASS_EXPECTED_FAILURES_REPRODUCED. RDKit 2026.03.3.
| Synthetic case | Route | Spectral / mass candidates | Generated tokens | Scorer on re-read CSV |
|---|---|---|---|---|
| supported_adduct_no_mass_or_library_hits | mass_only | 0 / 0 | 0 | NaN in required columns |
| supported_adduct_all_mass_candidates_invalid | mass_only | 0 / 1 | 0 | NaN in required columns |
| weak_library_hit_but_empty_mass_window | mass_only | 1 / 0 | 0 | NaN in required columns |
| single_valid_candidate_control | spectral | 1 / 1 | 25 | accepted |
| tautomer_dedup_then_padding_control | mass_only | 0 / 2 | 25 | accepted |
| unsupported_adduct_synthetic_not_documented_hidden | mass_only | 0 / 0 | 0 | NaN in required columns |
Zero-token cases wrote a real blank CSV field before common post-write checks failed. The official scorer rejected pandas' re-read NaN. Renamed/count-changed runtime IDs remained correct for runtime queries but failed stale sample assertions; mere encounter-order changes passed. Earlier preserved v4-path unconditional padding converted an empty list into 25 CCO entries.
Official scorer accepted repeated lists of 1, 2 and 25 guesses and rejected 26. The old project validator accepted a blank cell and rejected repeated25; the sample-matching validator rejected one valid guess solely for sample width. These are local policy differences, not proof of Kaggle hidden acceptance.