orthonym.validation.stereo_stated#
Note
Internal API. Names and behaviour may change between releases.
Does the shipped name state every stereo element the input configures?
The provenance flag stereo_unexpressed of Orthonym.name_tiered is True when a stereo
element of the input (a stereocentre, or a double bond drawn with / and \) is not stated in
the name. The flag used to be set for one producer only, the general engine under
ORTHONYM_BE_STRIP_STEREO, so a name of the strict path or of the composer that left the
configuration out carried False:
- C[N+](C)=C/C=C/C=C/N1CCCC1 -> 1-[5-(dimethylamino)penta-2,4-dien-1-ylidene]pyrrolidin-1-ium
(pin_verified; two configured double bonds in the input, none in the name)
The two double bonds are single bonds in the form of the cation that gives the PIN, so the name
cannot state them; the standard InChIKey does not see a bond that is single in the other form, so
every gate that compares keys passes (namer._self_consistency_verdict accepts on equal full
keys before it counts stereo). The name is right and it is the PIN; the row now says that it
leaves the configuration out (internal notes).
The test is the one the gate already has: namer._name_omits_input_stereo, the number of
configured stereo elements of OPSIN’s read-back of the name against the input’s. The read-back
is namer._validity_gate_name_to_smiles, the oracle’s cached parse: the parse the final check
made, so a name it read costs no OPSIN call. A name OPSIN cannot read (lowercase r and s,
a grammar carve-out) has no read-back and is not flagged: the flag never guesses from the string
of the name (a token count would miss L-phenylalanine and over-count bis{(E)-...}).
- Blue Book (no PIN decision here; the name and its tier are the ones the row had before):
“Omission of stereodescriptors” (the Blue Book),:44637: the omission of the
descriptors of double bonds is recommended only for three- to seven-membered unsaturated alicyclic rings, and “From nine-membered rings onwards, stereodescriptors are required.” “Compounds containing more than one double bond” (:47102),:47104: “The stereodescriptors ‘E’ and ‘Z’ related to the parent are cited… before the complete name of the compound”. The book gives no PIN for the input’s configuration in a form whose double bonds are single bonds; the tier is not moved (ASSUMED: the user ruling of 2026-10-13, a name that had a PIN keeps it).
- orthonym.validation.stereo_stated.name_states_fewer_stereo(input_smiles, name)#
True iff
namehas an OPSIN read-back that configures FEWER stereo elements thaninput_smiles. False for an input with no stereo mark, a decline, a name OPSIN cannot read and a name whose read-back states every element (or more).