Parent epic: #53
Objective
Validate the migrated thumbnail path on supported backends and in both consuming applications.
Work
- Run focused legacy-v2 and canonical-v3 thumbnail reads on local, S3-compatible, Secure Shell, and ML Croissant stores.
- Test consecutive Secure Shell reads and a forced connection drop while holding a lazy array.
- Run concurrent thumbnail workers around a forced drop; require completion or one terminal callback and prove shared UI adds no retry.
- Leave private filesystem-replacement and cache-invalidation counts to copick core's own tests.
- Run the public portal smoke, a local portal-shaped OME-Zarr 0.5 fixture, and the exact published core direct-reader fixture.
- Measure cold/warm latency, requests, bytes, and peak memory with at least five repetitions per case; retain raw values plus median and range.
- Install the shared-UI alpha into napari-copick and chimerax-copick 2.0 alpha environments.
- Run optional Server Message Block coverage when infrastructure is available without making it release-gating.
Acceptance criteria
- Local, S3-compatible, Secure Shell, and ML Croissant reads pass.
- Reconnect recovery needs no shared-UI retry and produces no duplicate terminal callbacks.
- The portal and exact core fixtures produce nonempty thumbnails through metadata-defined levels.
- The thumbnail path remains a bounded slice and does not materialize a full volume.
- Raw performance evidence is retained and any repeatable regression is explained before release; no arbitrary percentage is invented.
- napari-copick and chimerax-copick alpha smoke matrices pass.
- Server Message Block remains optional and non-gating.
Parent epic: #53
Objective
Validate the migrated thumbnail path on supported backends and in both consuming applications.
Work
Acceptance criteria