Space-group search: report the order of the point group it chose

The two-arm search compared its arms by the order of the space group each
had picked, but Stage B leaves best_space_group unset whenever no
candidate is eligible - no candidate had enough observed absences to
trust. That is not rare on the Lorentz-filtered arm, and for a systematic
reason: the filter removes the badly-measured observations, which is
where the weak systematically-absent reflections are.

An arm that confirmed 422 but stopped short of naming a space group
therefore scored order 0 and lost to an arm supporting P2, and the
demotion was logged as "taking the higher symmetry" - the comparison and
the message both wrong, in the one direction the design says cannot
happen.

Carry the point-group order in the result, set from the order Stage A
actually adopted, and compare on that.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-29 09:33:29 +02:00
co-authored by Claude Opus 5
parent 0162afd324
commit 157698d31e
3 changed files with 13 additions and 7 deletions
@@ -640,6 +640,7 @@ SearchSpaceGroupResult SearchSpaceGroup(
if (best_pg->representative)
result.point_group_hm = best_pg->representative->point_group_hm();
result.point_group_order = best_pg_order;
// Only report a refusal that is actually ABOVE what was adopted.
if (refused_order > best_pg_order) {