orthonym.assembly.handlers.oxime#
Note
Internal API. Names and behaviour may change between releases.
a phase oxime handler — Tier B retained-name (gate 0.40).
Verbatim lift of the oxime dispatch logic from composer.py:771-782 (inline branch) + composer.py:1906-2042 (body of _name_oxime_or_hydrazone). The body itself STAYS in composer.py per internal notes incremental-migration discipline — this handler module is a thin wrapper that invokes the existing composer.py logic via lazy import. Plan-03 commit 03-10 (composer.py thinning) deletes the inline body from composer.py once the inner-dispatch substrate is fully wired.
Byte-identical lock per internal notes (DECOMP-03): the handler’s behavior on every canary fixture MUST equal the inline branch’s behavior bit-for-bit; verified by python scripts/verify_decomp_byte_identical.py –mode delta at the atomic commit gate.
IUPAC cite: (oxime functional class naming).
References: - composer.py:771-782 (inline dispatch branch; REMOVED at this commit). - composer.py:1906-2042 (_name_oxime_or_hydrazone body; STAYS until 03-10). - internal notes-DECOMP.md row ‘oxime’ + predicate purity proof. - internal notes (Tier-B lift handler pattern). - 160-internal notes (atomic-commit byte-identical canary lock).
- orthonym.assembly.handlers.oxime.name_oxime(features, mol=None, style='pin')#
a phase Tier-B oxime handler.
Verbatim semantics of composer.py:771-782 (inline branch). Returns
NamingResult(name=<final string>, tree=None, atom_to_locant_hint=None)on success;Noneon gate-fail / not-applicable (pool gate threshold 0.40 per HANDLER_POLICIES[‘oxime’]).Wave-1 strategy per internal notes: lazy-import the composer.py body (
_name_oxime_or_hydrazone) and the enrichment helper (_enrich_handler_name); call them with the same arguments the inline branch used; route through the samepool.addcall so a phase byte-identical lock methodology is preserved.- The
molparameter is accepted for API uniformity per internal notes but not used here (composer.py:_name_oxime_or_hydrazone reads
features.mol directly). The
styleparameter is similarly unused for first-wave Tier-B handlers (style only affects Pass-2 assembly, not Tier-B handlers).- Parameters:
features (Any) – MolecularFeatures object.
mol (Any) – RDKit Mol object (not used in first-wave; reserved per).
style (str) – Naming style (not used in first-wave Tier-B; reserved per).
- Returns:
NamingResult on success, or None on gate-fail. Per internal notes the
treefield is None for first-wave handlers; thenamefield is the byte-identical contract per DECOMP-03.- Return type:
NamingResult | None
- The