orthonym.assembly.handlers.imidate#
Note
Internal API. Names and behaviour may change between releases.
a phase imidate handler — Tier-D iminoester functional-class naming.
IUPAC cite: (imidic acids and imidates; “alkyl alkanimidate” functional-class naming for R-C(=NH)-O-R’).
Mirrors handlers/isothiocyanate.py structurally: predicate-pure + direct- return + pool.add + _inject_stereo_if_missing wrapping.
References: - handlers/isothiocyanate.py (Tier-B retained-name handler; structural template per internal notes) - functional_groups.py iminoester SMARTS (a phase Plan-02 commit 163-02-04 addition) - internal notes-FRN.md (per-fixture spec + intercept analysis + predicate purity proof) - internal notes-FRN.md (INNER_DISPATCH priority 2900 LOCK)
- orthonym.assembly.handlers.imidate.name_imidate(features, mol=None, style='pin')#
a phase Tier-D iminoester functional-class handler.
Emits “alkyl alkanimidate” PIN per IUPAC. Style parameter is ignored per internal notes (single PIN per compound).
Algorithm (per AUDIT): 1. Get iminoester atom-match: (C_carbonyl, =NH, O, C_alkyl) tuple. 2. Identify the alkyl word (R’): atoms reachable from C_alkyl
excluding the C_carbonyl -> O path. Generate substituent name via carbon-count lookup.
Identify the chain stem (R): atoms reachable from C_carbonyl excluding =NH and =O paths. Generate chain stem with -imidate suffix.
Emit two-word name: “{alkyl} {stem}imidate”.
Returns None if either branch fails (gate-fail per -04 contract; dispatch_inner cascades to next entry).