Description:
This task improves the robustness of electron perception when encountering elements without defined valence data. Today, assign_general errors whenever valence_electrons is absent, which breaks on isolated transition-metal ions (e.g., Au⁺) that appear as degree-0 nodes in crystal or biomolecular inputs. We will allow degree=0 atoms with unknown valence to default to valence 0 while preserving errors for any bonded cases. This keeps perception deterministic, maintains existing behavior for connected atoms, and broadens support for common crystallographic metals.
Tasks:
Description:
This task improves the robustness of electron perception when encountering elements without defined valence data. Today,
assign_generalerrors whenevervalence_electronsis absent, which breaks on isolated transition-metal ions (e.g., Au⁺) that appear as degree-0 nodes in crystal or biomolecular inputs. We will allow degree=0 atoms with unknown valence to default to valence 0 while preserving errors for any bonded cases. This keeps perception deterministic, maintains existing behavior for connected atoms, and broadens support for common crystallographic metals.Tasks:
Logic Update
perception::electrons::assign_general, branch onvalence_electrons():Some(v), keep existing behavior.Noneanddegree == 0, treatvalence = 0(no lone pairs, formal charge 0) without error.Noneanddegree > 0, retain the current error path.Tests
formal_charge = 0,lone_pairs = 0, no error.