Files
Jungfraujoch/docs
leonarski_fandClaude Opus 5 baf302f813 Map an FFT candidate to its own Bravais lattice, not to the pinned group's
A user-fixed space group reached indexing in one place, and what it did there was
relabel a cell rather than re-express it. build_sr took the conventional cell that
LatticeSearch had reduced for whatever Bravais class the METRIC matched, then
overwrote its system and centring with the pinned group's - without transforming
the cell. The constrained refine then snapped that cell's real angles onto the
pinned class's ideal ones. Measured: a C-centred orthorhombic cell relabelled
primitive monoclinic indexed 1 of 60 validation frames, and an F-cubic one
relabelled trigonal indexed 0 of 60, where the same frames index 36/60 and 51/60
with no group given.

The pseudo-symmetry guard was withheld at the same time - has_tri required no
group - so the unconstrained cell did not exist, which also disabled the
false-promotion rescue in pick_best. The only remaining outcome for a bad
constrained cell was the throw. That is what decided the two centred-monoclinic
cases, where the relabelling is a no-op and the metric really is the pinned class:
the constrained solve runs out to the length bound at a fraction of 0.005 while the
unconstrained solve on the same candidate reaches 0.7.

The group names the symmetry; it does not say which basis the candidate came back
in. It is applied where it belongs, to the scaling and the merge.

Pinning each rotation test dataset to its reference group: 5 hard failures of 38
become none, and no dataset is worse than before. The de-novo path is unchanged by
construction - with no group the deleted branch never ran, and has_tri's condition
reduces to its old form - and a ten-dataset de-novo control reproduces the baseline
exactly.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016NNnL26LAvruQ9eLUUWvrJ
2026-08-24 18:50:01 +02:00
..
2026-08-13 17:03:10 +02:00
2026-08-22 18:35:47 +02:00
2026-08-13 17:03:10 +02:00
2026-08-13 17:03:10 +02:00
2026-08-13 17:03:10 +02:00
2025-04-14 11:52:06 +02:00
2024-11-22 21:25:20 +01:00
2026-02-18 16:17:21 +01:00
2025-06-24 16:43:47 +02:00
2024-11-17 14:55:09 +01:00
2026-08-13 17:03:10 +02:00
2024-11-17 14:55:09 +01:00
2026-07-19 09:39:28 +02:00
2026-08-13 17:03:10 +02:00
2026-08-13 17:03:10 +02:00
2025-11-28 12:47:35 +01:00
2026-06-23 20:29:49 +02:00
2026-07-11 07:19:11 +02:00
2024-12-02 21:17:14 +01:00
2024-12-02 21:17:14 +01:00
2026-08-13 17:03:10 +02:00
2026-08-13 17:03:10 +02:00
2024-11-22 21:25:20 +01:00
2026-08-13 17:03:10 +02:00
2026-08-13 17:03:10 +02:00
2026-08-13 17:03:10 +02:00
2026-08-13 17:03:10 +02:00
2024-11-17 14:55:09 +01:00
2024-11-22 21:25:20 +01:00