Build Packages / build:windows:nocuda (push) Successful in 15m45s
Build Packages / build:windows:cuda (push) Successful in 20m58s
Build Packages / build:rugnux:windows (push) Successful in 15m29s
Build Packages / build:rugnux:aarch64 (cross) (push) Successful in 9m17s
Build Packages / build:viewer-tgz:cpu (push) Successful in 15m41s
Build Packages / build:rugnux-tgz (x86_64) (push) Successful in 15m33s
Build Packages / build:viewer-tgz:cuda (push) Successful in 18m0s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 19m36s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 21m9s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 19m12s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 23m35s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 24m30s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 22m16s
Build Packages / build:rpm (rocky9) (push) Successful in 20m29s
Build Packages / build:rpm (rocky8) (push) Successful in 23m1s
Build Packages / XDS test (durin plugin) (push) Successful in 10m2s
Build Packages / Generate python client (push) Successful in 38s
Build Packages / Build documentation (push) Successful in 1m8s
Build Packages / Create release (push) Skipped
Build Packages / build:rpm (ubuntu2404) (push) Successful in 18m51s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 11m0s
Build Packages / XDS test (neggia plugin) (push) Successful in 9m52s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 21m7s
Build Packages / DIALS test (push) Successful in 20m57s
Build Packages / Unit tests (push) Successful in 2h36m9s
The binning rule was already XDS's: equal steps in 1/d^2 between the lowest- and the highest-resolution reflection the merge kept, anchored on the data rather than on the nominal low-resolution cut. Only the count differed - ten shells against XDS's nine - so at the same resolution limits neither the boundaries nor the reflection populations matched, and a per-shell number could not be read across. Forced to nine on a tetragonal rotation dataset, rugnux now gives 4.27 3.03 2.47 2.14 1.92 1.75 1.62 1.52 1.43 against CORRECT.LP's 4.26 3.02 2.47 2.14 1.92 1.75 1.62 1.52 1.43; the hundredth of an angstrom in the first two shells is each program anchoring on its own lowest-resolution reflection, the two sets of survivors not being identical. This matters most to the comparisons that are made shell by shell. rugnux_vs_xds.py hands XDS's resolution range to rugnux but not its shell count, so its low-resolution R_meas column compared a shell running to 4.49 A against one running to 4.26 A - 814 unique reflections against 943. The outer shell was nearly immune, its inner edge being d_min*sqrt(n/(n-1)), which is 1.51 at ten shells and 1.52 at nine. --resolution-shells still sets any count. rugnux_stills_ab.py pins the count for both its arms and now pins nine, so its tables read the same way as everything else. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vi1gV6Z45aZL5wLwe85Ksn