Files
Jungfraujoch/tools
leonarski_fandClaude Opus 5.5 d28c8b8bb3 battery: same-absence groups of one Laue class pass as indistinguishable_alternative
sgequiv keyed space groups on their proper+improper rotation matrices, so groups with
identical merged intensities but different point groups (I41md vs I-42d, Pc vs P2/c,
Pna21 vs Pnma, P2 vs P2/m) were called a "REAL difference", contradicting its own
docstring, and score.py compared point groups literally on the XDS arms. A run that
wrote one member of such a pair and listed the other in SPACE_GROUP_ALTERNATIVES failed
as sym_other / sym_over.

sgequiv now keys each group, in every setting gemmi tabulates, on its Laue rotations
(operations plus their negatives), centring and absences; describe() separates the new
different-point-group pairs from the old same-point-group ones, and enantiomorph
handling is unchanged. score.py passes a row, on both arms, when some setting of the
reference has the same signature as our group in our own setting: verdict pass, cause
indistinguishable_alternative, the reason saying whether rugnux listed the reference.

Pass, not unscored: unlike an unmeasured screw axis, everything was measured and the
answer is as right as the data allow; only a model or a strong anomalous signal decides.
The separate cause keeps such rows countable. Being listed in SPACE_GROUP_ALTERNATIVES
alone is deliberately not enough: that list also carries the screw alternatives of an
undetermined axis, whose absences differ, and those stay under the screw rule. The
open arm's same-point-group UNDECIDABLE pass now also requires the setting check.

results.json gains sg_alternatives (rugnux's SPACE_GROUP_ALTERNATIVES). KDP joins the
ci tier. Re-scoring the open and in-house arms of the two latest full runs changes one
verdict in each: kdp_x10sa_20keV fail/sym_other -> pass/indistinguishable_alternative.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SVmAWnzCmRKAXVUCdc4iNi
2026-10-09 16:27:23 +02:00
..
2026-06-23 20:29:49 +02:00
2026-09-09 07:25:13 +02:00
2026-06-23 20:29:49 +02:00
2026-05-06 21:50:02 +02:00
2026-07-19 09:39:28 +02:00
2025-09-08 20:28:59 +02:00
2025-04-14 11:52:06 +02:00
2026-07-03 19:18:56 +02:00
2026-08-25 08:21:39 +02:00
2024-11-22 21:25:20 +01:00
2024-11-26 16:04:38 +01:00
2026-06-08 08:30:35 +02:00
2026-09-22 06:48:37 +02:00
2026-06-08 08:30:35 +02:00