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; None on 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 same pool.add call so a phase byte-identical lock methodology is preserved.

The mol parameter is accepted for API uniformity per internal notes

but not used here (composer.py:_name_oxime_or_hydrazone reads

features.mol directly). The style parameter 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 tree field is None for first-wave handlers; the name field is the byte-identical contract per DECOMP-03.

Return type:

NamingResult | None