orthonym.assembly.handlers.partial_sat#

Note

Internal API. Names and behaviour may change between releases.

a phase partial_sat handler — Tier B shim (gate 0.40).

Verbatim move of composer.py:1116-1131 dispatch logic. Wraps the inline _try_partially_saturated_carbocycle(features.mol) check + enrichment + pool.add gate.

Per internal notes incremental migration: the underlying _try_partially_saturated_carbocycle body STAYS in composer.py during Plan-02 and moves to this module in Plan-03 commit 03-10.

Byte-identical contract: same mutex as polycyclic — the inline gate is nested under if not _complex_ring_accepted and not chain_is_parent so the predicate here uses not _is_complex_ring_system for the fast-path. The fallback for complex-ring-rejection cases lives in the inline partial_sat block at composer.py:1112+ (unchanged in Plan-02).

IUPAC cite: (partially saturated carbocycles; tetrahydronaphthalene).

References: - composer.py:1116-1131 (inline partial_sat branch; TRIMMED at this commit). - composer.py:_try_partially_saturated_carbocycle (STAYS until 03-10). - composer.py:_enrich_handler_name (STAYS until 03-10). - internal notes-DECOMP.md row ‘partial_sat’ + purity proof.

orthonym.assembly.handlers.partial_sat.name_partial_sat(features, mol=None, style='pin')#

Tier-B partial_sat handler.