Skip to content

feat(amx): scaffold NSLS-II AMX deployment (17-ID-1 highly automated macromolecular crystallography), reverse-engineered#391

Merged
xmap merged 1 commit into
mainfrom
worktree-amx-deployment
Jun 26, 2026
Merged

feat(amx): scaffold NSLS-II AMX deployment (17-ID-1 highly automated macromolecular crystallography), reverse-engineered#391
xmap merged 1 commit into
mainfrom
worktree-amx-deployment

Conversation

@xmap

@xmap xmap commented Jun 26, 2026

Copy link
Copy Markdown
Owner

What

Scaffolds AMX (NSLS-II 17-ID-1, Highly Automated Macromolecular Crystallography), FMX's sibling on the shared 17-ID straight (same IVU21 undulator). Building it completes the NSLS-II MX pair; CORA's third MX deployment after Diamond i03 and NSLS-II FMX. Reverse-engineered from the public NSLS2/amx-profile-collection (LSDC/mxtools). Descriptor + docs scaffold, scenarios deferred. Deployment id amx.

Pure reuse, no graduation

AMX coins no Family and graduates nothing — it reuses the i03/FMX MX vocabulary wholesale: graduated Goniometer (single-omega micro-goniometer), Camera (Eiger), Monochromator (a vertical DCM), Mirror (tandem-deflection + KB), Filter (BCU attenuator), BeamStop, EnergyDispersiveSpectrometer (Mercury), FluxMonitor (Keithley), TimingController (Zebra), loose BeamPositionMonitor. The EMBL robot is one Positioner-presenting Asset, not a new SampleChanger Family (i03/19-BM/FMX precedent, ROBOT-1).

FMX-vs-AMX differences (per-Asset, not Family splits): vertical vs horizontal DCM, tandem-deflection vs horizontal focusing mirror, no CRL transfocator, no on-axis backlight; the Eiger PV is not exposed in the AMX profile (Camera confirm-only).

The three MX Methods (mx_data_collection, grid_scan, sample_exchange) stay pending — AMX is their 3rd consumer (i03+FMX+AMX). Methods coin on a conduct-path (a deployment that runs them), not a sighting count, so n=3 strengthens the case but doesn't coin them (the energy_scan discipline). The genuine MX-graduation path is an MX conduct-path scenario, flagged as a follow-on. No catalog.yaml change.

Verification

🤖 Generated with Claude Code

@xmap xmap enabled auto-merge (squash) June 26, 2026 09:24
@github-actions

Copy link
Copy Markdown

Coverage report

This PR does not seem to contain any modification to coverable code.

…macromolecular crystallography), reverse-engineered

AMX (NSLS-II 17-ID-1) reverse-engineered from the public NSLS2/amx-profile-collection
(LSDC/mxtools). FMX's high-throughput sibling: they share the 17-ID straight and the
IVU21 undulator, and AMX completes the NSLS-II MX pair. CORA's third MX deployment after
Diamond i03 and NSLS-II FMX: rotation data collection on a single-omega goniometer +
Eiger, fast grid scans, and an autonomous EMBL-robot sample-exchange loop. Descriptor +
docs scaffold, scenarios deferred. Every PV read from the startup/*.py device classes;
goniometer/robot/detector identities and the crystal cut carried as confirm questions.

Pure-reuse deployment: coins no Family and graduates nothing. Reuses the i03/FMX MX
vocabulary: the graduated Goniometer (single-omega micro-goniometer), Camera (Eiger),
Monochromator (here a vertical DCM), Mirror (tandem-deflection + KB), Filter (BCU
attenuator), BeamStop, EnergyDispersiveSpectrometer (Mercury), FluxMonitor (Keithley),
TimingController (Zebra), and the loose BeamPositionMonitor (DIAG-1). The EMBL robot is
one Positioner-presenting Asset, NOT a new SampleChanger Family (the i03/19-BM/FMX
precedent, ROBOT-1). FMX-vs-AMX differences (per-Asset, not Family splits): vertical vs
horizontal DCM, tandem-deflection vs horizontal focusing mirror, no CRL transfocator, no
on-axis backlight; the Eiger PV is not exposed in the AMX profile (Camera confirm-only).

The three MX Methods (mx_data_collection, grid_scan, sample_exchange) stay PENDING: AMX is
their THIRD consumer (i03 + FMX + AMX). Methods coin on a conduct-path (a deployment that
runs them), not a sighting count, so n=3 strengthens the case but does not coin them (the
energy_scan deferral discipline; TECH-1). The genuine MX-graduation path is an MX
conduct-path scenario, flagged as a follow-on.

Added AMX to the NSLS-II site beamlines + three pending MX Practices, updated the MX method
reasons (3 consumers), the nav, and the deployments index. 361 deployment guard tests pass;
strict docs build clean; no catalog change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@xmap xmap force-pushed the worktree-amx-deployment branch from 322f25a to 429e8c7 Compare June 26, 2026 09:31
@xmap xmap merged commit 8b44567 into main Jun 26, 2026
16 checks passed
@xmap xmap deleted the worktree-amx-deployment branch June 26, 2026 09:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant