domain

Diagnostics

The laboratory pipeline: plates and sequences move from scan, through sequencing, to RNA yield predictions. This is where the choreography lives — one plate event fans out into many sequence and zone events.

DomainCore pipeline

Overview

The Diagnostics domain owns every event whose Firestore path begins with events/plate/*, events/sequence/*, events/sample/*, events/spectroscopy/* and events/harvest/*.

A plate is a physical tray of samples. As it moves through the lab, the CropDx backend writes plate.* events. functions-delphi consumes those and fans them out into per-sequence and per-zone events, which in turn trigger grower notifications and report generation. This domain is the heart of the choreography, so keep its <NodeGraph/> accurate.

Boundary rationale

These message types share one bounded context: the lab/sequencing workflow and its data (plates, sequences, samples, spectroscopy, harvests). They are produced and consumed together, and they reference the same identifiers (plateId, sequenceId, sampleId). Grouping them keeps the fan-out visible in one place.