Platform · Episodes
SPEC 07A batch, a breakdown and a night shift are the same shape.
An episode is a named span of time on an asset. Batches, downtime events, shifts and campaigns are all episodes — one concept, one query surface, one place for annotations to live — instead of four bolt-on modules that each invented time ranges again.
One concept
SPEC 07 §1Anything you would say “during” about is an episode.
“During batch 4711.” “During the seal failure.” “During nights last week.” Each is an asset, a start, an end (or not yet), a type, and typed fields the template defines — recipe and lot numbers for a batch, a reason code for downtime, a crew for a shift. Because the shape is shared, everything built for episodes works for every kind: queries, comparisons, annotations, calculations triggered on close.
Episodes can nest and overlap — a downtime event inside a batch inside a campaign — and each keeps its own identity. The archive does not flatten your operation to fit its schema.
Batch genealogy
SPEC 07 §6Which lots fed which batch, and which batches those lots came from.
Every material movement into a batch records the lot and the episode it came from, against the material registry. When a supplier recalls a lot, the question “which finished batches contain it, at any depth?” is one genealogy query — forwards or backwards — not a week of spreadsheet archaeology.
genealogy resolves in both directions. recall scope is a query, not a project.
Reason trees & episode-relative queries
SPEC 07 §9“Temperature profile of batch 4711 versus the golden batch” is a first-class query.
Downtime episodes carry a reason from a versioned tree — mechanical / seal / flush-line, not a free-text field that has fourteen spellings of “seal”. Episode-relative queries re-base time to the episode: minutes since batch start rather than wall clock, so profiles overlay properly and a slow batch shows up as a shape, not an excuse.
Annotations — an operator’s note, a photo of the failed seal, the deviation reference — attach to the episode itself. They survive display changes, template updates and export, because they belong to the record of what happened, not to a chart that happened to be open.
coded against a versioned tree, so pareto charts stay honest across years.
Batch context, downtime accounting and shift reporting are in the free core — episodes are not an add-on module.