Build Packages / Create release (push) Successful in 16s
Build Packages / build:rugnux:aarch64 (cross) (push) Successful in 7m56s
Build Packages / build:rugnux-tgz (x86_64) (push) Successful in 9m23s
Build Packages / build:viewer-tgz:cpu (push) Successful in 10m29s
Build Packages / build:viewer-tgz:cuda (push) Successful in 12m6s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 15m45s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 16m7s
Build Packages / build:windows:nocuda (push) Successful in 17m34s
Build Packages / build:windows:cuda (push) Successful in 20m6s
Build Packages / HDF5 consumer tests (DIALS, XDS) (push) Successful in 23m34s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 17m21s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 18m52s
Build Packages / build:rugnux:windows (push) Successful in 10m56s
Build Packages / Generate python client (push) Successful in 35s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 18m41s
Build Packages / Build documentation (push) Successful in 1m22s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 19m38s
Build Packages / build:rpm (rocky8) (push) Successful in 18m22s
Build Packages / build:rpm (rocky9) (push) Successful in 18m39s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 15m20s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 13m14s
Build Packages / Unit tests (push) Successful in 1h15m6s
Where the model and the data share a point group and the lattice has more symmetry than that point group, the model's change-of-basis probe used to absorb the alternative indexing: it saw the twin law as "another description of the lattice", put the MODEL through it, and the data kept whichever indexing their own run had picked. The indexing probe that relabels the data into the model's indexing (with its null gate) therefore never fired. For a campaign of one crystal form processed against one model that left the MTZs in different conventions. Now those operators are left out of the change-of-basis candidates when the two groups have the same rotations (I23 vs I2(1)3 and enantiomorphic pairs count as the same point group), so the model stays in its own indexing and the existing probe reindexes the data - only where the model fits and its lead beats the lead a random placement of it takes; otherwise the data keep their indexing, as before. A model in a different point group, or with a reference MTZ fixing the indexing, goes through the change of basis exactly as before. The P1 cross-check file is now reindexed along with the merged and unmerged output: it is merged from the scaler's copy of the observations, which the relabelling did not reach. Measured on a cubic I23 series of seven datasets against one I2(1)3 model: three came out in the other indexing before and are now reindexed (-x,-z,-y / -y,-x,-z, det +1); merging statistics identical, merged/unmerged/P1 reflections identical up to the relabelling with I(+)/I(-) in place, anomalous peak heights at the model's sulfurs unchanged within placement noise; pairwise CC of the merged intensities as written goes from 0.56-0.64 across the two groups to >= 0.95 for every pair. Holohedral, different-setting and different-point-group controls are byte-identical. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013nW6FNRP1bBJJ8pfHiByAT