Documentation › Progress files
Progress files
A progress file is what Save progress… writes from an interactive runbook: the Done marks, when each was made, and the settings. It is plain JSON, readable in any text editor.
What it is for
- Carrying your place to another machine or another browser, or past a cleared browser.
- Handing over partway through: the next person loads the file and carries on from the last Done mark.
- The record of a run: which steps were done, in what order, when, and with which values. Attach it to the ticket.
What is inside
{
"format": "Thinware runbook progress",
"formatVersion": 1,
"builtWith": "Thinware Runbook Builder 1.2.5",
"runbook": {
"title": "Archive old application logs on a file server",
"version": "261008.1",
"fileName": "archive-app-logs.html",
"fingerprint": "sha256:3f0c…e91a"
},
"savedAt": "2026-10-10T14:05:12-05:00",
"steps": [
{ "id": "p1", "step": "Before you start", "done": true, "doneAt": "2026-10-10T13:41:02-05:00" },
{ "id": "p2", "step": "Settings", "done": true, "doneAt": "2026-10-10T13:42:30-05:00" },
{ "id": "s1-A", "step": "1-A Confirm the server and both folders", "done": true, "doneAt": "2026-10-10T13:44:11-05:00" },
{ "id": "s1-B", "step": "1-B Count the files to be moved", "done": false, "doneAt": null }
],
"settings": {
"log_dir": "D:\\Logs\\App",
"archive_dir": "E:\\Archive\\AppLogs",
"archive_drive": "E",
"keep_days": "30",
"min_free_gb": "50"
}
}
| Field | Meaning |
|---|---|
format, formatVersion | Identify the file. A file without them is refused. |
builtWith | The Builder version that made the runbook. |
runbook.title, runbook.version | From the runbook's header, for people reading the file. |
runbook.fileName | The name of the .html file the progress was saved from. |
runbook.fingerprint | SHA-256 of the runbook's text. This is what decides whether the file can be loaded. |
savedAt | When the file was written, as local time with its offset from UTC. |
steps | Every step, in order, with its number and title, whether it was done, and when it was marked Done. A step that was unchecked and checked again carries the later time. |
settings | The value of every setting at the time of saving: what was typed, or the runbook's starting value where nothing was. Numbers are kept as text. |
Loading one
Load progress… accepts a file only when its fingerprint matches the runbook it is being loaded into. That means the same runbook text, character for character. A file from a different runbook, or from this one before its text changed, is refused with a message naming the runbook it belongs to. This is deliberate: a Done mark on step 1-B means nothing if step 1-B has changed. The Builder version does not matter: a file saved from a runbook built with an older Builder loads into the same text built with a newer one. The browser's own memory of Done marks and settings is keyed by the same fingerprint.
If the fingerprint matches but the file name differs, the runbook asks before loading, since browsers rename copies and the file may well be the right one.
Loading replaces the Done marks and settings currently held in the browser, after a confirmation that says how many steps the file has done and how many are done now. Done marks for steps that no longer exist are ignored.
As a record
The file says what was marked Done and when. It does not say what happened in the shell: the runbook never sees the commands run or their output. For a change record, pair the progress file with the session transcript or the ticket notes the runbook told the operator to write.
Keep in mind that settings are stored in plain text, which is one more reason never to put a secret in one.