The run record
What an open run shows: the strip of verbs above it, the header with its status, the metadata recorded at Start and the two actors, the interlock notice, the datalog chart, the judged criteria and the occurrence episodes.
Selecting a run opens its record on the right half of the browser: a strip of verbs that stays put while the record scrolls, then the header, the datalog chart, the judged criteria, the Report and Labels dossiers (Labels and reports), the Database rows dossier on a run that wrote to a database, the occurrences, and the comments and annotations (Comments and annotations). With nothing selected the panel reads "Select a run to review its datalog, verdict, judged criteria, labels and occurrences."
The strip
The verbs act on the open run, so they ride the record and not the page's own bar. The portable copies come first, then the generated documents, then the danger verb. A role that does not carry what a verb needs does not see that verb at all: the strip is the size of what the signed-in role may do. A verb the situation refuses stays where it is, greyed, and its tooltip says what is missing ("Pick a run first.", "This run is still recording. Finish it first.", "Another run command is still running.").
| Command | What it does | Greyed when (situation) | Needs (not drawn without it) |
|---|---|---|---|
| Export CSV | Downloads the raw datalog as CSV. | Another verb of the strip is still running. | Export/import histories |
| Export XLSX | Downloads the run identity, the metadata and the typed datalog as an Excel workbook. | The same. | Export/import histories |
| Export GLAB | Downloads the whole run as a portable .glab file. |
The run is not Completed, Aborted or Failed. | Export/import histories |
| Generate PDF, with Report used by Generate PDF | Composes the run's PDF with the picked layout ("(procedure's report)" or any layout of the library) and opens it. | The run is still Running or Held. | Export/import histories |
| New label, with Label used by New label | Records a new label artifact from one of the labels the run's procedure configures, in the run's Labels section, and sends nothing. | No label is configured ("This run's procedure configures no label."), the picked label's template is gone or empty, the station is read-only. | View histories, Run procedures |
| Delete | Deletes the run and its file after confirmation. | The run is Running, Held or Saving; the station is read-only. | Manage histories |
What each export contains, and where the PDF opens, is Exporting a run; the label picker is described with the Labels dossier.
The header
The run name, a status line ("Viewing · name"; "Running · name (snapshot pending)" for a run that has recorded nothing yet; "No data · name" for a finished run whose file holds no rows), the metadata the run recorded at Start, and the two actors.
The metadata is one pair per field the run recorded at Start, in prompt order and under the
name the field had when the run started: the serial number, the lot and every other field,
read from the run file, so a field renamed or removed since changes nothing here. A
Number field reads in the station's number format (Localization),
to the places the operator typed: 12.50 keeps its two places, and reads 12,50 on a station
that writes decimals with a comma.
It never takes a thousands separator: a lot or a part number recorded as a number is an identifier,
not a quantity, so 1024 reads 1024 on every station. Every other value, a sequential identifier
included, reads exactly as it was recorded, and a field the operator left empty at Start shows the
gap mark. A name or a text too long for the column is cut with an ellipsis and read whole in its
tooltip; a number is never cut. A run that recorded no metadata, such as a snapshot or an
evaluation, shows none.
The two actors:
- Started by comes from the run index, so it is present for every run, even one still recording: the operator's name as it was then, Station, Automation or Agent.
- Stopped by lives only in the frozen run file. It reads Still recording while the run is active, names who requested the Stop or Abort, or explains an ending nobody asked for: Interlock, Nobody (the run failed), or Nobody (ended on its own) for a window that ran itself out, an Instant run or a single command.
When the run was held, Held by and Resumed by stand between the two: who did the last hold and the last resume, with the moment, named the same way (the operator's name as it was then, Station, Automation or Agent). A run never held shows neither.
An imported run adds Imported <when> · from <file>. The chips repeat the Automation and
Imported marks, show Recording while the run is active, and the verdict badge once it
is not. A run ended by the unit's stop interlock carries the notice Ended by the
interlock: "This run remains Aborted with verdict NOK. The termination reason records
that this Unit's external stop signal ended it."
A run that broke inside the station carries the notice Ended by a failure: one sentence that names the step that broke, then "The station's journal keeps the technical detail." The sentence is one of these, in the station's language; the error itself is written only to the journal.
| Sentence | When |
|---|---|
| The run file could not be written, so the recording stopped. | The run file refused a row the run recorded. |
| Sampling stopped on an error while reading or judging a row. | The sampling broke while it took or judged a row. |
| The run's progress could not be saved to the station's history, so the recording stopped. | The periodic write that marks the run as alive in the history failed. |
| The recipe stopped on an internal error. | The engine that sends the recipe's setpoints broke. |
| The timing of the run's cycles stopped on an internal error. | The clock that times the cycles of a run with a time window and no recipe broke. |
| The run failed while it was starting. | Something broke after the run was created and before it was recording. |
| The run could not be resumed after the station restarted. | After a restart the run could not be taken up again: its file, its procedure or its unit could not be reached, or an older run already held the unit. |
| The station closed while the run was being saved. | The station stopped while the run's end was being written. |
| The end of the run could not be saved. | Saving the run's end, or closing its file, failed. |
A run that failed in an earlier version, or whose history entry was rebuilt from its file, reads Failed with no notice. A stopped or aborted run, and one ended by the interlock, never carries it.
The datalog chart
The record plots the run's recorded channels inline, on a relative-seconds axis from the
first sample, each series in the colour frozen with the run and labelled by the name the
channel carried on the unit. The stacked bands are frozen with the run as well, so the
record and the report draw the picture the station was showing even after the model is
regrouped: one ruler per band, along the single time axis. Annotations draw as prominent markers and comments
timestamped during the run as muted ones. The approved-range bands of the procedure's
evaluation are re-resolved from the current configuration each time the run is opened,
because the run file carries limits only as display text: a deleted evaluation drops
them, and a relative limit is not drawn. The chart carries the shared toolbar
(Charts), including the button that opens the same chart in a window of its
own (/chart/run/<id>), which reloads the run from its file and links its zoom with the
inline chart; that window is read-only and takes the same permission as the browser.
Judged criteria
When the run's procedure judged criteria, the record lists one row per judged window:
| Column | Content |
|---|---|
| Cycle | The cycle the criterion was judged in, 1-based. |
| Criterion | The criterion's name as configured when the run recorded. |
| Channel | The channel it watched. |
| Limits | The approved range, as display text frozen into the run. |
| Severity | How the criterion was configured to weigh on the verdict. |
| Outcome | OK, NOK or Indeterminate for this window. |
| Evidence | The stretch judged, then the four sample counters: "n evaluated · n out · n unavailable · n invalid". The stretch is "Whole run", "Cycle N" in a cyclic run, "2 s to 10 s" or "2 s to the end" for a time window, "Segment 3" or "Segment 3, after 5 s" for a segment and its stabilization, "Cycle N, 2 s to 10 s" inside a cycle; a One point criterion adds "last sample" ("Whole run, last sample"), and its counters are that one sample's. A run recorded by an earlier version shows the counters alone. |
| Affected | The channels whose unavailable or invalid samples weakened the evidence, or the gap mark when the evidence was complete. |
| Worst | The largest distance beyond a bound among the samples counted, written to three decimal places, or to more when three would read zero: 0 when samples were evaluated and none was out, empty when nothing was evaluated. A run recorded by an earlier version leaves it empty where nothing was out. |
| Note | Why the outcome is indeterminate, when it is. |
Occurrences
When the run observed occurrences, the record derives episodes, one row per activation rather than one per raw transition:
| Column | Content |
|---|---|
| Occurrence | The occurrence's name. |
| Severity | Critical, Warning or Info, as frozen at observation. |
| Started | When the episode began, or "Unknown". |
| End / status | When and how it ended ("Cleared"), or its open status: "Active · live", "Active at run end", "Interrupted", "Incomplete", "Inconsistent". |
| Active time | How long the condition held, with "· live" while it still does and "· observed" when the run's end bounded it. |
| Signal unavailable | How long the watched signal was unreadable during the episode ("None" when it never was, "· partial" when the loss could not be fully measured). |
| Message | The message frozen with the occurrence. |
Below the episodes, a Technical timeline disclosure (its summary counts the events and the observation sessions) lists every raw recorded edge (Activated, Cleared, Unavailable, Restored) and every observation-session boundary, with the occurrence, the severity, the transition, the instant and the message. A boundary row explains why a new observation session began: after the run resumed, after the watcher restarted, or after the definition changed. A boundary row is drawn before each observation session of an occurrence after its first; the first session has none.
While the selected run is still recording, its occurrence evidence stays live: the clocks tick every second, the evidence and the run's index row are re-read every two seconds, so the terminal state appears without pressing Refresh.
What the record does not do
It does not show the recorded rows as a table: the datalog is read on the chart or in a CSV or XLSX export. It does not re-judge anything: the criteria are the run's frozen results, and the bands on the chart are context from today's configuration, never a verdict. And it edits nothing of the run but its notes, annotations and documents.