Skip to content

Validation report

Updated 2026-10-14 for v1.1.4. The broad chemistry and speed packet remains pinned to published v1.0.30; separately named records cover later artifacts, the two-platform published v1.0.42/RDKit packet, the published v1.0.42 macOS arm64 chemistry baseline, v1.0.40 source, the v1.0.41 source candidate, current-main v1.1.0-source records, focused v1.1.1 artifact checks, and bounded v1.1.2/v1.1.3 records. v1.1.3 release channels and its hosted Linux/macOS/Windows Python chemistry workflow are verified; v1.1.4 package claims require post-publication reruns. Every comparison is limited to its recorded artifact, comparator, corpus and operation.

Current evidence

Gate Result and limit Record
v1.1.3 published Python artifact packet Exact public PyPI wheels on Linux x86-64, macOS arm64, macOS x86-64 and Windows x86-64 reproduce the pinned reaction, 310k SMARTS, Morgan, descriptor, CIP, hybridization, MMFF94, MOL stereo, BioTransformer and A6 counts. Morgan is bit-identical on 10,000/10,000 exposed rows and 5,000/5,000 ChEMBL rows; A6 is 265/265 independently sound and stereo-clean. Platform outputs are compared on Linux with pinned RDKit 2026.03.6 where an equivalent platform build is unavailable. npm/WASM and crates.io are separate evidence. hosted artifact gate · record · machine-readable packet
v1.1.3 evaluation follow-up The source candidate restores v1.1.2 exhaustive Rust matches; unusual-SMILES MW, Morgan and ring count are 4,072/4,072, and every finite comparable Labute ASA row agrees within 1e-9. Ten CIP differences are explicitly classified. Prepared QED is 16.1% faster than public v1.1.3; parse-inclusive TPSA/Morgan versus public v1.1.2 cross parity and are recorded as ties. follow-up record
v1.1.3 unusual-input descriptors The published-wheel packet confirms HBD on 4,072/4,072 rows and QED on all 4,071 comparable rows; RDKit rejects the remaining QED row. The earlier source record remains useful for row-level diagnosis. published packet · QED stress follow-up
v1.1.2 gradient-rescue source candidate The opt-in RDKit-compatible MMFF path exposes final gradient diagnostics and retries one lowest-energy candidate only when the initial ensemble has no converged result. On the already-inspected 265-row development set it reached 261/265 within 1 kcal/mol and 263/265 within 2 kcal/mol, with a 1.0179x median RDKit/CheMatic time ratio across three alternating blocks. The threshold was selected on this development set; this is not fresh-holdout, second-host, or published-artifact evidence. Development record
A6 RDKit 2026.09 bounds source candidate A wheel built at 7e6a5240 reproduces RDKit 2026.09.1 raw and triangle-smoothed topology bounds within 1e-12 on all 768,664 cells across the frozen 265-row A6 corpus. Equal-count 20-conformer quality is within 1 kcal/mol on 258 rows; seven basin/minimization-tail rows remain. One loaded-host timing is not a speed claim. Bounds and conformer record
v1.1.1 descriptor follow-up The published CPython 3.12 wheels reproduce the pinned chemistry counts on Windows amd64, macOS arm64 and macOS x86-64; the Linux x86-64 sdist lane and all xsmarts-autoconf lanes also pass. The public artifact retains the unusual-SMILES residuals (4,069/4,072 HBD and 4,018/4,071 QED). Current main restores the three representation-dependent rows (4,072 HBD and 4,021 QED) and removes eager Python parse preparation; those fixes are source evidence until a later release. hosted artifact gate · candidate speed record · expected public-wheel counts
Indigo workflow source packet Against Indigo 1.46.0 on one macOS arm64 host, CheMatic matches 15/15 versus 13/15 single-result reaction rows, 39/39 versus 38/39 largest-fragment rows, and ties at 16/16 bounded labelled R-group rows. On the common-correct subsets, all 21 timing blocks favor CheMatic, with median ratios of 10.66x, 1.27x, and 2.60x. This is source-built bounded evidence, not full standardization, reaction-enumeration, or R-group parity. Workflow packet
Current-main RDKit packet A wheel built at 44338e16 matches RDKit 2026.09.1 on 10,000/10,000 TPSA, Labute ASA, ring-count and chiral-Morgan rows. Prepared TPSA and Morgan and all four parse-inclusive pipelines have favorable paired intervals on one macOS arm64 host. Prepared Labute ASA and first-use ring count remain deficits. The supplementary 63-operation matrix has 38 full-agreement lanes and 32 favorable intervals. This is source-built evidence, not the published v1.1.0 artifact. Current-source packet
Rust execution coverage The processed Linux Codecov lane reports 96.93% line coverage (143,762/148,306) after discovering all integration-test targets. Python and WASM coverage are not included, and execution coverage is not chemical correctness evidence. Coverage workflow
Published v1.0.42 / RDKit 2026.09.1 packet Exact CPython 3.13 wheels on hosted Linux x64 and macOS arm64: TPSA, Labute ASA and chiral Morgan pass the 10k output gates and their parse-inclusive 21-block intervals favor CheMatic on both hosts. Published ring count is 9,994/10,000 and receives no speed ratio. Prepared macOS Labute loses and Morgan crosses parity. npm Labute is asymmetric bundled work and npm chiral Morgan differs on one row, so neither receives a speed claim. Published packet
RDKit/COSMolKit 0.5 source comparison Against RDKit 2026.03.1, the v1.0.41 source candidate matches RDKit at least as often as COSMolKit 0.5.0rc15 on all 161 operations over ChEMBL 5k and RDKit.js 10k. On the separate 4,072-row unusual-SMILES stress corpus, native canonical-SMILES round trip is 4,048 versus 4,064; the other covered operations are equal or favorable. This is source evidence, not universal parity or a published-package result. COSMolKit 0.5 record
RDKit/COSMolKit source comparison and seeded ETKDG Against RDKit 2026.03.1 on the recorded Linux x86-64 source lane, seeded ETKDG coordinates match on 4,977/4,977 ChEMBL and 9,947/9,947 RDKit.js rows where RDKit succeeds. Other platforms use a 5e-4 Å per-coordinate regression tolerance. The same record covers named writer, reader, MolHash, alignment, stereoisomer and non-tetrahedral stereo surfaces. It is not published-package evidence or universal parity. Round 2 record
RDKit 2026.09.1 npm rebaseline Published RDKit.js 2026.03.6 → 2026.09.1 on exposed 10k: both 9,999/9,999 exact CheMatic 1.0.33 Morgan bits with one typed Fe refusal. Graph-checked CIP: 9,988 exact, five typed abstentions, six pre-existing imine E/Z mismatches and one unproven row in both versions. Published CheMatic WASM SMARTS atom sets: 194 → 195 mismatches among 310,000 cells, with 31 index-unproven cells in each lane; the two RDKit versions differ on 12 [R2]/[R3] cells. No old/new parse/canonical/Morgan changes. Isolated 20-run browser timing and hashes recorded. Python/nanobind/native 2026.09.1 lanes are unmeasured pending a distributed artifact. npm rebaseline
RDKit Python 2026.03.6 baseline for rebaseline Published macOS arm64 CPython 3.13 wheels, same exposed 10k: 9,989 CIP exact, five typed abstentions and six imine E/Z mismatches after correcting the cis/trans comparator; 9,999 Morgan exact plus one typed Fe refusal; 200/310,000 SMARTS atom-set differences; all semantic SMILES round-trips pass. Runtime is Boost.Python; seven old-version-only boundary timings recorded. This is not a 2026.09.1 Python result. Python baseline
Published-artifact output audit (P0.1) Python/npm/Rust reran 10,000 chemistry rows, 310,000 SMARTS cells and 57 legacy reactions. Published Python/Rust cover 63 operation outputs; only HBA and its bundle changed from v1.0.29. The audit is complete, not strict RDKit parity: 200 SMARTS cells fail, five CIP rows abstain and four npm operations are unexposed. Artifact packet · adoption policy
RDKit-compatible HBA The hash-verified published v1.0.30 macOS arm64 wheel matches RDKit 2026.03.6 on 5,000/5,000 exposed ChEMBL rows; published v1.0.29 matched 3,641/5,000. HBA only. Release-channel evidence
Paired speed (P0.2) Published Python: 20 operations pass exact-output and paired-interval gates in 20 alternating blocks on one host. Isolated Python and Rust lanes split parse-inclusive, first-use and precomputed calls. Whole-process RSS is not library allocation; changed HBA output is not an equivalent-output speed win. Python matrix · isolated Python · Rust
Published browser Morgan On Ubuntu 24.04, Chromium, Firefox and WebKit each have 250/250 direct and prepared bit parity and favorable 20-block speed intervals versus official RDKit.js (smallest lower bound 1.63×). A separate Chromium 10k lane has 9,999 exact and one typed Fe refusal. No universal browser or memory claim. Three-browser record · M4 Chromium
Reactions (P1) Legacy 57/57 fixtures match. Published v1.0.42 and current source retain the 83-row gate at 80 exact and three jointly invalid. The v1.0.42 follow-up preserves caller-supplied explicit H atoms: full-corpus explicit-H differences fall from 153 to 35, while the remaining cases stay classified and are not counted as parity. v1.0.42 follow-up
Published v1.0.42 chemistry packet The hash-pinned macOS arm64 CPython 3.13 wheel retains the 80+3 reaction gate, 310,000/310,000 SMARTS cells, the exposed/ChEMBL CIP, hybridization and MMFF counts, and lossless MOL stereo rows. Its BioTransformer explicit-H lane has 6,486 exact, 153 differing and 165 RDKit-raw-unsanitizable rows; these are the published baseline, not source-candidate results. v1.0.42 follow-up
MCP Streamable HTTP Published v1.0.39 added the opt-in, loopback-first 2026-07-28 stateless transport retained here. The official suite produced 82 passes; its other checks require suite fixtures or capabilities the server does not declare. HTTP conformance record
Release channels v1.1.3 is verified on GitHub Release, npm, PyPI (25 wheels plus one sdist), all 20 crates.io archives, docs.rs and Pages. Availability alone does not establish chemical accuracy; the Python artifact packet above is the matching chemistry record. v1.1.3 verification

