Build Packages / build:rugnux:aarch64 (cross) (push) Successful in 8m59s
Build Packages / build:windows:nocuda (push) Successful in 17m39s
Build Packages / build:rugnux-tgz (x86_64) (push) Successful in 19m45s
Build Packages / build:windows:cuda (push) Successful in 19m56s
Build Packages / build:viewer-tgz:cpu (push) Successful in 21m22s
Build Packages / build:viewer-tgz:cuda (push) Successful in 22m54s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 22m57s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 27m34s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 27m58s
Build Packages / build:rugnux:windows (push) Successful in 11m21s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 20m5s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 22m45s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 26m42s
Build Packages / build:rpm (rocky9) (push) Successful in 24m2s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 22m51s
Build Packages / Generate python client (push) Successful in 35s
Build Packages / build:rpm (rocky8) (push) Successful in 29m45s
Build Packages / Create release (push) Skipped
Build Packages / Build documentation (push) Successful in 1m12s
Build Packages / XDS test (durin plugin) (push) Successful in 10m49s
Build Packages / DIALS test (push) Successful in 25m50s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 28m12s
Build Packages / XDS test (neggia plugin) (push) Successful in 9m20s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 10m13s
Build Packages / Unit tests (push) Successful in 1h26m17s
Build Packages / build:rugnux:aarch64 (cross) (pull_request) Successful in 9m15s
Build Packages / build:rugnux-tgz (x86_64) (pull_request) Successful in 18m32s
Build Packages / build:windows:nocuda (pull_request) Successful in 19m31s
Build Packages / build:viewer-tgz:cpu (pull_request) Successful in 20m28s
Build Packages / build:rpm (rocky9_nocuda) (pull_request) Successful in 21m1s
Build Packages / build:windows:cuda (pull_request) Successful in 21m41s
Build Packages / build:viewer-tgz:cuda (pull_request) Successful in 21m53s
Build Packages / build:rpm (rocky8_nocuda) (pull_request) Successful in 25m36s
Build Packages / build:rpm (ubuntu2404_nocuda) (pull_request) Successful in 19m5s
Build Packages / build:rpm (ubuntu2204_nocuda) (pull_request) Successful in 25m39s
Build Packages / build:rugnux:windows (pull_request) Successful in 11m11s
Build Packages / build:rpm (rocky9_sls9) (pull_request) Successful in 24m57s
Build Packages / build:rpm (rocky9) (pull_request) Successful in 24m2s
Build Packages / build:rpm (rocky8_sls9) (pull_request) Successful in 30m45s
Build Packages / build:rpm (ubuntu2404) (pull_request) Successful in 24m5s
Build Packages / build:rpm (rocky8) (pull_request) Successful in 31m30s
Build Packages / Generate python client (pull_request) Successful in 45s
Build Packages / Create release (pull_request) Skipped
Build Packages / Build documentation (pull_request) Successful in 1m26s
Build Packages / build:rpm (ubuntu2204) (pull_request) Successful in 29m22s
Build Packages / DIALS test (pull_request) Successful in 25m25s
Build Packages / XDS test (durin plugin) (pull_request) Successful in 10m34s
Build Packages / XDS test (JFJoch plugin) (pull_request) Successful in 10m40s
Build Packages / XDS test (neggia plugin) (pull_request) Successful in 8m32s
Build Packages / Unit tests (pull_request) Successful in 2h35m29s
Two changes, both about axial rows a sweep only partly reaches. A screw zone whose control class held a single reflection was discarded outright: the scale the zone is judged in is the mean of its control class, and that mean was required to rest on two numbers. One number is also a mean. The requirement measured the mounting rather than the evidence - an axial row lying near the spindle sits inside the blind cone and is recordable only out to 2 sin(alpha)/lambda however long the sweep runs, so on a crystal mounted along one of its own axes that row can never hold two. Measured on an orthorhombic wedge whose h00 held exactly two reflections, the absent one at 5e-5 of the present one: the zone scored zero. What a one-control zone can now earn stays capped by MIN_U_PER_ABSENT_REFLECTION at 6.9 nats per absent reflection, well under min_screw_absence_evidence, so it can add to a screw confirmed elsewhere but cannot license one on its own; the violation threshold is unchanged. Where candidates still tie, they differ only on axial rows this merge holds no control class for, and the representative was the lowest space-group number. That is a prior too, and the wrong one: a crystal that has already shown one screw carries the rest an order of magnitude more often than not, and a sweep short of half a turn routinely records one axial row and not the next - on two consecutive 50 degree wedges of one crystal, the first sees 00l and no 0k0 and the second 0k0 and no 00l. The tie-break therefore prefers the candidate claiming a screw on the unseen rows, and only where at least one zone was actually judged, so it is never spent by a crystal that has shown no screw at all. Centring-driven axial conditions do not count towards the claim, so a centred group and its screw partner stay tied. The alternatives are reported as before; only which one is named first moves. Measured over every run in a 99-dataset corpus that reports indistinguishable groups - the only runs this can reach - 31 in all: 28 unchanged, 3 changed, all three from a wrong group to the deposited one. Two of those three reach the right label over a run whose data are still wrong for unrelated reasons, one having lost a seventh of its frames to a crystal that moved mid-sweep and the other carrying a beam-centre error that leaves an edge 1.6 % out; this decides between tied candidates and repairs neither. jfjoch_test [twin] and SearchSpaceGroup pass, including the calibrated case for an absent class weak only within its own row. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>