Three problems with the DIALS job. It asserted nothing but xia2.ssx's exit code,
and dxtbx reports a short scan rather than failing when it cannot reach every
image - xia2.ssx then succeeds on the images it did get, so silent truncation
looked like a pass. Add dials.import with an explicit "num images: 100" check.
The single-file step ran `xia2.ssx image=single.h5`, but `-S -o single` writes
single_master.h5. The file never existed, so NXmxIntegrated was not actually
being tested by DIALS at all.
Multi-file NXmxLegacy stays out of this job on purpose, with a comment saying
why: dxtbx takes one dataset out of NXdata and indexes it globally, so a legacy
master reads back as only its first data file (measured: 40 images written, 10
imported, no warning). The XDS jobs below do build that layout and read it
correctly, which is why the gap survived - the layout and DIALS were each
covered, never together.
Verified locally against DIALS 3.27: all three formats now report 100 images.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>