Warning, /swf-testbed/docs/e0-e1-interface.md is written in an unsupported language. File is not indexed.
0001 # The ePIC E0-E1 Interface
0002
0003 The E0-E1 interface is the boundary between Echelon 0 — the ePIC detector
0004 and its data acquisition system (DAQ), the domain of the experimental
0005 facility — and Echelon 1, the host-laboratory computing domain at BNL and
0006 JLab. It is where streaming data, datataking state, and operational
0007 control pass between the detector world and the computing world, and where
0008 workflow management system (WFMS) responsibility begins.
0009
0010 This document states the interface as understood in mid 2026: the agreed
0011 architecture, the definitions and mechanisms in hand, the working
0012 realization in the streaming workflow testbed, and the open questions and
0013 development path. It is prepared as input to the formalization of the
0014 interface in the ePIC Streaming Computing Model report (target September
0015 2026, set at the July 2026 collaboration meeting) and to the October 2026
0016 ePIC Software and Computing review. The previous review identified the
0017 E0-E1 interface as a key risk: a streaming experiment depends critically
0018 on this interface, and streaming experiments are recent enough in nuclear
0019 and particle physics that the territory is not well trodden.
0020
0021 The questions presented at the July 2026 joint Streaming DAQ and
0022 Computing workfest are the working agenda for the formalization:
0023
0024 - Raw-data and super time frame definitions and timeline
0025 - Evolution of the state model and transition rules
0026 - Latency requirements
0027 - Calibration and conditions databases
0028 - Information and control interfaces between E0 and E1
0029 - AI readiness and AI-enabled control
0030
0031 These questions map closely onto the elements catalogued in the January
0032 2026 interface notes, which remain the reference inventory. The sections
0033 below cover the architecture and the Echelon 0 context first, then the
0034 question areas in turn.
0035
0036 ## Architecture
0037
0038 The DAQ is one system spanning two facilities: the DAQ room at IP6 and
0039 the DAQ enclave in the BNL data center, connected at 4 Tbps. Time frames
0040 are built into super time frames in the enclave, and the files land in
0041 the DAQ exit buffer, sized for about 72 hours of datataking. The buffer
0042 extends onto an external subnet for Echelon 1 delivery; this outward face
0043 is the piece of Echelon 0 that the post-DAQ world sees, and the defined
0044 point where Echelon 1 picks up the datataking stream, as STF files.
0045
0046 Echelon 1 comprises the two host laboratories, each providing buffer,
0047 archive, prompt processing, and fast monitoring, with jointly hosted
0048 services — Rucio data management, PanDA workload management, AI services,
0049 databases — spanning them. Raw data reaches both E1 sites (the butterfly
0050 model), with JLab fed over ESnet at 400 Gbps. The WFMS requirements
0051 state that the two E1s operate as one integrated distributed system with
0052 failover: if one E1 goes down, the other takes over. Two dataflows and
0053 the control messaging cross the boundary; they are described in the
0054 sections below.
0055
0056 The architecture in one view (the ePIC computing model diagram, July
0057 2026):
0058
0059 [](https://raw.githubusercontent.com/eic/epic-wfms-docs/main/docs/diagrams/epic_computing_model.svg)
0060
0061 Data scale: roughly 2 Tb/s digitized at the detector against an output
0062 requirement of about 100 Gb/s recorded, with a maximum deep inelastic
0063 scattering rate of ~500 kHz against the 98.5 MHz bunch-crossing clock.
0064 Noise and backgrounds can dominate: synchrotron radiation in the silicon
0065 vertex tracker alone can approach 450 Gb/s into DAQ computing at the
0066 highest-luminosity 18 GeV running, and dRICH dark-current rates after
0067 radiation damage require a high-level filter. The DAQ group is
0068 correspondingly open to Echelon 0 or early Echelon 1 data reduction,
0069 including a software trigger — which makes the location where raw data is
0070 finalized itself a boundary question.
0071
0072 ## Echelon 0
0073
0074 The E0 side of the interface, from the DAQ overview at the July 2026
0075 workfest:
0076
0077 - **Scale.** About 30 detectors read out through ~2500 readout boards
0078 (RDOs), ~120 data aggregation boards (DAMs), and a global timing unit
0079 (GTU). Echelon 0 computing is O(100) readout computers in the DAQ room
0080 plus O(100) computers at the SDCC data center for time frame building,
0081 high-level filters, archiving, monitoring, logging, and QA.
0082 - **Run-control model.** The state model incorporates continuously
0083 running components (scalers are the example); a "run" structure
0084 configures and selects the enabled detectors; slow-controls status is
0085 part of the state model. This is the E0-side model that the E0-E1
0086 state machine (below) converges with.
0087 - **Data banks.** Raw banks produced by the readout are formatted but
0088 never modified; processing — data reduction or enrichment — produces
0089 new banks; a fraction of raw banks is always retained. This is the
0090 provenance substrate at the data level.
0091 - **Timing.** ASICs report hit times against a synchronization signal;
0092 the DAQ-provided time function is measured in EIC bunch crossings
0093 relative to the time frame start, with per-detector functions mapping
0094 channel, clock cycle, and fine counter to a time value. Bunch-dependent
0095 polarization requires event data and luminosity monitoring resolved to
0096 the bunch crossing, for each of the 1260 bunches.
0097 - **Timeline.** Electronics and DAQ are working toward a final design
0098 review in early 2027. DAQ releases: PicoDAQ (FY26Q2, basic readout test
0099 setups), MicroDAQ (FY27Q1, engineering-article test stands, including
0100 Echelon 0 computing installed at SCDF), MiniDAQ (FY28Q1, full hardware
0101 and timing chain), Full DAQ-v1 (FY29Q2, ready for system integration),
0102 Production DAQ (FY31Q3, cosmics), against detector installation
0103 FY29Q2-FY31Q2. Neither PicoDAQ nor MicroDAQ has a direct interface
0104 between detector components and Echelon 1, but this does not prevent
0105 DAQ participation in interface test stands — for example implementing
0106 the DAQ side of transfer interfaces for the orchestration testbed.
0107
0108 Two E0 commitments bear directly on interface development. A DAQ
0109 proto-enclave at SDCC around the end of calendar 2026 — a few computers
0110 that can exercise the interface against testbeds of interest — and the
0111 prospect of making the E0-E1 interface part of DAQ proper, with run
0112 control and file sending, eventually replacing the testbed's DAQ
0113 simulator with a DAQ-owned simulator. That transfer would make the
0114 interface bilateral: each side owning and expressing its own half.
0115
0116 ## Data across the interface
0117
0118 **Definitions.** A time frame (TF) is the multiplexed data of the entire
0119 detector for 2^16 bunch crossings, approximately 0.665 ms, deliberately
0120 not synchronized to bunch 0 so that edge effects are decorrelated from
0121 spin states. All detectors are built into each TF. A super time frame
0122 (STF) is an ordered, contiguous set of O(1000) TFs — roughly 0.6 s of
0123 detector data, of order 2 GB — and is the unit of registration, transfer,
0124 bookkeeping, and bulk processing. TFs are not transmitted in isolation;
0125 the STF is what crosses the interface as a file.
0126
0127 A terminology hazard, flagged on the DAQ side: "time frame" is informally
0128 overloaded. MAPS integration periods (2-8 µs), the organizing unit of
0129 much simulation work, and ASIC synchronization periods are both also
0130 called time frames. The interface definition pins the term to the DAQ TF
0131 above; the other senses should be named distinctly in interface
0132 documents.
0133
0134 **Independent DAQ systems.** Polarimetry and luminosity detectors run as
0135 independent DAQ systems with their own STF streams (n×1260 values,
0136 presented infrequently and each second respectively) alongside the ePIC
0137 detector stream. Special-case streams copy into the main stream while
0138 retaining independent uses.
0139
0140 **Two dataflows leave the exit buffer.** The STF stream is the complete
0141 raw data: files registered in Rucio at the exit buffer and delivered to
0142 the E1 buffers at both sites; reliable, with latency of minutes. The TF
0143 stream is a fast subsample at finer granularity, delivered by messaging
0144 or direct XRootD reads against the exit buffer within seconds; it feeds
0145 fast monitoring and fast processing, and does not implement retention.
0146 The two flows serve different consumers and carry different completeness
0147 semantics; keeping those semantics distinct — what a consumer may infer
0148 from a fast-path sample versus a verified complete STF — is a
0149 formalization requirement.
0150
0151 A TF stream direct from DAQ to downstream consumers such as fast
0152 calibration is under discussion.
0153
0154 The WFMS requirements state further obligations at the boundary.
0155 Archiving and processing are triggered independently and simultaneously
0156 as data is ingested, with no possibility of processing blocking
0157 archiving. The complete copies arriving and archived at the two E1
0158 centers are promptly validated, with a continuously communicated running
0159 checksum maintained between them, and the stream is continuously sampled
0160 and validated against independent DAQ and conditions metadata as an
0161 early alarm for corruption and stream faults.
0162
0163 The TF/STF picture in one view (figure maintained in the WFMS
0164 documentation):
0165
0166 [](https://raw.githubusercontent.com/eic/epic-wfms-docs/main/docs/diagrams/tf_stf_explainer.svg)
0167
0168 **Proto-STF exercise.** The testbed has processed official ePIC DIS
0169 10×100 timeframe simulation files through a real EICrecon payload
0170 (200 MB and 40 events per file without zero suppression, ~5 s/event) —
0171 prototyping the STF format question with real data. The format itself —
0172 zero suppression, file sizing toward the nominal 2 GB — remains open.
0173
0174 ## State across the interface
0175
0176 The datataking state model is a set of states and substates describing
0177 collider, detector, DAQ and calibration state, maintained in a database
0178 that is definitive in E0 and mirrored in real time in E1, and carried as
0179 operational metadata on the data and messages crossing the interface,
0180 in STF filenames/files and in the message metadata of every STF notification.
0181 Downstream consumers can read state from the datataking context of the data
0182 they are handling. They can read current system state from distributed services
0183 such as MCP (Model Context Protocol). Integration with the
0184 detector/data state machine is a
0185 stated WFMS requirement, as is always-on streaming: accelerator and
0186 detector information flows outside the running state, with processing
0187 suspending and resuming on state and stream activity, the behavior the
0188 data-flavor substates and steady state components carry.
0189
0190 The first version of the model runs in the streaming workflow testbed,
0191 which drives all activity via the state machine. The definition is maintained
0192 independently of the implementation in the
0193 [E0-E1 state machine document](e0-e1-state-machine.md), which also
0194 carries the proposed evolution: generalizing the (state, substate) pair
0195 to a global state incorporating the E0 run-control elements — detector
0196 participation and slow-controls status, with the DAQ model's continuously
0197 running components as steady state components — and treating state
0198 changes as events appended to a queryable state history. The global
0199 state across a datataking arc:
0200
0201 [](images/e0-e1-global-state-v1.svg)
0202
0203 A multi-model AI research report (referenced below) carried the
0204 evolution further with a proposed factorized structure, judged of high
0205 enough quality to include here for consideration: the production state
0206 as a product of
0207 independently owned facets, with a single authority for each facet, an
0208 append-only transition history, and derived operational views (such as
0209 a physics-good flag) that are readable but not writable. The proposed
0210 facet set:
0211
0212 | Facet | Example states | Authority |
0213 |---|---|---|
0214 | Machine/beam | absent, injection, tuning, stable, lost | Machine interface represented through E0 |
0215 | Run control | idle, configuring, ready, starting, running, paused, stopping, closed, aborted | E0 run control |
0216 | Acquisition mode | physics, dedicated calibration, embedded calibration, test | E0 run configuration |
0217 | Detector partition | ready, acquiring, degraded, masked, fault | E0 detector control |
0218 | STF lifecycle | forming through expired | E0, Rucio, and each E1 for their stages |
0219 | E1 transfer | unknown, requested, transferring, verified, failed | Named E1/Rucio components |
0220 | E1 processing | queued, running, completed, failed, cancelled | Named E1 workflow system |
0221 | Conditions candidate | proposed, validating, approved, published, active, superseded, rejected | Conditions and calibration authorities |
0222
0223 In this model, only the owner changes a facet; consumers maintain
0224 projections updated by monotonically increasing revisions, with a
0225 mismatch triggering reconciliation rather than silent application. Each
0226 transition record carries its owner, subject, previous and new revision,
0227 transition type and reason, event and receipt times, configuration and
0228 schema versions, correlation and causation identifiers, actor identity,
0229 and a quality or confidence measure where the input is observational.
0230
0231 The single-hierarchy model in operation today cannot express common
0232 combinations — beam present with the DAQ paused, a physics run with one
0233 detector partition degraded, embedded calibration during normal
0234 acquisition — which the facet product represents naturally. The
0235 global-state proposal above is a step in this direction: detector
0236 participation and slow-controls status are early facets, and the
0237 steady state components are facets that persist across the run
0238 lifecycle.
0239
0240 Open items: the complete transition table with triggering conditions,
0241 event-driven transitions (a good-for-physics declaration, a fault
0242 dropping the detector out of physics), the interaction of state with the
0243 run boundary (a new run when the detector is in a new conditions state),
0244 the evaluation of the proposed facet model for the state
0245 machine definition, and the reconciliation with the DAQ run-control
0246 model in one document, which this document set begins.
0247
0248 ## Latency
0249
0250 Three latency regimes are identified, each with its consumers and its
0251 serving mechanism in the two-dataflow structure above:
0252
0253 1. **Bulk prompt processing**: minutes (Rucio delivery time) to
0254 availability of complete STF files at the E1s, with prompt results
0255 over minutes to hours depending on processing load.
0256 Served by the STF stream.
0257 2. **Fast path**: 10-30 s from datataking to availability of STF-scale
0258 statistics for fresh data, delivered to the control room and AI via
0259 streaming processing at the E1s; the WFMS documentation states O(10 s)
0260 for first results. Served by the TF-sample stream.
0261 3. **Very low latency**: around one second and below — DAQ-internal,
0262 below the interface.
0263
0264 Behind these sits the streaming readout goal of reconstructed, calibrated
0265 data to the collaboration within about three weeks of datataking, with
0266 reconstruction turnaround driven by calibration turnaround. The
0267 calibration program adds its own latency classes — seconds (prompt
0268 feedback), minutes (run-by-run updates), hours (delayed or quasi-online)
0269 — to be mapped onto the two dataflows and the state model's calibration
0270 modes. The September 2026 formalization should state latencies with well
0271 defined endpoints: from what event (e.g. data egress from DAQ) to what
0272 event (a high stats plot displayed in the control room).
0273
0274 ## Calibration and conditions databases
0275
0276 The July 2026 calibration sessions produced a well structured
0277 requirements statement, with interface specifications as requirement
0278 number one, scoped explicitly as E0-E1 / E1-E2: what data is produced
0279 and consumed; calibration object format, metadata, versioning, validity
0280 intervals. Infrastructure requirements follow — conditions database,
0281 orchestration layer, possibly dedicated compute queues, monitoring and
0282 control interfaces — then workflow placement (at which DAQ stage each
0283 calibration runs; synchronous versus asynchronous), resource profiles,
0284 and an autonomous calibration framework.
0285
0286 The calibration task taxonomy: standalone (between fills, laser, pulser),
0287 physics-driven (track, vertex, and PID dependent), and iterative
0288 (requiring previous constants or reconstruction-calibration loops), with
0289 a dependency matrix and explicit identification of circular dependencies.
0290 Tracking is the prerequisite for many calibrations.
0291
0292 The conditions database splits by side: E0 needs conditions gathering,
0293 selective population, fast loading, and APIs to E0-only databases (raw
0294 conditions, slow controls); E1 needs a robust distributed read API for
0295 many clients and distributed writing for few. Its content spans
0296 calibration measurements, distilled slow-controls parameters, and
0297 alignment measurements. Whether this means one conditions database or
0298 two remains open, as does whether the conditions database is the
0299 mechanism for flowing downstream-refined calibrations back to E0. ePIC
0300 has not yet taken up the conditions database in software and computing;
0301 the intent is established, and the step awaits a use case that calls
0302 for it. A candidate is identified: nopayloaddb, the HSF reference
0303 conditions database implementation developed at BNL, which received a
0304 preliminary and favorable ePIC evaluation in 2024. The E0-versus-E1
0305 placement of calibrations was judged in January to be sociological more
0306 than technical — with a good feedback loop there is no effective
0307 difference — with the firm constraint that detector experts require
0308 control wherever their calibration runs.
0309
0310 Concrete demonstrators are chosen. EEEMCal is the first testbed target:
0311 calibration workflow prototypes starting from a file-based Snakemake
0312 payload with a proto-interface to a calibration database, extending to
0313 fast processing. SVT alignment provides the second: ER2 MOSAIX sensors
0314 in a beam test at KEK PF-AR with NestDAQ, conversion to JANA2 over
0315 ZeroMQ, and alignment algorithms adapted from existing tools — an
0316 end-to-end streaming calibration workflow on real detector data.
0317
0318 SPINDLE (Streaming Physics INtelligence and Data Lifecycle Engine) is
0319 the JLab program: an HPDF nuclear physics use case built on online
0320 calibrations, with a five-stage lifecycle (monitoring, change detection,
0321 reconstruction and calibration, validation and change-driver analysis,
0322 calibration and conditions data with visualization) on autonomous
0323 ERSAP+JANA2 workflows.
0324 SPINDLE identifies streaming orchestration (workflow and workload management
0325 for streaming data) as the technology gap facing streaming readout
0326 experiments and HPDF alike; this is the capability the testbed program
0327 is building, and SPINDLE positions itself as complementary, with its
0328 data-lifecycle focus.
0329
0330 ## Information and control interfaces
0331
0332 **E0 to E1 is operational today**, in the testbed realization: the run
0333 lifecycle (run imminent, start, pause and resume, end) is broadcast from
0334 the DAQ simulator and drives downstream orchestration — dataset creation,
0335 data transfers, processing task establishment, worker provisioning, run closeout.
0336 STF availability notifications drive data handling.
0337
0338 **E1 to E0 is the open direction.** The use case is established —
0339 adjusting detector thresholds or configuration on the basis of an E1
0340 result, with AI control of hardware operational precedent at JLab — but
0341 no E1-to-E0 control flow has been prototyped in ePIC. The
0342 January notes call for defining the generic communications mechanism
0343 (message queue, messages pointing to payloads, communicating servers on
0344 each side) rather than per-calibration specifics. Beyond the
0345 communication and information exchange mechanisms already in hand and
0346 exercised in the testbed, E1-to-E0 control is primarily a cybersecurity
0347 matter: too early to take up, and belonging more to the host facilities
0348 than to ePIC software and computing. It is likely to be addressed in a
0349 preliminary way when the DAQ sets up its first proto-enclave around the
0350 end of 2026.
0351
0352 The July 2026 AI research on the interface presents a proposal
0353 worth considering, organizing the
0354 formalization into five planes, a candidate outline for the September
0355 work:
0356
0357 1. **Data plane** — immutable STFs for complete raw data, plus
0358 explicitly sampled TF slices for low-latency processing.
0359 2. **Event plane** — versioned lifecycle and availability events with
0360 stable identities, sequence numbers, timestamps, schema identifiers,
0361 and checksums.
0362 3. **State plane** — an authoritative, factorized state model with a
0363 single owner for each state facet and append-only transition history.
0364 4. **Intent and control plane** — recommendations and command intents
0365 from E1 to an E0-local gateway, with policy evaluation, approval,
0366 precondition checking, execution, and readback as separate stages.
0367 5. **Provenance plane** — every consequential result carries a trace
0368 from observation through recommendation, approval, policy decision,
0369 action, and measured outcome.
0370
0371 Of these, the data and state planes have concrete artifacts (above), and
0372 the event plane is the next definition target: the run lifecycle and
0373 availability messages exist in the testbed vocabulary, and the interface
0374 needs their contract — which changes are durable events, which authority
0375 emits each, and what consumers may assume about identity, ordering,
0376 completeness, and delivery. The intent/control and provenance planes
0377 frame the E1-to-E0 direction: control crosses as attributable intents
0378 subject to E0-local policy and enforcement, not as direct writes.
0379
0380 The event plane has had some discussion in the streaming computing model WG,
0381 in the context of developing the WFMS requirements document, but it needs
0382 dedicated discussion and a plan established, as it is an important
0383 part of the interface. The WFMS requirements carry the elements stated
0384 so far: workflows driven in real time by data-availability events, TF
0385 and bunch-crossing identifiers monotonically increasing and unique for
0386 the lifetime of the EIC, cataloged TF-to-bunch-crossing ranges so access
0387 at either granularity resolves to its containing TF, immutability of
0388 written TFs, and run-period records that may overlap, so a TF is not
0389 uniquely owned by one run period.
0390
0391 ## AI readiness and AI-enabled control
0392
0393 The July 2026 session recorded a consensus: no fundamental
0394 objection to MCP as the common basis for AI integration of services
0395 across the spectrum. The DAQ side has independently
0396 written down the same architecture in its AI requirements: AI is not a
0397 project requirement for the DAQ but a potentially very useful tool for
0398 attaining the project requirements, with the concrete AI-readiness list
0399 being specific ML algorithms for specific features (dRICH dark-current
0400 reduction in firmware), MCP servers making DAQ data accessible to large
0401 language models (slow controls readout, EIC controls readout, DAQ
0402 monitoring and logging, run log database), and MCP servers providing
0403 APIs through which LLMs could potentially control DAQ run-control
0404 features — citing the orchestration testbed as the model to follow.
0405
0406 On the E1 side this is deployed: the testbed operates a comprehensive
0407 MCP service over the full system state — runs, STFs, agents, workflows,
0408 logs, PanDA, Rucio — used for both information and control, with agents
0409 controllable equivalently from the CLI and from AI assistants. The
0410 MCP-based AI backplane spanning machine, DAQ, Echelon 1 and global
0411 computing (figure maintained with the MCP service documentation in
0412 swf-monitor):
0413
0414 [](https://raw.githubusercontent.com/BNLNPPS/swf-monitor/main/docs/mcp-ai-backplane-v1.svg)
0415
0416 The proposed AI contract of the interface classifies every AI
0417 interaction with the boundary as observation (reading through MCP),
0418 recommendation (a proposal record), approval (a human or policy gate),
0419 or action (logged, provenance-stamped execution). The vocabulary has
0420 operational precedent: the production side of the WFMS platform runs it
0421 today — an action stream recording who did what to what
0422 with outcome and provenance, AI proposals with human approval and
0423 deterministic execution, and button-gated credentialed operations. The
0424 research direction sharpens the boundary-grade version: MCP serves as a
0425 typed access layer over authoritative systems, tool exposure does not
0426 transfer authority, and authorization and safety enforcement remain with
0427 the local (E0) control system. Consequential detector action stays
0428 subject to local deterministic enforcement regardless of what proposes
0429 it.
0430
0431 ## The testbed realization
0432
0433 The streaming workflow testbed is the working expression of the
0434 interface: a simulated DAQ expresses the E0 side (run lifecycle, STF
0435 stream, state metadata), and the data, processing, and fast-monitoring
0436 agents express the E1 side, on real services — PanDA, Rucio, ActiveMQ,
0437 the monitor. Both baseline workflows run routinely, including in continuous
0438 integration:
0439
0440 - **Prompt STF processing**: run-imminent creates the Rucio run dataset;
0441 arriving STFs are registered and attached; a PanDA task per E1
0442 consumes its site's subset dataset as it fills. A decision box will
0443 encode ePIC and facility policy as Rucio dataset membership — the
0444 data agent at the exit buffer can examine each STF on arrival and
0445 attach it to BNL, JLab, both, or neither — so prompt processing is
0446 per-Echelon-1 by construction, and policy is informed by data, not only
0447 metadata-driven.
0448 - **Fast TF processing**: TF samples skimmed from STFs, divided into
0449 slices, distributed to a standing pool of persistent PanDA workers pre-provisioned
0450 at run start through iDDS and Harvester, running EICrecon as a persistent process
0451 fed over ZeroMQ with streaming input over XRootD.
0452
0453 State rides every STF message and filename, so downstream consumers and
0454 AI tools always know the datataking context of the data in hand.
0455 Containerized deployment (docker-compose of the testbed, PanDA in a box)
0456 makes the testbed reproducible beyond its home installation — directly
0457 relevant to exercising the interface against the DAQ proto-enclave.
0458
0459 ## Development targets
0460
0461 A time order is not implied.
0462
0463 - **September 2026** — formalize the interface in the current V3 draft
0464 Streaming Computing Model report; this document is one input to its writing.
0465 - **State machine convergence** — complete the transition table, add
0466 event-driven transitions, weigh the proposed factorized facet model,
0467 and reconcile the testbed model with the DAQ run-control model in the
0468 definition; realize the state database and its E1 mirror with
0469 a read API.
0470 - **Event plane definition** — specify the event contract for the run
0471 lifecycle and data availability vocabulary the testbed already
0472 operates.
0473 - **Calibration** — EEEMCal calibration prototype with a
0474 proto-interface to a calibration database; SVT alignment demonstrator;
0475 the nopayloaddb conversation; definition (and naming) of the generic
0476 intra-run communications mechanism.
0477 - **E0 E1 integrated testing** — exercise the interface against the DAQ
0478 proto-enclave at SDCC; prepare the testbed to swap its DAQ simulator
0479 for a DAQ-owned simulator.
0480 - **Documentation** — the WFMS documentation covers the datataking state
0481 machine, the status of the conditions database and of E1-to-E0
0482 control; the AI contract of the boundary remains to be documented.
0483
0484 ## Producing this document
0485
0486 An AI (Anthropic Claude Fable 5, xhigh reasoning setting) was tasked with
0487 taking the references and artifacts
0488 cited below, and human guidance (T. Wenaus), as inputs and producing a draft of
0489 this document. Many human-AI iterations followed
0490 to refine the draft. When it was satisfactory, Wenaus went through the full
0491 draft and edited by hand.
0492
0493 ## Interface artifacts
0494
0495 The concrete artifacts of the interface definition, July 2026:
0496
0497 - [ePIC computing model diagram](https://epic-wfms-docs.readthedocs.io/en/latest/foundations/)
0498 — the architecture in one view, with the E0-E1 interface detail;
0499 maintained in the WFMS documentation.
0500 - [E0-E1 state machine](e0-e1-state-machine.md) — the
0501 definition of the datataking state model and its proposed evolution.
0502 - [E0-E1 global state diagram](images/e0-e1-global-state-v1.svg) — the
0503 global state across a datataking arc.
0504 - [E0-E1 interface source notes](e0-e1-interface-source-notes.md) —
0505 extracts from the primary sources, the working digest for this
0506 document set.
0507 - [TF/STF explainer](https://epic-wfms-docs.readthedocs.io/en/latest/streaming/#time-frames-and-super-time-frames)
0508 — the two data units and the sampling and streaming paths, in the WFMS
0509 documentation.
0510 - [MCP AI backplane diagram](https://raw.githubusercontent.com/BNLNPPS/swf-monitor/main/docs/mcp-ai-backplane-v1.svg)
0511 — AI integration spanning machine, DAQ, Echelon 1 and global
0512 computing, maintained with the
0513 [MCP service documentation](https://github.com/BNLNPPS/swf-monitor/blob/main/docs/MCP.md).
0514
0515 ## Sources
0516
0517 - [E0-E1 interface notes, January 2026](https://docs.google.com/presentation/d/1hKGmzx91Q9FbFKKyMg_7TerNEVvY-8CxeAq6UINT1pc/)
0518 — the elements catalogue from the January collaboration meeting
0519 session.
0520 - [Echelon 0 - Echelon 1 Interface, Status and Open Questions](https://indico.bnl.gov/event/31808/contributions/126678/)
0521 (Landgraf, Battaglieri, Diefenthaler, Gunji), July 2026 workfest — the
0522 open questions and the September formalization target.
0523 - [Introduction & Streaming DAQ: Overview, Requirements and Timeline](https://indico.bnl.gov/event/31808/contributions/126677/)
0524 (Landgraf), July 2026 workfest — Echelon 0 architecture, definitions,
0525 run-control model, AI requirements, timeline.
0526 - [BNL Orchestration Testbed](https://indico.bnl.gov/event/31808/contributions/126683/)
0527 (Kalinkin et al.), July 2026 workfest — the testbed realization.
0528 - [SRO Calibrations](https://indico.bnl.gov/event/31808/contributions/126692/)
0529 (Battaglieri, Gunji), July 2026 workfest — calibration workflow
0530 requirements and demonstrators.
0531 - [SPINDLE](https://indico.bnl.gov/event/31808/contributions/126681/)
0532 (Diefenthaler, Jeske), July 2026 workfest — the JLab HPDF online
0533 calibrations program.
0534 - [Orchestration of TF Processing with PanDA and Rucio](https://indico.bnl.gov/event/30532/contributions/118848/)
0535 (NPPS), January 2026 collaboration meeting — the interface schematic
0536 and first orchestration chain.
0537 - [ePIC WFMS documentation, Streaming Workflows](https://epic-wfms-docs.readthedocs.io/en/latest/streaming/)
0538 — the interface dataflows, units, workflows, and testbed realization.
0539 - [The ePIC Streaming Computing Model](https://zenodo.org/records/14675920)
0540 — the publication the September formalization targets.
0541 - [Requirements for an ePIC Distributed Workflow Management System](https://www.overleaf.com/project/67bdf89a3d44a138da503dea)
0542 (Diefenthaler, Wenaus, and the ePIC Streaming Computing Model Working
0543 Group, v1.0, October 2025) — the WFMS requirements, including the
0544 streaming-processing, state-machine, and data-integrity obligations at
0545 the interface.
0546 - [AI-ready information and control boundary between E0 and E1 — AI research report](https://etaverse.com/tjai/p/research-ai-ready-e0-e1-information-control-boundary-chatgpt/)
0547 (July 2026 multi-model research) — the five-plane organization, the
0548 factorized state model, and the control analysis drawn on above.