Skip to content

Migrate quantum-number property maps and rules to TypedDict facts #338

Description

@redeboer

Migrate the quantum-number property-map types GraphEdgePropertyMap / GraphNodePropertyMap (dict[Any, Scalar], src/qrules/argument_handling.py:39-43) to the TypedDict facts validated by the spike, across the solving, settings, system_control, and combinatorics modules.

Remove the now-redundant RuleArgumentHandler argument-builder and requirements-check machinery (src/qrules/argument_handling.py:177-336) and the __qualname__ patch loops in src/qrules/quantum_numbers.py:101-104,168-171. Move the to_fraction / Parity coercion from the rule-input converters to the fact-creation boundary in create_edge_properties (src/qrules/system_control.py:37-64), since TypedDict does no runtime coercion.

Breaking change to the internal quantum-number dictionary layer; this is mostly internal, as downstream consumers use ReactionInfo / State, not these dicts. Update the CSPSolver notebook examples under docs/usage/.

Activity

  1. self-assigned this
    on Jul 7, 2026
  2. changed the title [-]Migrate quantum-number property maps and rules to TypedDict facts[/-] [+]Migrate quantum-number property maps and rules to `TypedDict` facts[/+] on Sep 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions