orthonym.assembly.handlers.simple_molecule#

Note

Internal API. Names and behaviour may change between releases.

a phase simple_molecule handler — LIFT (single-atom / very simple).

Verbatim move of composer.py:1388-1392 dispatch logic. The underlying _name_simple_molecule body STAYS in composer.py during Plan-02 and moves to this module in Plan-03 commit 03-10 (composer.py thinning) per internal notes incremental migration.

IUPAC cite: (simple molecules; noble gases / single-atom symbols).

Byte-identical contract: the predicate matches molecules with neither a principal chain nor a ring system (atoms / noble gases / very simple molecules); no other handler in the cascade applies in that case, so moving this to inner-dispatch (which fires before the inline cascade) does NOT change behavior — the molecule routes identically.

References: - composer.py:1388-1392 (inline simple-molecule branch). - composer.py:_name_simple_molecule body at ~ line 2545 (STAYS until 03-10). - internal notes-DECOMP.md row ‘simple_molecule’ + purity proof.

orthonym.assembly.handlers.simple_molecule.name_simple_molecule(features, mol=None, style='pin')#

Direct-return simple-molecule handler.

Plan-10 DECOMP-02 OBSERVABLE CLOSURE: this is the FIRST tree-emitting handler in Orthonym. The NameTreeNode contains only parent_stem (the noble-gas / atom name) because simple molecules have no locants, no prefixes, no suffix, no stereo. name_tree_to_string(tree) is byte-identical to result.name.