Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1158 commits
Select commit Hold shift + click to select a range
cc5af3d
LIVE-SPEC-METADATA-20261012: merge LIVE-QUALIFY-REFUSAL (e8ca017f, lo…
v-thampy Oct 13, 2026
56ce1a6
LIVE-SPEC-METADATA-20261012: complete the oracle from Codex's pre-wri…
v-thampy Oct 13, 2026
e22fced
LIVE-SPEC-METADATA-20261012: strict own-row custody, pre-admission cu…
v-thampy Oct 13, 2026
7c9edca
LIVE-SPEC-METADATA-20261012: let an E2SD test double pass keyword arg…
v-thampy Oct 13, 2026
2c5cb98
Pin SPEC growth during the reduction metadata read
v-thampy Oct 13, 2026
2a82679
Freeze nonfinite SPEC row classification review cases
v-thampy Oct 13, 2026
1365881
Classify nonfinite SPEC lines before published-row precedence
v-thampy Oct 13, 2026
7f2880c
Freeze Python-only numeric token cases for the same SPEC classificati…
v-thampy Oct 13, 2026
5493213
Reuse the SPEC token grammar for published-row classification
v-thampy Oct 13, 2026
65b7ab4
BROWSE-REFERENCE-RINGS-20261013: freeze the oracle (test-only)
v-thampy Oct 13, 2026
23415e6
BROWSE-REFERENCE-RINGS-20261013: oracle repair, open the raw popup wh…
v-thampy Oct 13, 2026
b76d894
BROWSE-REFERENCE-RINGS-20261013: oracle repair 2, select before openi…
v-thampy Oct 13, 2026
0232616
BROWSE-REFERENCE-RINGS-20261013: oracle repair 3, Browse ring rows on…
v-thampy Oct 13, 2026
a77695f
BROWSE-REFERENCE-RINGS-20261013: supersede RW5's generic ring reason …
v-thampy Oct 13, 2026
e5938bc
BROWSE-REFERENCE-RINGS-20261013: correct H2's path to the older Eiger…
v-thampy Oct 13, 2026
97230e6
BROWSE-REFERENCE-RINGS-20261013: correct two oracle fixtures (test-only)
v-thampy Oct 13, 2026
f01d966
BROWSE-REFERENCE-RINGS-20261013: G5 retries the reopen once the old c…
v-thampy Oct 13, 2026
bdba21c
BROWSE-REFERENCE-RINGS-20261013: apply the grid row's Average and Rei…
v-thampy Oct 13, 2026
e2dc490
BROWSE-REFERENCE-RINGS-20261013: Browse draws each saved frame's own …
v-thampy Oct 13, 2026
24bcb90
Freeze malformed saved ring energy boundary regressions
v-thampy Oct 13, 2026
cf49f3c
Refuse malformed saved ring energies without restoring a PONI fallback
v-thampy Oct 13, 2026
69e2e79
COVERAGE-SUPPORT-20261013: freeze the K/D oracle (test-only)
v-thampy Oct 14, 2026
d1d42ca
COVERAGE-SUPPORT-20261013: D1 and D8 fail first on missing behavior (…
v-thampy Oct 14, 2026
45005ce
COVERAGE-SUPPORT-20261013: K1b and K4 use reducer-shaped uniform q gr…
v-thampy Oct 14, 2026
f6d30f0
COVERAGE-SUPPORT-20261013: K8's Stitch fixture and union model (test-…
v-thampy Oct 14, 2026
2e4342a
COVERAGE-SUPPORT-20261013: angular support kernel, Int capture and St…
v-thampy Oct 14, 2026
ec2ae1c
COVERAGE-SUPPORT-20261013: every streaming Stitch entry point accepts…
v-thampy Oct 14, 2026
fc82e9f
COVERAGE-SUPPORT-20261013: Int support capture honours the Run's canc…
v-thampy Oct 14, 2026
ef8ba20
COVERAGE-SUPPORT-20261013: no detector-sized index arrays in the supp…
v-thampy Oct 14, 2026
c8a846f
COVERAGE-SUPPORT-20261013: Run capture reuse corrected by the step-3 …
v-thampy Oct 14, 2026
ddf7bb2
COVERAGE-SUPPORT-20261013: workers starting an incidence scan share o…
v-thampy Oct 14, 2026
477336b
COVERAGE-SUPPORT-20261013: one applied-mask copy per content, caller …
v-thampy Oct 14, 2026
bde5995
COVERAGE-SUPPORT-20261013: XU edges subdivided along their exact grea…
v-thampy Oct 14, 2026
2511881
COVERAGE-SUPPORT-20261013: K5b reduces a real energy scan; K6b names …
v-thampy Oct 14, 2026
933c661
COVERAGE-SUPPORT-20261013: saved Int support (format v1 codec, writer…
v-thampy Oct 14, 2026
4e9348a
COVERAGE-SUPPORT-20261013: freeze the decision-6 rows (test-only, bef…
v-thampy Oct 14, 2026
b061fee
COVERAGE-SUPPORT-20261013: R3 builds an exact validated session polic…
v-thampy Oct 14, 2026
3023ed4
COVERAGE-SUPPORT-20261013: K2b's disabled frame names recording_disab…
v-thampy Oct 14, 2026
8c48c6b
COVERAGE-SUPPORT-20261013: K9 compares one result with and without it…
v-thampy Oct 14, 2026
a04821f
COVERAGE-SUPPORT-20261013: K9's older form at the record's own path (…
v-thampy Oct 14, 2026
55d38db
COVERAGE-SUPPORT-20261013: decision 6 headless (recording off records…
v-thampy Oct 14, 2026
211ebd0
COVERAGE-SUPPORT-20261013: legacy Int support basis from an older out…
v-thampy Oct 14, 2026
8f731c4
COVERAGE-SUPPORT-20261013: "Record angular coverage" in Int and Stitc…
v-thampy Oct 14, 2026
dbe5beb
COVERAGE-SUPPORT-20261013: D8 reopens its Stitch result where it was …
v-thampy Oct 14, 2026
2baf4a3
COVERAGE-SUPPORT-20261013: the angular coverage strip, its Plot Optio…
v-thampy Oct 14, 2026
02c5d0b
COVERAGE-SUPPORT-20261013: D3 and D4 follow the existing display and …
v-thampy Oct 14, 2026
6e4450e
COVERAGE-SUPPORT-20261013: saved support through Browse's 1-D chain; …
v-thampy Oct 14, 2026
f69bed0
COVERAGE-SUPPORT-20261013: G3 reopens once the shown Browse's last re…
v-thampy Oct 14, 2026
7dec88d
COVERAGE-SUPPORT-20261013: older Int outputs' support rebuilt from th…
v-thampy Oct 14, 2026
06a7bf2
COVERAGE-SUPPORT-20261013: no angular coverage option in RSM's keyed …
v-thampy Oct 14, 2026
ed77f69
COVERAGE-SUPPORT-20261013: step-7 regression row G5, Browse's 1-D row…
v-thampy Oct 14, 2026
f5783ad
COVERAGE-SUPPORT-20261013: an older Stitch result in Int Browse is na…
v-thampy Oct 14, 2026
51faa0c
test: pin coverage persistence and legacy comparison review cases
v-thampy Oct 14, 2026
ed1cef6
fix: bound saved coverage metadata and preserve axis and append custody
v-thampy Oct 14, 2026
a53ad69
test: pin coverage ownership in the existing reader memory authority
v-thampy Oct 14, 2026
05a1a0a
test: freeze COVERAGE-SUPPORT round-2 rows before implementation
v-thampy Oct 14, 2026
f7b36ce
test: round-2 oracle repairs found at implementation, and one inherit…
v-thampy Oct 14, 2026
3d0356d
fix: COVERAGE-SUPPORT round 2 — contract B recording marker and event…
v-thampy Oct 14, 2026
6c0f30f
test: pin round-2 support reconstruction lifetimes and allocated-read…
v-thampy Oct 14, 2026
95cbca8
fix: release noncurrent legacy coverage integrators and superseded work
v-thampy Oct 14, 2026
9d5d7ea
test: freeze LT-SMALL-FIXES stage-1 oracle P1–P3 for phase rows
v-thampy Oct 14, 2026
7191e3d
test: repair P2 Fitter oracle to read the fit's phase entries
v-thampy Oct 14, 2026
750b835
fix: phase rows toggle, select and fit the Reference Phases window
v-thampy Oct 14, 2026
be46733
test: freeze LT-SMALL-FIXES stage-2 oracle F1–F4 for page Data formats
v-thampy Oct 14, 2026
02fa378
test: amend two Source-row assertions superseded by LT-006
v-thampy Oct 14, 2026
b393b00
test: repair the stage-2 combo helper to choose with real keys
v-thampy Oct 14, 2026
1b8573c
test: read the page's remembered SPEC files in the role-separation row
v-thampy Oct 14, 2026
5702030
feat: one remembered Data format per Stitch/RSM page drives its sources
v-thampy Oct 14, 2026
1e805a2
test: amend three settings contracts the Data format intentionally ch…
v-thampy Oct 14, 2026
31d2c2c
fix: refuse unknown older source kinds first; plain Quick image labels
v-thampy Oct 14, 2026
1492abf
test: freeze LT-SMALL-FIXES stage-3 oracle C1–C4 for compact calibration
v-thampy Oct 15, 2026
d21f977
test: amend four assertions that the approved compact calibration lay…
v-thampy Oct 15, 2026
22b243d
test: repair the stage-3 row-activation helper to send a real double …
v-thampy Oct 15, 2026
7285ad1
feat: compact calibration Instrument, Orientation readiness and a rea…
v-thampy Oct 15, 2026
690b300
fix: no RAW type under container formats; schematic lanes follow the …
v-thampy Oct 15, 2026
e1ff597
test: freeze LT-SMALL-FIXES stage-4 oracle S1, S2, V1, H1, H2 and G1
v-thampy Oct 15, 2026
0926a97
test: complete two inherited rows (absent phase fraction, viewer rend…
v-thampy Oct 15, 2026
f11aedb
fix: parallax-off energy scans, a malformed finite SPEC scan, stale p…
v-thampy Oct 15, 2026
85f268c
test: repair the G1 row's repeat to reintegrate the Run's output again
v-thampy Oct 15, 2026
c862f5b
fix: new GI outputs record the settings they ran and Reintegrate free…
v-thampy Oct 15, 2026
f6250c4
test: amend the quiet Manual GI Reintegrate row the maintainer's deci…
v-thampy Oct 15, 2026
4cb9b61
test: freeze LT terminal settings, disclosure, readiness and GI discr…
v-thampy Oct 15, 2026
72d0295
fix: preserve unresolved legacy format choices across settings saves
v-thampy Oct 15, 2026
bacca6a
fix: require validated seed geometry for staged orientation readiness
v-thampy Oct 15, 2026
4df4437
fix: record frozen ranges for every supported GI output mode
v-thampy Oct 15, 2026
583d49d
test: distinguish an unfinished Config zero edit from unchanged focus
v-thampy Oct 15, 2026
1968652
fix: preserve orientation keys when folding a drafted Config zero
v-thampy Oct 15, 2026
7dd6d9f
test: freeze COVERAGE-EXPORT-FOLLOWUP Stage A target-reader support b…
v-thampy Oct 15, 2026
3ffc4a0
test: repair A2's read_1d_rows call to use the full-inventory reader …
v-thampy Oct 15, 2026
1b3e90a
fix: bound the target reader's saved-support table by the primary gro…
v-thampy Oct 15, 2026
b50d80d
test: freeze COVERAGE-EXPORT-FOLLOWUP Stage B shared plot export (B1-B6)
v-thampy Oct 15, 2026
2c721d8
test: repair B4's ragged-HDF5 ordering to sort by point count (oracle…
v-thampy Oct 15, 2026
b517942
fix: one owned, target-aware Export dialog per plot scene, refusing b…
v-thampy Oct 15, 2026
0390672
test: freeze COVERAGE-EXPORT-FOLLOWUP Stage C control clarity (C1-C4)…
v-thampy Oct 15, 2026
fd9b235
fix: coverage controls say what they do: recording On/Off, Show angul…
v-thampy Oct 15, 2026
f7aa05c
test: freeze export Save-context and scene-retirement regressions
v-thampy Oct 15, 2026
de52ec0
fix: bind each pending export Save to its own dialog context
v-thampy Oct 15, 2026
8822b23
fix: retire shared export dialogs when their scene is destroyed
v-thampy Oct 15, 2026
c385507
test: drain the scene-triggered deferred dialog retirement
v-thampy Oct 15, 2026
0b2b51d
test: isolate deferred export retirement from scene-less painting
v-thampy Oct 15, 2026
d71ddb6
test: freeze a linear-growth oracle for Browse 1-D hydration custody …
v-thampy Oct 15, 2026
3c282d1
fix: Browse 1-D hydration finds a held borrow by its key, not by scan…
v-thampy Oct 15, 2026
8dfece8
test: freeze Stage A, "Record angular coverage" Off by default (INT-P…
v-thampy Oct 15, 2026
64ce4c9
feat: "Record angular coverage" is Off by default (INT-PERF-REGRESSIO…
v-thampy Oct 15, 2026
3d6c0cf
test: freeze batch lease release and cache close/eviction oracles (IN…
v-thampy Oct 15, 2026
8b7478c
test: round-trip coverage choices through the Int profile codec
v-thampy Oct 15, 2026
b40b47b
perf: release Browse cache leases in one validated authority transiti…
v-thampy Oct 15, 2026
b4c995d
test: expose losing snapshot finalizers during same-lease release races
v-thampy Oct 15, 2026
ae6f045
Merge INT-PERF-DIRECT-20261015 (Browse hydration and cache release fi…
v-thampy Oct 15, 2026
5452fbe
Compute missing Standard Int angular coverage on display
v-thampy Oct 15, 2026
6d83bf7
Show automatic image path and stem in Quick calibration
v-thampy Oct 15, 2026
773e03e
test(pause): freeze the shared tiny adapter's chi-discontinuity copy
v-thampy Oct 15, 2026
b8c3444
Restore the file picker owner after selection or cancellation
v-thampy Oct 15, 2026
a7c7ae9
Expose the existing Rough geometry mode on Quick calibration
v-thampy Oct 15, 2026
613665b
test(pause): copy the calibrated chi discontinuity in the shared tiny…
v-thampy Oct 15, 2026
97acbc3
Label 2D pixel coverage as Stitch only
v-thampy Oct 15, 2026
86c7c95
test(chi-window): freeze the periodic chi-window seam oracle (W rows)
v-thampy Oct 15, 2026
02229b0
Add shared Entry options beside each page data format
v-thampy Oct 15, 2026
c239939
Route shared NeXus entry overrides through scientific sources
v-thampy Oct 15, 2026
b3b7429
Bind shared Entry before calibration work and refuse missing groups
v-thampy Oct 15, 2026
7bd50f6
test(chi-window): complete W7's request check and freeze W9 before edits
v-thampy Oct 15, 2026
449a3e7
Add one-time shared image folder copy to Quick calibration
v-thampy Oct 15, 2026
ebb2780
fix(int): integrate Standard chi windows across pyFAI's +-180 seam
v-thampy Oct 15, 2026
645be47
test(support): an offset-shifted radial full turn now admits every di…
v-thampy Oct 15, 2026
a14db34
Move coverage recording into Advanced integration options
v-thampy Oct 15, 2026
664e879
test(chi-window): defer W1's I(chi)/cake rows as a strict residual
v-thampy Oct 15, 2026
dd02887
Merge LIVE-TEST-FIXES-20261015 onto PRE-RELEASE-CORRECTNESS-20261015
v-thampy Oct 16, 2026
8f4a48a
test(data-format): pin StitchSourceSelection's optional NeXus Entry f…
v-thampy Oct 16, 2026
731fe2c
Group Quick calibration inputs and mirror the shared calibrant
v-thampy Oct 16, 2026
119eac7
fix(view): prepare keyed previews and share image profile presentation
v-thampy Oct 16, 2026
6a7e9f1
Retain resumable calibration setup and typed results
v-thampy Oct 16, 2026
f01fd8d
Reuse calibration resume source identity comparison
v-thampy Oct 16, 2026
68dbc43
Preserve paired direct-beam identities in calibration sessions
v-thampy Oct 16, 2026
eb6c94a
Resume shared calibration sessions and finish from the Stitch preview
v-thampy Oct 16, 2026
c1dbc3a
Enable shared Q axes by default for Stitch maps
v-thampy Oct 16, 2026
e8cd117
test(view): exercise continuous wheel zoom on a saved profile
v-thampy Oct 16, 2026
49a3523
Expose shared axes in Options and simplify Stitch and RSM plot bars
v-thampy Oct 16, 2026
76e43b8
test(live): freeze the LIVE-REVALIDATION-COST oracle on 8f4a48a3
v-thampy Oct 16, 2026
0054e4a
test(windows-finite): freeze the Windows finite-publication contract …
v-thampy Oct 16, 2026
e78c83b
fix(windows-finite): publish Average, Stitch and RSM without director…
v-thampy Oct 16, 2026
b681c5f
ci(windows): run the finite-publication contract rows in the native P…
v-thampy Oct 16, 2026
0dfaa4e
Preserve finite candidate custody and calibration recovery on faults
v-thampy Oct 16, 2026
115750c
test(live): amend the LIVE-REVALIDATION-COST oracle at freeze, before…
v-thampy Oct 16, 2026
a094e39
Show fitted calibrant reference peaks on the stitched preview
v-thampy Oct 16, 2026
f213fca
test(view): freeze LF-012 wheel-zoom paint rows
v-thampy Oct 16, 2026
f504a9c
test(live): complete the LIVE-REVALIDATION-COST oracle before product…
v-thampy Oct 16, 2026
f6f2115
test(view): correct two LF-012 rows found wrong at implementation
v-thampy Oct 16, 2026
9f9e5b0
perf(view): paint each trackpad zoom step once, and cheaply (LF-012)
v-thampy Oct 16, 2026
34e9bb1
perf(live): M1 — stop rebuilding the whole history on every Live poll
v-thampy Oct 16, 2026
b0f4470
test: freeze the hosted-Windows findings before any product edit
v-thampy Oct 16, 2026
51eedac
fix(finite): accept Windows-width file identities in snapshots and li…
v-thampy Oct 16, 2026
f520eb3
Merge current stitch2d with reviewed LF-012 trackpad zoom fix
v-thampy Oct 16, 2026
2688f44
test: freeze the second hosted-Windows layer before any product edit
v-thampy Oct 16, 2026
4907215
fix(analysis): seal Stitch and RSM receipts on Windows
v-thampy Oct 16, 2026
769fd92
test: drive W47's Windows-width identities through Average, Stitch an…
v-thampy Oct 16, 2026
5bfc38d
perf(live): M2a — a Run-owned proof replaces per-poll revalidation of…
v-thampy Oct 16, 2026
0b11e95
Merge WINDOWS-FINITE-PUBLICATION-20260911 hosted-Windows correction o…
v-thampy Oct 16, 2026
5905474
perf(live): M2b + D1 — arrivals read only new members; idle polls kee…
v-thampy Oct 16, 2026
f33f6b3
fix(live): the in-poll proof is a live TIFF admission's second look; …
v-thampy Oct 16, 2026
4529a0a
test: repair three stale pins behind pre-existing stitch2d reds (test…
v-thampy Oct 16, 2026
a6c11f4
test(e3): freeze the narrow top bar row: scroll, never overlap (befor…
v-thampy Oct 16, 2026
321cd9e
test(e3): let the narrow top bar row settle posted layout requests (o…
v-thampy Oct 16, 2026
b5c9b34
fix(e3): scrollable toolbars scroll instead of squeezing controls tha…
v-thampy Oct 16, 2026
1b28d10
test: bring two Tools-list pins up to the Reference Phases launcher (…
v-thampy Oct 16, 2026
e6ef326
refactor(live): compact the cost stage's docstrings and new code to t…
v-thampy Oct 16, 2026
4eac6ca
Freeze GUI-PERF-01/05 oracle: linear catalogue identity and name-firs…
v-thampy Oct 16, 2026
ef3e0a8
fix(live): containers re-proved every poll; D1 watches the bounded su…
v-thampy Oct 16, 2026
b83ef7f
GUI-PERF-01: linear catalogue identity checks in ScientificView and B…
v-thampy Oct 16, 2026
1f9ea56
GUI-PERF-05: match series names before file-type checks in image_seri…
v-thampy Oct 16, 2026
e39f37f
perf(live): a cheaper proof sweep and sidecar listing for the 500-poi…
v-thampy Oct 16, 2026
35d57aa
Merge GUI-RESPONSIVENESS-PACKET-A-20261016 onto stitch2d
v-thampy Oct 16, 2026
10493e8
test(live): complete the entry oracle before R5a/R5b production (docs…
v-thampy Oct 16, 2026
e00a928
feat(live): R5a — Live follows a selected Image Series through the di…
v-thampy Oct 16, 2026
73f0c46
feat(live): R5b — a Live SPEC run binds each Eiger/NeXus frame to its…
v-thampy Oct 16, 2026
d9eea39
refactor(selection): the shared series rule matches a name before is_…
v-thampy Oct 16, 2026
81a2c19
fix(live): a container under a sidecar policy is ready at once; its m…
v-thampy Oct 16, 2026
980a68b
test(calibration): freeze the GUI-PERF-02 ring-scheduling oracle
v-thampy Oct 16, 2026
56e89d0
perf(live): a container re-check reads its SPEC rows only after its o…
v-thampy Oct 16, 2026
d2c853d
fix(live): admit a new file only once a second listing has seen it (n…
v-thampy Oct 16, 2026
f81340e
Merge LIVE-TEST-FIXES-20261015 follow-up batch (a094e390) onto stitch2d
v-thampy Oct 16, 2026
aabe819
test(live): P1 prints the Run's terminal when a row fails (test-only,…
v-thampy Oct 16, 2026
adc07c1
Merge stitch2d f81340ee (LIVE-TEST-FIXES follow-up batch) into Packet…
v-thampy Oct 16, 2026
3cbea82
test(calibration): amend the GUI-PERF-02 oracle for visibility and ch…
v-thampy Oct 16, 2026
92c7985
GUI-PERF-02: predict calibration rings on a worker, only while the wi…
v-thampy Oct 16, 2026
698972c
test: N-027c8981 finishing assertions, P1 sizes 100/500/1500
v-thampy Oct 16, 2026
afe6ab9
fix: container SPEC snapshot, Rows provider motors, Live series satur…
v-thampy Oct 16, 2026
5439492
test: freeze P1 BARS per row and phase before terminal
v-thampy Oct 16, 2026
5eb0cb7
test(live): cover selected Eiger master before its chunk arrives
v-thampy Oct 16, 2026
c2fca0a
fix(sources): preserve recorded saturation while Eiger chunks arrive
v-thampy Oct 16, 2026
56877a7
Merge LIVE-REVALIDATION-COST onto current stitch2d
v-thampy Oct 16, 2026
1ba6a22
test(stitch): freeze saved GI q_ip/q_oop XYE companion oracle
v-thampy Oct 16, 2026
e48a161
feat(export): saved Stitch GI q_ip/q_oop XYE companions
v-thampy Oct 16, 2026
c9a75fa
fix(install): take xrayutilities and its NumPy pin from conda-forge
v-thampy Oct 16, 2026
dc6b732
test: repair three stale release-test pins (RELEASE-TEST-MAINTENANCE)
v-thampy Oct 16, 2026
069bb40
test: freeze resumed Stop observed-first regression (J0-06R)
v-thampy Oct 16, 2026
09860ed
test: complete J0-06R settlement diagnostics (pre-writer amendment)
v-thampy Oct 16, 2026
e52045c
fix(scattering): settle a worker-observed Stop as stopped (J0-06)
v-thampy Oct 16, 2026
19cb211
test: retire test-owned calibration windows once clean (QT-TEST-LIFEC…
v-thampy Oct 17, 2026
b7f0e99
fix(calibration): cancel a pending session restore with its window
v-thampy Oct 17, 2026
646389d
Align hosted-red test doubles, pins, placement and CI timing bars
v-thampy Oct 17, 2026
dc942a5
Freeze Share Axis coupling to an Int 2D cake that is drawn
v-thampy Oct 17, 2026
7b1d0f9
Couple Share Axis only to a cake drawn in Int 2D
v-thampy Oct 17, 2026
df42c75
Turn Share off before choosing a Stitch 2D cut in four rows
v-thampy Oct 17, 2026
341cc52
Freeze source reads on focus leaving an unchanged field
v-thampy Oct 17, 2026
9e82766
Read source metadata on a commit only for new inputs
v-thampy Oct 17, 2026
075f3bd
F5 diagnostics: Linux inode receipts and distinct-inode controls (tes…
v-thampy Oct 17, 2026
53673dc
F5 diagnostics: drop the mount-type receipt (budget 0)
v-thampy Oct 17, 2026
84f97e7
F5 freeze: creation-descriptor pin rows W51-W53 (test-only)
v-thampy Oct 17, 2026
647a048
F5 freeze repair: count pin closes from the pin's creation (test-only)
v-thampy Oct 17, 2026
77e1b9c
Keep the candidate's creation descriptor open on POSIX (F5)
v-thampy Oct 17, 2026
e030c58
Browse order freeze: rows keep their place when the folder catalog la…
v-thampy Oct 17, 2026
db7c343
Browse order freeze repair: clear the run's selection before the no-s…
v-thampy Oct 17, 2026
5cb0101
Browse lists a not-yet-catalogued result where its folder catalog will
v-thampy Oct 17, 2026
3861965
Browse order: five consumer rows select results by identity (test-only)
v-thampy Oct 17, 2026
adf9a67
docs: prepare 1.2.0 release and Stitch/RSM guides
v-thampy Oct 17, 2026
143c70a
docs: plainer wording for two release-note entries
v-thampy Oct 17, 2026
d0f206b
Freeze successful shared SVG export regression oracle
v-thampy Oct 17, 2026
ee53ab3
Refresh qualified dependencies and restore shared SVG export
v-thampy Oct 17, 2026
2ceafa7
Align h5py builds with the required HDF5 runtime
v-thampy Oct 17, 2026
30037e9
Clarify current Windows implementation and qualification status
v-thampy Oct 17, 2026
4e05bb3
Pace synthetic plot drags to the configured mouse rate
v-thampy Oct 17, 2026
ff03247
Allow scattering CI enough time to finish
v-thampy Oct 18, 2026
3a2fcf4
Browse order: complete the held-catalog rows' identity checks (test-o…
v-thampy Oct 18, 2026
5d1d291
test: freeze live continuation guard contract
v-thampy Oct 18, 2026
1fbda98
test: complete live continuation guard oracle
v-thampy Oct 18, 2026
7a4eec4
test: exercise aborted continuation refusal
v-thampy Oct 18, 2026
8f20a93
refactor: centralize live continuation accounting guard
v-thampy Oct 18, 2026
3d96edc
docs: clarify Windows finite-save qualification
v-thampy Oct 21, 2026
dbf5c0d
fix: show and log actionable run failure reasons
v-thampy Oct 21, 2026
f7ef4ff
fix: compact and preflight calibration sessions with a 2 MiB limit
v-thampy Oct 21, 2026
f9ce23f
fix: size calibration preflight for the new output identity
v-thampy Oct 21, 2026
6293683
fix: preserve calibration input provenance on Quick reruns
v-thampy Oct 21, 2026
1ce7966
docs: simplify README and refresh release candidate guidance
v-thampy Oct 21, 2026
bc191a2
test: start heartbeat measurement after page readiness
v-thampy Oct 21, 2026
5333c18
test: yield during calibration wait and allow Nightly GUI headroom
v-thampy Oct 22, 2026
11b0b4a
fix: check the xrayutilities partner once per pixel, on a grid over t…
v-thampy Oct 22, 2026
6af3e8f
Add shared browser filename filters and native time sorting
v-thampy Oct 22, 2026
8dc2e89
test: synchronize coverage display and respect coalesced Stitch progress
v-thampy Oct 22, 2026
d2775a9
Document dimension-qualified Average slots and pin browser inclusion
v-thampy Oct 22, 2026
2cccf80
Name Average outputs by selected integration dimension
v-thampy Oct 22, 2026
7a8026a
fix: keep viewed results listed through the browser filter
v-thampy Oct 22, 2026
c6c8a17
docs: record the browser filter and dimension-named Average results
v-thampy Oct 22, 2026
5411f37
Preserve browser filters when visiting or reopening pinned results
v-thampy Oct 22, 2026
179fd54
fix: drop a row the filter kept while viewed once the view moves on
v-thampy Oct 22, 2026
acc04ba
test: name the RSM read-order fixtures as RSM results
v-thampy Oct 22, 2026
3817c7f
Refilter viewed rows after overlay visit gestures
v-thampy Oct 22, 2026
9c2bb47
Merge reviewed calibration save and browser fixes for the RC
v-thampy Oct 22, 2026
a38f91f
Complete browser fixture for filename mode
v-thampy Oct 22, 2026
d7fd042
Wait for terminal display and GI map readiness in tests
v-thampy Oct 22, 2026
744cdca
Wait for the selected Browse image before checking rings
v-thampy Oct 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
31 changes: 26 additions & 5 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ on:
description: "Teardown-crash diagnosis: also run tests/xdart WITHOUT the hard-exit wrapper, under gdb, and upload the native backtrace"
type: boolean
default: false
qt_keep_deletes:
description: "QT-TEST-LIFECYCLE opt-out: keep each test's deleteLater() objects instead of delivering them at its boundary (XDART_QT_DELIVER_DELETES=0)"
type: boolean
default: false

jobs:
core:
Expand All @@ -24,9 +28,12 @@ jobs:
name: xdart-offscreen (${{ matrix.group }})
strategy:
fail-fast: false
# Same five bounded groups as pr.yml: the harness retains Qt objects to
# avoid unsafe DeferredDelete teardown, and one process over the whole
# tests/xdart tree grows that graph until theme repolishes time out.
# Same six bounded groups as pr.yml: windows that tests close without
# deleting stay alive, and one process over the whole tests/xdart tree
# grows that graph until theme repolishes time out. The files that
# change the application's theme or font restyle every live widget, so
# they run in their own process (inside the application group they took
# 9,572 s of its 10,360 s locally; alone, about 4 s).
matrix:
include:
- group: execution-context
Expand All @@ -38,9 +45,21 @@ jobs:
- group: scattering-other
tests: tests/xdart/scattering --ignore-glob=tests/xdart/scattering/test_e[12346]*.py --ignore-glob=tests/xdart/scattering/test_p*.py
- group: application
tests: tests/xdart --ignore=tests/xdart/scattering
tests: >-
tests/xdart --ignore=tests/xdart/scattering
--ignore=tests/xdart/test_app_appearance_options.py
--ignore=tests/xdart/test_app_font_scaling.py
--ignore=tests/xdart/test_text_selection_contrast.py
--ignore=tests/xdart/pages/test_synthetic_page_host.py
- group: appearance
tests: >-
tests/xdart/test_app_appearance_options.py
tests/xdart/test_app_font_scaling.py
tests/xdart/test_text_selection_contrast.py
tests/xdart/pages/test_synthetic_page_host.py
runs-on: ubuntu-latest
timeout-minutes: 60
# Match PR headroom for the longest GUI group, including environment setup.
timeout-minutes: ${{ matrix.group == 'scattering-other' && 75 || 60 }}
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
Expand All @@ -51,6 +70,8 @@ jobs:
QT_QPA_PLATFORM: offscreen
XDART_SESSION_FILE: ${{ runner.temp }}/xdart-${{ github.run_id }}-${{ github.run_attempt }}-${{ matrix.group }}-session.json
XDART_SETTINGS_FILE: ${{ runner.temp }}/xdart-${{ github.run_id }}-${{ github.run_attempt }}-${{ matrix.group }}-settings.ini
# Empty (the harness default: deliver) for scheduled runs; "0" only when dispatched with the opt-out.
XDART_QT_DELIVER_DELETES: ${{ inputs.qt_keep_deletes && '0' || '' }}
# scripts/ci_pytest.py hard-exits with pytest's own verdict, skipping
# the interpreter teardown where the deterministic offscreen segfault
# (exit 139, post-summary) lives — see pr.yml for the full rationale.
Expand Down
31 changes: 26 additions & 5 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,13 @@ jobs:
env:
XDART_SESSION_FILE: ${{ runner.temp }}/xdart-pixi-browse-session.json
XDART_SETTINGS_FILE: ${{ runner.temp }}/xdart-pixi-browse-settings.ini
# Average, Stitch and RSM publication on the runner's local NTFS; SMB needs an actual share.
- name: Publish and reopen finite results without directory descriptors
run: >-
pixi run --locked python -m pytest tests/core/test_windows_finite_publication.py -q -ra --timeout=300
env:
XDART_SESSION_FILE: ${{ runner.temp }}/xdart-pixi-finite-session.json
XDART_SETTINGS_FILE: ${{ runner.temp }}/xdart-pixi-finite-settings.json

architecture-guards:
runs-on: ubuntu-latest
Expand All @@ -108,9 +115,11 @@ jobs:
name: xdart-offscreen (${{ matrix.group }})
strategy:
fail-fast: false
# The harness retains Qt objects to avoid unsafe DeferredDelete teardown.
# Bound that graph per process: application-wide theme changes otherwise
# repolish thousands of widgets left by unrelated tests.
# Windows that tests close without deleting stay alive. Bound that graph
# per process: application-wide theme changes otherwise repolish
# thousands of widgets left by unrelated tests. The files that change
# the application's theme or font run in their own group (nightly.yml
# has the measurement).
matrix:
include:
- group: execution-context
Expand All @@ -122,9 +131,21 @@ jobs:
- group: scattering-other
tests: tests/xdart/scattering --ignore-glob=tests/xdart/scattering/test_e[12346]*.py --ignore-glob=tests/xdart/scattering/test_p*.py
- group: application
tests: tests/xdart --ignore=tests/xdart/scattering
tests: >-
tests/xdart --ignore=tests/xdart/scattering
--ignore=tests/xdart/test_app_appearance_options.py
--ignore=tests/xdart/test_app_font_scaling.py
--ignore=tests/xdart/test_text_selection_contrast.py
--ignore=tests/xdart/pages/test_synthetic_page_host.py
- group: appearance
tests: >-
tests/xdart/test_app_appearance_options.py
tests/xdart/test_app_font_scaling.py
tests/xdart/test_text_selection_contrast.py
tests/xdart/pages/test_synthetic_page_host.py
runs-on: ubuntu-latest
timeout-minutes: 45
# scattering-other took 49 minutes on hosted CI; leave room for setup/preflight.
timeout-minutes: ${{ matrix.group == 'scattering-other' && 75 || 45 }}
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
Expand Down
52 changes: 50 additions & 2 deletions MIGRATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,56 @@ The current distribution is **xdart**, with `xdart` and `xrd_tools` as its
Python import packages. The legacy `ssrl_xrd_tools` import alias has been
removed; update those imports to `xrd_tools`. See the
[README installation guide](README.md#install) for current Pixi and pip setup.
The notes below describe the earlier repository merger, including the
historical `xrd-tools` distribution name and installation commands.
The current upgrade checklist comes first; historical merger notes and older
release records follow, including the former `xrd-tools` distribution name.

## Upgrading from 1.1.5 to 1.2.0

**1.2.0 is being prepared and is not yet published.** See the
[release notes](RELEASE_NOTES.md) for the current feature summary and
[limitations](docs/LIMITATIONS.md) for scientific and installation boundaries.
The older release sections below describe their behavior at the time; the
current README and installation guide are the starting points for a new install.

1. **Update the environment that actually launches xdart.** Use
`pixi global update xdart` for a Pixi global installation, or the
[private-workspace update command](docs/INSTALLATION.md#updating-an-installer-workspace)
for the one-line installer. Keep the GUI's compiled dependencies on the
supported Pixi/conda-forge route; pip-only GUI installs are best-effort.
Restart xdart after updating.
2. **Regenerate affected old seam-window outputs with Replace/Overwrite.**
This applies to Standard radial q/2θ data processed before the seam-window
correction. Append skips existing frames and can mix old truncated data with
corrected new data under the same provenance. There is no automatic data
migration. Retain a copy of the old output and reprocess the entire result
from raw inputs. See the [seam-q limitation](docs/LIMITATIONS.md#reprocess-outputs-made-before-the-seam-q-correction).
3. **Use azimuth/χ range Auto for full-turn I(χ) and cakes.** A typed full turn
with a nonzero χ offset still has the documented W1 limitation. Exact 360°
Standard radial q/2θ windows now use Auto admission; this does not extend to
GI or Stitch. Extra seam-window integrators can also increase memory use.
4. **Choose the new workspace modes explicitly.** **Stitch 1D**, **Stitch 2D**
and **RSM** are implemented GUI pages. Follow the README's
[Stitch](README.md#stitch-1d-and-stitch-2d) and
[RSM](README.md#reciprocal-space-mapping-rsm) instructions for raw inputs and
the appropriate calibration. Reopening a saved result does not reconstruct
the processing inputs or rerun it.
5. **Expect stable result-folder name order.** Stitch/RSM rows are naturally
sorted from the start. The most recently produced result stays current but
may appear above older rows. No-selection fit batches follow the visible
order, which can change result-order trends and export order relative to a
previously captured arrival order. Select the intended results explicitly
when preparing comparisons or a fit batch.
6. **Clear the Data Browser's filter to find other results.** Each page lists its
own mode's results by default; older or hand-named results without an
operation suffix appear once the field is cleared. A new Average writes
`<family>_int1d_average.nexus` or `<family>_int2d_average.nexus` beside any
1.1.5 `<family>_average.nexus`, which it no longer replaces; update scripts
that look for `_average.nexus`.

There is no bulk conversion of processed files. Keep the original raw sources
with a moved project when raw-image inspection or replay is needed. The
historical API/format changes below remain relevant when upgrading from older
versions, including the `ssrl_xrd_tools` → `xrd_tools` import rename.

## Repository merger (June 2026)

Expand Down
Loading
Loading