Model¶
The developer's by-kind index: where each CORA aggregate's 2-ID content lives, a scanning-fluorescence microprobe whose EAA autofocus loop dissolves into a CORA-conducted Run with an agent in the loop, and the record of what is deliberately deferred. Design-phase scaffold.
For the aggregate shapes see the architecture model and the per-BC modules.
| Aggregate (BC) | Where at 2-ID |
|---|---|
| Asset (Equipment) | the stage pages: Source, Sample, Detector |
| Capability, Method (Recipe) | Techniques |
| Enclosure (Enclosure) | the index |
| Zone, Conduit, Policy (Trust); Actor (Access) | Governance |
| Procedure, Recipe, Caution, Supply, Subject, Run, Campaign, Dataset, Decision | deferred (design-phase; see below) |
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.