algebra/rotor.py and persona/motor.py were calling normalize_to_versor() which is the gate-only injection primitive. Both are construction-time sites (building rotors and motors from raw arrays), so the correct call is unitize_versor(). Also tightens TestINV02 to scan for normalize_to_versor violations only — unitize_versor has its own legitimate call sites and is not under the same single-site restriction. Adds a new TestINV02b that verifies unitize_versor is NOT called inside propagation, generation, or vault recall paths. Fixes: INV-02 architectural invariant test failure. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| backend.py | ||
| cga.py | ||
| cl41.py | ||
| holonomy.py | ||
| rotor.py | ||
| versor.py | ||