You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The June 2026 staff-answer batch (#238 through #271, almost all filed 2026-06-20/21) is where most of what CORA records about 2-BM came from: per-energy curves, part numbers, serials, drawings, stripe maps, window counts, piezo identity. Those values were folded without recording which version of the source they came from, because the citing convention that requires it did not exist yet.
That matters because an answer can be overtaken by a later edit to the source it cited, and nothing announces it. Two from that batch already were, and both surfaced only because something else brought us back to them:
Neither was found by looking. Both were found by accident.
What is already known good
The 2026-08-09 sweep behind #626 read all 75 PV names in deployments/2-bm/beamline.yaml from arcturus: 70 answered, 4 did not, and three of those four were answers already on record that had simply never been applied to the descriptor. That is reassuring about the batch and unflattering about our folding, and it is the right kind of check.
It validated PV names only. The numeric and identity payloads from the same batch have never been re-read against their sources.
Scope
Re-validate the values folded from #238-#271 against their current sources. Rough shape of what is out there, not yet a complete inventory:
16 descriptor lines carry an explicit #2xx citation; the folded values without one are the harder half and need finding rather than grepping.
Method
For each value, read the current source and compare. Where it still matches, record the source version alongside it per the citing convention, so the next pass is a diff rather than a re-read. Where it does not, fold the correction and say what changed.
Most of this needs no operator time: energy2bm.json, docs2bm, and the vendor datasheets are all readable directly. Reserve staff questions for what the sources cannot settle, per the questions-page charter.
Depends on
#624 (CAM-1). If 2bmSP1: is retired rather than merely outside arcturus's address list, the camera identity and sensor facts from the same era (#142, DET-8) describe hardware that is not installed, and the sweep should cover them too.
Not in scope
Re-asking staff to confirm what they already confirmed. The batch was accurate when it was given; this is about whether CORA's copy has drifted from a source that moved, which is CORA's problem to check and not theirs to answer again.
Why
The June 2026 staff-answer batch (#238 through #271, almost all filed 2026-06-20/21) is where most of what CORA records about 2-BM came from: per-energy curves, part numbers, serials, drawings, stripe maps, window counts, piezo identity. Those values were folded without recording which version of the source they came from, because the citing convention that requires it did not exist yet.
That matters because an answer can be overtaken by a later edit to the source it cited, and nothing announces it. Two from that batch already were, and both surfaced only because something else brought us back to them:
--random; FPGA-output-to-axis cable mapping still needs operator confirmation #245 (PIEZO-5) documented a contradiction between the NV200D cable map and the gate-delay PV labels.item_028was corrected on 2026-07-28 (2bm-docsa3aa6be0), so the issue body now describes a cross that no longer exists, and CORA had recorded the wrong half of it faithfully for six weeks.Neither was found by looking. Both were found by accident.
What is already known good
The 2026-08-09 sweep behind #626 read all 75 PV names in
deployments/2-bm/beamline.yamlfromarcturus: 70 answered, 4 did not, and three of those four were answers already on record that had simply never been applied to the descriptor. That is reassuring about the batch and unflattering about our folding, and it is the right kind of check.It validated PV names only. The numeric and identity payloads from the same batch have never been re-read against their sources.
Scope
Re-validate the values folded from #238-#271 against their current sources. Rough shape of what is out there, not yet a complete inventory:
store_0per-energy positions for the three energy-tracked DMM motors (dmm_us_arm=2bma:m30,dmm_ds_arm=2bma:m31,dmm_m2_y=2bma:m32); Mono 6 energies + Pink 4 energies; source:energy2bm.json#249 ENERGY-1, ENERGY-2: realstore_0per-energy positions for B-station sample-slit vertical pair (b_slit_top=2bma:m9,b_slit_bot=2bma:m10); Mono 6 energies + Pink 4 energies (parked wide open); source:energy2bm.json#250 ENERGY-2, ENERGY-3: saved per-energy table (energy2bm.jsonstore_0), with linear interpolation between bracketing calibrated energies for off-table requests; no Bragg-angle computation anywhere in the IOC #252 ENERGY-3), sourced fromenergy2bm.jsonstore_0indecarlof/energy. The largest payload: ~144 numeric literals intest_2bm_energy_curves_setup.pyalone, across the DMM Bragg arms,m2_offset_y, and the B-station slit pair, for 6 Mono and 4 Pink energies.store_0is edited in place byenergy addevery time someone recalibrates (per ENERGY-7: channel-cut crystal calibration IS current practice; #256's correction), so this is the payload most likely to have moved.m3+ table-X positions confirmed + completed (all 4 energies); stripe-to-position map below; this is the "data half" of MIRROR-1 / cora#259 #262 MODE-3). Note MODE-3: Pink-mode per-energym3+ table-X positions confirmed + completed (all 4 energies); stripe-to-position map below; this is the "data half" of MIRROR-1 / cora#259 #262 is still open.active_stripe: 24.0inference in the descriptor.41050401-410003(shutter element) and41050401-500000(overall P6-50 assembly); source: APS_2191941 row 10 #247, ALIGN-2: confirmed as the **M3-24 front-end exit mask** (RSS tag02-BM-A-F-01, drawing4102020101-240000, OFHC copper, water-cooled, fixed); #264), diagnostic flag geometry (FLAG-1:DiagnosticFlag(2bma:m44) sits in 2-BM-A at z = 32500 mm; full per-energy Y lookup (mono) + Pink parked Y = 0 mm; source of truth isenergy2bm.jsonkeyenergy_move_flag#251).OpticsFineDrive); NV200D holds the coded aperture at z=51,300 mm in 2-BM-B and should be renamedCodedApertureFineDrive#241-PIEZO-4: NV200D IPs confirmed — X axis =10.54.113.126, Y axis =10.54.113.125; architecture is TWO separate NV200D units (one per axis), not one dual-channel controller #244): NV200D/NV100D roles, actuator part, controller IPs.2bma:m17) IS fully in service — cora's "bound in software but not in service" assumption was wrong; m18 currently failed (FOIL-1 / cora#238), m17 is the operational filter selector at 2-BM today. #240), where FOIL-1: downstream paddle bindings confirmed but m18 motor is currently failed, parked at 107.19 mm; upstream paddle (m17) IS operational, filter selection still available #238 recordedm18as failed and parked. Worth knowing whether it was repaired.#2xxcitation; the folded values without one are the harder half and need finding rather than grepping.Method
For each value, read the current source and compare. Where it still matches, record the source version alongside it per the citing convention, so the next pass is a diff rather than a re-read. Where it does not, fold the correction and say what changed.
Most of this needs no operator time:
energy2bm.json, docs2bm, and the vendor datasheets are all readable directly. Reserve staff questions for what the sources cannot settle, per the questions-page charter.Depends on
#624 (CAM-1). If
2bmSP1:is retired rather than merely outsidearcturus's address list, the camera identity and sensor facts from the same era (#142, DET-8) describe hardware that is not installed, and the sweep should cover them too.Not in scope
Re-asking staff to confirm what they already confirmed. The batch was accurate when it was given; this is about whether CORA's copy has drifted from a source that moved, which is CORA's problem to check and not theirs to answer again.