← Back

📑 Contents

BASE-02 V6 fix status — 2026-09-25ScopeAvailable V6 output evidencePrepared next-version source changesVerificationRemaining limitation

BASE-02 V6 fix status — 2026-09-25


Scope


Target Kaggle kernel: jamesl8/enveda-casmi26-base-02-cpu-submission.


Kaggle versions are immutable. The checked-out kaggle-kernel/base02-cpu/main.py was fetched without a version selector and hashes to the audited V7 source (0f4d79adbf29b7bd54b1ccbf9a14619ceb766daff5e62ed647b98a49f8ecb6e0) before this change. It is not historical V6 source.


The exact /6 source pull failed with Kaggle API HTTP 403. A local V4-era snapshot exists, but it is not V6 and was not relabeled. Historical source retrieval remains a blocker to claiming a line-for-line V6 patch. Publishing an updated kernel would create a new immutable version, not alter version 6; no push was made.


Available V6 output evidence


Archived V6 run files from /tmp/base02-v6-output/ were copied to v6-archived-output/ and match the preserved review hashes:


  • submission.csv: 400 rows, SHA-256 d077484b727d1db2582e1ec2c2ec43b061df894744a17ff4ab3cb7edb33f9ad8
  • base02-runtime-report.json: SHA-256 6c51b0489858ac99edbae9d79c3dc0bf1e0f82d24d17aa4c5a4fc74017a80192
  • enveda-casmi26-base-02-cpu-submission.log: SHA-256 d2849365e6582f600e20bae6ddd031cb5a781b78a9a6c52debb6e7ea18690120

  • The archived report says 400 runtime IDs, 400 sample IDs, and sample_query_ids_match: true. Validating the downloaded CSV against data/test.parquet also passes: exact runtime ID set and order, 400 rows, chemically valid, nonblank guesses, 1–25 allowed, repetitions allowed. All rows happen to contain 25 guesses; 53 contain literal repeated guesses. This validates the available V6 artifact, not the cause of any other/hidden Kaggle rejection.


    Prepared next-version source changes


    The available current-source tree kaggle-kernel/base02-cpu/main.py includes these changes under PIPELINE_REVISION = base02-v8-zero-candidate-runtime-id-atomic-20260925:


  • Keep usable weak spectral guesses in the low-confidence path instead of discarding them when mass-window search is empty.
  • After candidate validation/deduplication, try the bounded nearest-mass pool; emit valid CCO only when both pools fail.
  • Log each placeholder molecule ID as format-only, maintain a separate placeholder count/list, and exclude placeholders from genuine hybrid coverage.
  • Derive unique expected IDs from runtime test.parquet; use sample order only when IDs match. No sample-width equality requirement.
  • Validate rows before final publication, serialize to a same-directory temporary file, fsync and re-read/validate it, then atomically replace submission.csv. On failure, leave the previous final file intact and remove the temporary file.
  • The kernel writer and local validators require exactly 25 nonempty guesses as our explicit output policy. Repetitions remain permitted. This is intentionally stricter than the stored scorer, which accepts 1–25 guesses; exact 25 is not an asserted competition requirement.

  • The exact V6 Kaggle source cannot be patched in place. These changes are prepared for a new kernel version based on the latest locally retrievable source; they do not assert V6 already contains them.


    Verification


  • Full repository suite after enforcing the local exact-25 policy: 134 passed (.venv-rdkit2026/bin/python -m pytest -q tests).
  • Archived V6 submission format/scorer-aligned validation: valid against actual runtime test IDs (400/400).
  • Kernel and shared validators compile with py_compile.
  • Kernel source SHA-256 after changes: 0cade11914e5d8a6639b534001cbeae71cffdd8ed5d7cc90258d4f3096eb5ba6.
  • No Kaggle push, rerun, or competition submission was made.

  • Remaining limitation


    The exact V6 source remains inaccessible through the versioned pull endpoint. Before claiming the historical source itself was patched, retrieve that source through Kaggle or provide a V6 export. A push of the prepared current-source fix would create a later kernel version and run it; that external action was not performed here.