Other bounded results

  • A0 core-eight: frozen candidate 5e9211a6 passed 2,000/2,000 development and a one-time 8,000/8,000 sealed holdout on eight declared descriptors after source and overlap checks. The raw sealed rows remain local-only and cannot be reused for tuning. Commit-safe summary.
  • CIP: pinned exposed 10k comparison has 9,995 exact and five typed abstentions (four oracle_unstable, one lone_pair_center). This is neither a guessed label nor full CIP parity. Source adjudication.
  • Morgan: the published M4 Chromium lane matches on 9,999/9,999 supported 10k inputs; one Fe(II) coordination input is a typed refusal. Native ECFP4 is a different profile. Row-level record.
  • SMARTS source candidate: An opt-in Python source-wheel gate matches 309,982/310,000 RDKit 2026.03.6 match sets; the other 18 are typed unsupported. This does not change the published v1.0.30 baseline of 200 differing sets. Source packet.
  • 3D/MMFF94: Experimental. The published v1.0.42 macOS arm64 A6 lane and the current Linux/macOS/Windows CI gates pass all 265 geometry, stereo, and clash checks after stereo-safe re-embedding. Source MMFF typing and same-coordinate per-term energies match the pinned RDKit lanes. The current source candidate reproduces RDKit 2026.09.1 raw and triangle-smoothed topology bounds within 1e-12 on all 768,664 frozen A6 cells. Equal-count 20-conformer quality is within 1 kcal/mol on 258/265 rows and at or below RDKit on 168 rows. Seven basin/minimization-tail rows remain; formal timing, holdout, second-host and public-artifact gates are open. The earlier source candidate added full-hydrogen MMFF ranking: in equal-count ten-candidate comparison with RDKit 2026.09.1, 237/265 rows are within 1 kcal/mol and 216 are at or below RDKit's best, but the 9.896 kcal/mol maximum remains open. These results do not establish other corpora, public artifacts, or universal superiority. A second source candidate adds deterministic RDKit 2026.03-compatible multi-conformer ETKDG plus shared, parallel MMFF94. Its 20-candidate lane is within 1 kcal/mol on 243/265 rows; a bounded adaptive retry reaches 256/265 but is slower. One-repeat baseline timings are unstable and do not establish a speed win. A6 record · full-H ranking record · multi-conformer record · 2026.09 bounds follow-up · ETKDG record.

Earlier source diagnostics and per-release channel checks remain in the benchmark index and versioned validation results. They are not promoted to a later package claim unless that exact artifact has its own named gate.

Reproduce and interpret

cargo test --workspace --all-targets --locked
cargo clippy --workspace --all-targets --locked -- -D warnings
python3 scripts/check_release_docs_consistency.py
python3 scripts/check_benchmark_index.py
python3 scripts/check_v1030_artifact_packet.py

Formal reruns must use each record's exact versions, hashes, corpus and runtime. Canonical SMILES is not a universal identity key; use the bounded canonical_smiles_stable_key() when its documented domain applies. Rich CDXML, coordination/haptic V3000, broad Markush/polymer expansion and Standard InChI outside the optional native feature remain bounded. See the compatibility scope and accuracy plan.