Shared Stage-1/Stage-2 “coverage mode” orchestration (v0.24, Phase
41.18B), per docs/design/coverage-mode-v0.md. One implementation,
called from both src/main.rs (CLI) and src/python.rs (PyO3) – the
whole point of this module existing is that neither of those files
duplicates staged-escalation logic.
Deterministic, exact-set batch matching of external reaction records
against RENKIN’s stable template_ids (for importing evidence from
datasets such as ORD – see scripts/ord_evidence_audit.py).
SpectatorBondLoss: detects a real target bond that a retro-rule’s own
SMIRKS never declares as broken, yet chematic’s reaction engine silently
drops when assembling precursors – turning a step that looks
atom-balanced into one whose precursors can never forward-reconstruct
the target, for a purely mechanical (not chemical) reason.
Synthesizability Kernel v0 (docs/design/synthesizability-kernel-v0.md):
takes already-produced search routes plus stock/evidence/validation
context and returns a decisive, auditable, machine-readable assessment
of how well-supported a route is – never a claim that a target
cannot be synthesized, and never an uncalibrated score.
Lower-hex encoding of a digest, shared by every "sha256:<hex>"-style
hash string across this crate and renkin-forward. sha2/digest 0.11’s
output type (Array<u8, N>, from the hybrid-array crate) no longer
implements LowerHex the way generic_array::GenericArray did in 0.10.