Some checks are pending
Create Examples / build (ubuntu-22.04, 3.7) (push) Waiting to run
Create Examples / build (ubuntu-22.04, 3.8) (push) Waiting to run
Create Examples / build (ubuntu-latest, 3.10) (push) Waiting to run
Create Examples / build (ubuntu-latest, 3.11) (push) Waiting to run
Create Examples / build (ubuntu-latest, 3.12) (push) Waiting to run
Create Examples / build (ubuntu-latest, 3.9) (push) Waiting to run
Add normalize_pin() for consistent int/str coercion at YAML boundary, resolve_pin() for label-to-number resolution, and fix GraphViz port index rendering for loops and shorts on non-sequential connectors. Key changes: - wv_utils: add normalize_pin(), reject floats/bools, refactor expand() - wv_dataclasses: normalize pins/pinlabels/wirelabels in __post_init__, add Connector.resolve_pin(), resolve loop/short pins through labels, detect duplicate pins and minimum pin count in loops/shorts - wv_graphviz: convert pin IDs to position indices in loop/short edges, fix short membership test from pin.index to pin.id - wv_harness: delegate connect() pin resolution to resolve_pin() - tests: 50 tests covering resolution, coercion, rendering, validation