# Histories

> The recorded-run browser: the Histories root of the Process tree, the list and the open run, what each part covers, the permissions, and what a stopped runtime refuses.

Every run is saved to its own self-contained file. **Histories** is the third root of the
Process page's Workspace column, after Models and Templates: a leaf, because every recorded
run is a run of a procedure and the browser is a surface of the same workspace. Selecting
it opens the browser in the content panel; the address `/histories` is a deep link onto the
same node, so a bookmark still opens the runs. A record is read straight from the run file,
independent of the current configuration: deleting the model, unit or procedure that
produced a run never touches the run.

The panel is a list on the left, with its filters, and the selected run's record on the
right, each scrolling on its own. Once a run is open, the button in the panel header hands
the record the whole content panel and the same button brings the list back; deleting the
open run or clearing the selection brings it back on its own. The engineering lock never
holds the browser inert: a recorded run is evidence, not configuration, so browsing,
exporting and reporting stay available while a unit records.

## Permissions {#permissions}

| Permission | Opens |
| --- | --- |
| View histories | The Histories root, and with it the Process page for an identity that holds nothing else there. Reading every part of a record and filtering the list. |
| Manage histories | Deleting a run, one at a time or in a sweep, and writing, changing or removing its comments and annotations. |
| Export/import histories | Export CSV, Export XLSX, Export GLAB, Generate PDF, the report dossier's Open PDF and Generate report, and Import. |
| Run procedures (with View histories) | New label, Generate label, Print and Reprint a label, Resend report: everything that records a new artifact or puts a document into a queue. |

Timestamps are recorded internally in UTC and shown on screen in the station's local time,
in the format configured in [Settings](settings-localization); each export declares the
reference its stamps are read in.

## Where the detail lives {#where-the-detail-lives}

| Page | Covers |
| --- | --- |
| [The run list](histories-list) | Paging, filtering and refreshing the archive, the row anatomy, and deleting a run or a whole sweep. |
| [The run record](histories-record) | What an open run shows: the verbs above it, its header and actors, the interlock notice, the datalog chart, the judged criteria and the occurrence episodes. |
| [Comments and annotations](histories-notes) | Free notes and chart markers recorded into the run file. |
| [Labels and reports](histories-documents) | The label artifacts and the report registrations of the run, their delivery attempts, and the verbs that create or reissue one. |
| [Exporting a run](histories-export) | CSV, XLSX, GLAB and PDF, how the files are named, and exactly what each contains. |
| [Importing runs](histories-import) | Taking a `.glab` file recorded on another installation into this archive. |

## Writes and the stopped runtime {#writes-and-the-stopped-runtime}

Deleting, commenting, annotating, emitting or printing a label, resending a report and
importing all change the station's records, so while the runtime is stopped every one of
them is refused with the reason "Runtime stopped", and their controls grey with "The
station is read-only." Reading, filtering, exporting and generating a PDF keep working: an
export is a read of the run file, never a write to it.
