Model¶
The developer's index into where 2-ID content lives, how EAA fits the seam, and the record of what is deliberately deferred. Design-phase.
2-ID is a documentation-and-descriptor scaffold today: it exists as the descriptor and docs below, not yet as registered events or integration scenarios. This page points to where each piece lives, characterizes the seam with the EAA tooling the scaffold is mined from, and records the scope decisions that are CORA's to make (kept off the staff Open questions, which carry only world-facts).
| Kind | Where | Notes |
|---|---|---|
| Beamline descriptor | deployments/2-id/beamline.yaml |
the device walk; source of the generated Source page |
| Site descriptor | deployments/aps/site.yaml |
the APS facility surface, shared with 2-BM; 2-ID added to its beamline list, with a pending scanning-fluorescence Practice and a pending beamline scientist |
| Catalog Family | catalog/catalog.yaml |
reuses ZonePlate (graduated with 32-ID + FXI) and EnergyDispersiveSpectrometer (graduated once 2-ID and 7-BM shared it); this deployment coins no new Family of its own |
| Catalog Method | catalog/catalog.yaml |
none added; scanning_fluorescence_microscopy is named but not coined (see below) |
| Equipment Assets | not yet registered | the Inventory is the planned shape; no scenario registers 2-ID Assets yet |
| Trust / governance | not yet instantiated | see Governance |
How EAA fits¶
This scaffold is mined from the Experiment Automation Agents (EAA) APS-microprobe integration (packages/eaa-imaging/.../tool/imaging/aps_mic) and its 2-ID-D launcher. EAA is read as data about the beamline, not copied as a design. CORA does not add a "confirm the EAA tool" row anywhere; it dissolves EAA into three things it already models:
- Conductor replaces the orchestration. EAA's
scan_controlruns the autofocus loop (acquire a 2D map, take a line scan, register it, step thezp_zfocus axis, minimise the spot width) and submits thefly2d/step1drasters over the EPICS scanRecord. That set-then-measure-until-criterion sequencing is what CORA's Conductor takes over: CORA owns the Run lifecycle (start, hold, abort, close), the durable scan state, and the stopping governance. EAA fuses policy and sequencing in one loop; CORA draws the seam through the middle. - EPICS stays floor. The EPICS scanRecord and sscan IOC, the motor PVs, the hardware-triggered raster, and the downstream
XRF-Mapsfitting are the floor and the compute edge. CORA observes and conducts over them; it never replaces them. - EAA registers as an Agent. EAA's tactical decide loops (the LLM agent loop and the deterministic Bayesian-optimization parameter tuner) register as an external Agent. Each proposed move and objective value becomes a Decision, with the LLM route recorded through the inference-recorder provenance path. EAA's own per-tool default-deny gate (operator confirmation required, motion and beam disabled by default) is exactly the interpose point CORA's permit and clearance adjudication occupies.
The net is regime-2 for CORA's runtime model: a CORA-conducted, multi-step compute-and-move Run, with an external agent proposing inside the loop. That is the shape the edge-runtime work anticipates, surfacing here as a concrete first consumer rather than a hypothetical.
Deliberately not here yet¶
These are the parts of 2-ID this scaffold leaves out on purpose. Each is a CORA scope or naming decision, not a fact the beamline team needs to supply, so it lives here rather than on Open questions.
-
The sister experiment hutch and the hutch roster. The descriptor models one root Unit Asset
2-IDwith one experiment hutch (2-ID-D). Whether the sector adds a sister station (a 2-ID-E-class hutch) as a second hutch sub-tree, and where the shared optics sit, is held untilTOPO-1resolves the roster. The root identity andfacility_codebinding do not migrate when it does: adding a hutch adds Component sub-trees, it does not re-home the root. This mirrors the 32-ID scaffold modelling only 32-ID-C and deferring 32-ID-B. -
Coining the scanning-fluorescence Method.
scanning_fluorescence_microscopyis a new modality (point-raster XRF, mechanistically unlike full-field projection). A design-phase scaffold coins no Method, so it is named and rendered unlinked, carried as a pending Practice (METHOD-1). It is earned into the catalog when a confirmed scenario uses it and a naming review accepts the name. -
Scanning fluorescence tomography as a Plan, not a Method. A rotation over a sequence of XRF maps is a Plan setpoint over the scanning-XRF Method, the same way laminography is a tomography Plan at a tilt setpoint at 2-BM. It is not a separate Method, and it waits on a confirmed rotation axis (
ENV-1). -
Micro-XANES and ptychography. Named by world-facts but absent from EAA's
aps_miccode path; ptychography also needs a coherent-diffraction detector this scaffold does not model. Modelling either now would be invention. -
Integration scenarios and vendor Models. No
test_2id_*.pyregisters 2-ID Assets, and no vendor Models are bound. Scenario code is where Assets become real, and hard-registering a simulation-mined, pre-confirmation beamline would commit speculative structure. Both land when the design firms and the team approves. -
Operations and experiment views. A runbook and live experiment view for a beamline CORA does not yet drive would be invention; see the note on the index.
The 2-BM Model page shows the by-kind index a fully-modelled deployment carries.