@troylar/flightdeck 1.10.0 → 1.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,35 @@
2
2
 
3
3
  <!-- Generated by build.py from src/releases.json. Edit that file, not this one. -->
4
4
 
5
+ ## 1.11.1 · Oct 18, 2026
6
+
7
+ Checklist versions this copy can't read are never run.
8
+
9
+ ### Fixed
10
+
11
+ - **Versions this copy doesn't understand can't be started** (Runs). Such a version isn't offered to start, plan or pick. The process page and the version picker say why: update Flightdeck to run it. A plan made for it starts on the latest version you can run, and says so. A run started on it, or saved by a newer copy with details or a file format this copy doesn't know, opens read-only with the reason, and this copy never saves over it or plans another like it. *Where:* A process page, the version picker, Start a run, and the run page.
12
+
13
+ ## 1.11.0 · Oct 18, 2026
14
+
15
+ Planned runs, a flight plan view, a checklist builder, and organized step types.
16
+
17
+ ### New
18
+
19
+ - **Suggest a fix to the checklist** (Runs). Anyone in a run can suggest a fix to the checklist from a step, a phase or a screenshot: a missing step, wrong instructions, a bad screenshot (attach the right one), wrong order, wrong role, or something else. On the process page, anyone can accept or decline each one with a reason. Accepted ones show as fixed once a newer version is published. Copy fix brief hands them to your AI assistant. *Where:* A run: Suggest a fix on a step or phase. A process page: Suggested fixes.
20
+ - **See a process as a flight plan** (Processes). On a process page, switch the checklist to Flight plan to see its shape at a glance: phases from start to landing, gates as checkpoints, tracks side by side and linked processes. With runs of that version, it shows each phase's usual time and the step that most often goes off-script. It marks steps covered by skills built from that version. Choose a phase to go to it. *Where:* A process page, the Checklist | Flight plan switch.
21
+ - **Edit a checklist with the builder** (Processes). Edit a draft as an outline: phases as cards, steps as rows, gates as striped bars. Drag a step, or select it and press Alt+Up or Alt+Down, to move it. Change a step's text, type, roles, run details and fields in the side form, and add steps, phases and gates. It writes the same Markdown, changing only the lines you touched and never a step ID. Markdown is one click away. *Where:* A process page: Edit, then the Builder | Markdown switch.
22
+ - **Plan a run ahead of time** (Runs). Plan a run in the app: a name, the details you know, who does what and an optional time. Planned runs are listed by time under Runs and show on Home from a day before. Nothing starts until someone starts it. *Where:* A process page: Plan a run.
23
+ - **Plan another like this** (Runs). Duplicate any run into a new plan with its details and roles. Its answers, notes and gates are never copied, and details a step fills in during the run are left for the new run. *Where:* A run, or its receipt: Plan another like this.
24
+ - **Plans keep their version** (Runs). A plan starts on the version it was planned on. If a newer one is published first, the plan says so, shows what changed and switches with one click. *Where:* Starting a planned run.
25
+
26
+ ### Improved
27
+
28
+ - **Step types in groups, with tags** (Step types). Step types are listed in groups, like processes and skills, with a tag filter. Give a team type a group and tags in its form; built-ins are grouped as General, Tools and Automation. Reorganizing a type never marks a process or a skill as changed. *Where:* Step types.
29
+
30
+ ### Fixed
31
+
32
+ - **Clearer while a step type saves** (Step types). While Keep mine saves, the conflict shows Saving… instead of buttons that would do nothing, and Cancel and Discard my changes leave keyboard focus somewhere useful. *Where:* Step types, and the draft editor.
33
+
5
34
  ## 1.10.0 · Oct 18, 2026
6
35
 
7
36
  Clear sections, and templates and step types you manage in the app.
package/README.md CHANGED
@@ -20,13 +20,29 @@ Every team has processes that live in someone's head: the release, the check-in,
20
20
 
21
21
  It's **one HTML file**. No server, no sign-in, no network, no AI inside. It works offline in Edge or Chrome and keeps everything in a folder your team already shares.
22
22
 
23
- <p align="center"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/run-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/run-light.png" alt="A release in progress: run details including a release tag set by an earlier step, roles, phases on the left with their gates, the current phase, and step notes on the right" width="1000"></picture></p>
23
+ <p align="center"><a href="https://github.com/troylar/flightdeck/blob/main/docs/images/run-light.png" title="Open in GitHub's image viewer"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/run-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/run-light.png" alt="A release in progress: run details including a release tag set by an earlier step, roles, phases on the left with their gates, the current phase, and step notes on the right" width="1000"></picture></a></p>
24
+
25
+ <br>
26
+
27
+ ## Your skills, tied to the process they automate
28
+
29
+ Teams are turning runbooks into AI skills fast. Then the process changes, and nobody can say which skills are now wrong.
30
+
31
+ Flightdeck keeps that link, version by version:
32
+
33
+ - **Built from proof.** Prove a version with three clean runs and its owner's sign-off, then brief your AI assistant to build the skill.
34
+ - **Traced to the step.** Each registered skill links to an exact process version and the steps it covers (or the whole process), plus where its source lives.
35
+ - **Changes flagged.** Publish a new version and Flightdeck shows which registered skills follow steps that changed, and which are still current.
36
+ - **Fixes, briefed.** One click copies an update brief: the before and after of each changed step, and the process as it is now.
37
+ - **Evidence kept.** Every run keeps who checked each step, what was marked N/A, and where people did it differently.
38
+
39
+ <p align="center"><a href="https://github.com/troylar/flightdeck/blob/main/docs/images/skills-traced-light.png" title="Open in GitHub's image viewer"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/skills-traced-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/skills-traced-light.png" alt="A process goes from v1 to v2 and one step changes. Flightdeck checks the registered skills: release-deploy and release-notes need an update, pr-opener is current. The update brief for release-deploy shows the exact before and after for your AI assistant." width="1000"></picture></a></p>
24
40
 
25
41
  <br>
26
42
 
27
43
  ## The loop
28
44
 
29
- <p align="center"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/loop-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/loop-light.png" alt="Write a checklist, publish a frozen version, run it, prove it with three clean runs and the owner sign-off, then your AI assistant builds the skill from the brief. A step done differently becomes a suggested checklist change; a new version that changes a covered step marks the skill as needing an update." width="1000"></picture></p>
45
+ <p align="center"><a href="https://github.com/troylar/flightdeck/blob/main/docs/images/loop-light.png" title="Open in GitHub's image viewer"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/loop-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/loop-light.png" alt="Write a checklist, publish a frozen version, run it, prove it with three clean runs and the owner sign-off, then your AI assistant builds the skill from the brief. A step done differently becomes a suggested checklist change; a new version that changes a covered step marks the skill as needing an update." width="1000"></picture></a></p>
30
46
 
31
47
  Flightdeck keeps checklists and run records together, links to skills stored elsewhere, and flags process changes that affect them.
32
48
 
@@ -58,14 +74,14 @@ Then open `flightdeck.html` from the team folder, go to **Settings → Open team
58
74
 
59
75
  **Home** shows only what needs you, each with one button: the run you're recording, a plan to review, a skill to update.
60
76
 
61
- <picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/home-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/home-light.png" alt="Home: three things that need you, each with one button, and counts of runs, processes, skills and step types"></picture>
77
+ <a href="https://github.com/troylar/flightdeck/blob/main/docs/images/home-light.png" title="Open in GitHub's image viewer"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/home-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/home-light.png" alt="Home: three things that need you, each with one button, and counts of runs, processes, skills and step types"></picture></a>
62
78
 
63
79
  </td>
64
80
  <td width="50%" valign="top">
65
81
 
66
82
  **Processes** are your templates, in your team's own hierarchy and tags. **New process** starts one.
67
83
 
68
- <picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/processes-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/processes-light.png" alt="Processes: the team templates grouped by hierarchy, with tags, skill counts and last run"></picture>
84
+ <a href="https://github.com/troylar/flightdeck/blob/main/docs/images/processes-light.png" title="Open in GitHub's image viewer"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/processes-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/processes-light.png" alt="Processes: the team templates grouped by hierarchy, with tags, skill counts and last run"></picture></a>
69
85
 
70
86
  </td>
71
87
  </tr>
@@ -74,14 +90,14 @@ Then open `flightdeck.html` from the team folder, go to **Settings → Open team
74
90
 
75
91
  **A process** is one page: its checklist with skill badges, whether it's ready for a skill, its skills, versions and recent runs.
76
92
 
77
- <picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/process-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/process-light.png" alt="The Production release process: the v2 checklist, Ready for a skill, two skills marked needs update, versions and recent runs"></picture>
93
+ <a href="https://github.com/troylar/flightdeck/blob/main/docs/images/process-light.png" title="Open in GitHub's image viewer"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/process-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/process-light.png" alt="The Production release process: the v2 checklist, Ready for a skill, two skills marked needs update, versions and recent runs"></picture></a>
78
94
 
79
95
  </td>
80
96
  <td valign="top">
81
97
 
82
- **Edit** in place: the Markdown beside a live check and preview. If the draft changed since you opened it, you see both and choose.
98
+ **Edit** in place, as an outline or as Markdown, beside a live check and preview. If the draft changed since you opened it, you see both and choose.
83
99
 
84
- <picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/edit-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/edit-light.png" alt="Editing a draft: the Markdown on the left, Ready to publish and a live preview on the right"></picture>
100
+ <a href="https://github.com/troylar/flightdeck/blob/main/docs/images/edit-light.png" title="Open in GitHub's image viewer"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/edit-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/edit-light.png" alt="Editing a draft: the Markdown on the left, Ready to publish and a live preview on the right"></picture></a>
85
101
 
86
102
  </td>
87
103
  </tr>
@@ -90,14 +106,62 @@ Then open `flightdeck.html` from the team folder, go to **Settings → Open team
90
106
 
91
107
  **Skills**: every skill built from your processes, wherever it lives, and which ones need an update.
92
108
 
93
- <picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/skills-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/skills-light.png" alt="Skills: two skills that need an update, then every skill in the team hierarchy with tag filters"></picture>
109
+ <a href="https://github.com/troylar/flightdeck/blob/main/docs/images/skills-light.png" title="Open in GitHub's image viewer"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/skills-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/skills-light.png" alt="Skills: two skills that need an update, then every skill in the team hierarchy with tag filters"></picture></a>
110
+
111
+ </td>
112
+ <td valign="top">
113
+
114
+ **A skill** says what changed under it and gives your AI assistant the exact before and after.
115
+
116
+ <a href="https://github.com/troylar/flightdeck/blob/main/docs/images/skill-light.png" title="Open in GitHub's image viewer"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/skill-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/skill-light.png" alt="The release-deploy skill: needs an update because one of its steps changed in v2, with a Copy the update brief button and where the skill lives"></picture></a>
117
+
118
+ </td>
119
+ </tr>
120
+ <tr>
121
+ <td valign="top">
122
+
123
+ **Flight plan** shows a version's shape: phases from start to landing, gates as checkpoints, tracks side by side, and, from that version's runs, typical times, autopilot (steps skills cover) and turbulence.
124
+
125
+ <a href="https://github.com/troylar/flightdeck/blob/main/docs/images/flight-light.png" title="Open in GitHub's image viewer"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/flight-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/flight-light.png" alt="The release v1 as a flight plan: Start, three phases with typical times, gates as striped checkpoints, a connecting flight to Check in code, autopilot and turbulence notes, and two parallel tracks"></picture></a>
94
126
 
95
127
  </td>
96
128
  <td valign="top">
97
129
 
98
- **A skill** says what changed under it and gives your LLM the exact before and after.
130
+ The **Builder** edits a draft as an outline: drag a step or press Alt+Up / Alt+Down, change it in the side form, and **Undo**. It writes the same Markdown.
99
131
 
100
- <picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/skill-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/skill-light.png" alt="The release-deploy skill: needs an update because one of its steps changed in v2, with a Copy the update brief button and where the skill lives"></picture>
132
+ <a href="https://github.com/troylar/flightdeck/blob/main/docs/images/builder-light.png" title="Open in GitHub's image viewer"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/builder-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/builder-light.png" alt="The outline builder: phases as cards with steps as rows and a striped gate bar; the selected step's side form with its text, kind, type, roles, run details and fields"></picture></a>
133
+
134
+ </td>
135
+ </tr>
136
+ <tr>
137
+ <td valign="top">
138
+
139
+ **Runs**: what's running, what's **planned** (by a person or your AI assistant) and what finished.
140
+
141
+ <a href="https://github.com/troylar/flightdeck/blob/main/docs/images/runs-light.png" title="Open in GitHub's image viewer"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/runs-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/runs-light.png" alt="Runs: one release running, two planned releases (one by Casey Nguyen with a time, one by an AI assistant), and finished runs"></picture></a>
142
+
143
+ </td>
144
+ <td valign="top">
145
+
146
+ **Plan a run** for later: the details you know, who does what, and an optional time. Nothing starts until someone starts it.
147
+
148
+ <a href="https://github.com/troylar/flightdeck/blob/main/docs/images/plan-light.png" title="Open in GitHub's image viewer"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/plan-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/plan-light.png" alt="Plan a run: run name, ticket and environment filled in, a time and a note, and suggested people for each role"></picture></a>
149
+
150
+ </td>
151
+ </tr>
152
+ <tr>
153
+ <td valign="top">
154
+
155
+ **Suggest a fix** from any step or phase during a run: what's wrong, and what it should say.
156
+
157
+ <a href="https://github.com/troylar/flightdeck/blob/main/docs/images/fix-light.png" title="Open in GitHub's image viewer"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/fix-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/fix-light.png" alt="Suggest a fix to a step during a run: the instructions are wrong, with the text it should say"></picture></a>
158
+
159
+ </td>
160
+ <td valign="top">
161
+
162
+ **Suggested fixes** on the process page: accept or decline each one, see which are fixed in a newer version, and copy a fix brief for your AI assistant.
163
+
164
+ <a href="https://github.com/troylar/flightdeck/blob/main/docs/images/fixes-light.png" title="Open in GitHub's image viewer"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/fixes-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/fixes-light.png" alt="Suggested fixes on the process page: one declined with a reason, one fixed in v2, one open with Accept into the draft and Decline, one in the draft"></picture></a>
101
165
 
102
166
  </td>
103
167
  </tr>
@@ -107,6 +171,11 @@ Then open `flightdeck.html` from the team folder, go to **Settings → Open team
107
171
 
108
172
  ## What it does
109
173
 
174
+ <p align="center"><a href="https://github.com/troylar/flightdeck/blob/main/docs/images/features-light.png" title="Open in GitHub's image viewer"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/features-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/features-light.png" alt="Eight features: gates that approve exactly what they say; one recorder with everyone watching; typed steps for Jenkins, Bitbucket, Jira and commands; real Jira workflows with required fields; clock times, deadlines, tracks and pauses; linked runs of other processes; run details that flow to later steps; and insights from every run." width="1000"></picture></a></p>
175
+
176
+ <details>
177
+ <summary><b>Every feature, in detail</b></summary>
178
+
110
179
  <table>
111
180
  <tr>
112
181
  <td width="50%" valign="top">
@@ -118,7 +187,7 @@ Every phase ends at a **gate**. Nothing after it opens until someone passes it,
118
187
  <td width="50%" valign="top">
119
188
 
120
189
  ### One recorder, everyone watching
121
- One person records; everyone else follows on their own screen and adds notes and screenshots to any step. Hand recording over, or pick it up from another window. Two computers saving at once never overwrite each other: the loser becomes a copy you can compare and keep.
190
+ One person records; everyone else follows on their own screen and adds notes and screenshots to any step. Hand recording over, or pick it up from another window. Every save first checks the file hasn't changed; if it has, yours is kept next to it as a copy you can compare and keep. Where two computers can't take turns, a save that gets replaced is still kept as a receipt and shown as a copy, so nothing is silently lost.
122
191
 
123
192
  </td>
124
193
  </tr>
@@ -160,17 +229,19 @@ A step can **set** a run detail: the merge step records the release tag, and eve
160
229
  <td valign="top">
161
230
 
162
231
  ### Runs that teach the checklist
163
- Every "did it differently", every block, every re-check is kept. A process's **How runs go** shows typical time per phase, the steps that go off-script most, and who has never held which role yet, so the next rotation is obvious.
232
+ Every "did it differently", every block, every re-check is kept. Anyone in a run can **suggest a fix** to the checklist from a step, a phase or a screenshot; the team accepts or declines it on the process page, and one click copies a fix brief for your AI assistant. A process's **How runs go** shows typical time per phase, the steps that go off-script most, and who has never held which role yet, so the next rotation is obvious.
164
233
 
165
234
  </td>
166
235
  </tr>
167
236
  </table>
168
237
 
238
+ </details>
239
+
169
240
  <br>
170
241
 
171
242
  ## A checklist, in twenty lines
172
243
 
173
- Checklists are Markdown. Your LLM writes them; people publish them.
244
+ Checklists are Markdown. Your AI assistant writes them; people edit and publish them, in the builder or as Markdown.
174
245
 
175
246
  ```markdown
176
247
  ---
@@ -219,13 +290,17 @@ Publishing freezes a checklist as a numbered version, with who, when and why. Ru
219
290
  A process is one page, with its checklist in the middle:
220
291
 
221
292
  - **Read it** the way a run shows it, or switch on **Markdown** to see and copy the source.
222
- - **Edit** it in place: the Markdown beside a live check (what blocks publishing, and what's just a tip) and a preview, updated as you type. **Done** takes you back; **Publish** appears when the draft has changes.
293
+ - **See its shape** with **Flight plan**: phases as waypoints from start to landing, gates as checkpoints, tracks as parallel lanes, linked processes as connecting flights, and, from that version's own runs and skills, typical times, the steps covered by skills (autopilot) and the steps that go off-script most (turbulence). Choose a phase to jump to it in the checklist.
294
+ - **Edit** it in place: the **Builder** (phases as cards, steps as rows, gates as striped bars; drag a step or press Alt+Up / Alt+Down to move it, and change a step's text, type, roles, run details and fields in its side form; **Undo** steps back through builder changes) or the **Markdown**, beside a live check (what blocks publishing, and what's just a tip) and a preview. Both edit the same Markdown: the builder changes only the lines you touch and never a step ID, and keeps comments and lines it doesn't understand. **Done** takes you back; **Publish** appears when the draft has changes.
223
295
  - **Look back**: pick any version from the version list or the Versions panel. An older version shows with a way back to the current one and **Restore as draft**.
296
+ - **Versions this copy can't use** are listed with the reason instead: still syncing, damaged, or written by a newer Flightdeck ("update Flightdeck to run it"). They can't be started, planned or picked, and a run started on one by a newer copy opens read-only, so this copy never saves over it.
224
297
  - **How runs go**: typical time per phase, the steps that go off-script most, and who has held each role.
225
298
 
226
299
  Beside the checklist: whether it's ready for a skill, its skills, its versions and its recent runs.
227
300
 
228
- Saving is careful. A save only goes through if the draft is still exactly what you opened. If a teammate or your LLM changed it meanwhile, nothing is saved: you see their version and choose to keep yours or take theirs. One limit: a shared folder can't lock a file, so a change that lands in the instant between that check and the write can still be replaced. Edit a draft with one person (or one LLM) at a time. Saving never publishes; publishing is a separate, logged step.
301
+ **Plan a run** for later, next to **Start a run**: a name, the details you know, who does what and an optional time. **Plan another like this** on any run or receipt copies its details and roles, never its answers. Planned runs are listed by time under **Runs** and show on Home when they're due; a plan starts on the version it was planned on until you switch to the newer one.
302
+
303
+ Saving is careful. A save only goes through if the draft is still exactly what you opened. If a teammate or your AI assistant changed it meanwhile, nothing is saved: you see their version and choose to keep yours or take theirs. One limit: a shared folder can't lock a file, so a change that lands in the instant between that check and the write can still be replaced. Edit a draft with one person (or one AI assistant) at a time. Saving never publishes; publishing is a separate, logged step.
229
304
 
230
305
  **New process** on the Processes page asks for an ID, title, group, tags, run details, roles and owner, starts the draft, and opens it in the editor.
231
306
 
@@ -233,15 +308,15 @@ Saving is careful. A save only goes through if the draft is still exactly what y
233
308
 
234
309
  ## Your own step types
235
310
 
236
- Built-in types cover common tools. When your team has its own kind of step (a change request, a security sign-off), make it a type:
311
+ Built-in types cover common tools, grouped as General, Tools and Automation, with your team's types in their own groups and a tag filter. When your team has its own kind of step (a change request, a security sign-off), make it a type:
237
312
 
238
313
  1. **Step types → New step type**, or **Copy to a team type** on any built-in.
239
- 2. Add rows for its **fields** (what a checklist can say about the step) and its **evidence** (what's recorded when it's checked). The form checks it as you go and shows the checklist line and the file it will save.
314
+ 2. Give it a **group** and **tags** if you like (they only organize the list), then add rows for its **fields** (what a checklist can say about the step) and its **evidence** (what's recorded when it's checked). The form checks it as you go and shows the checklist line and the file it will save.
240
315
  3. **Save step type** writes `step-types/<id>.json`. Checklists can use `{your.type}` right away; publishing freezes it into each version, so editing it later never changes an old one.
241
316
 
242
317
  Or describe it to your AI assistant: `/flightdeck-new-step-type a change request the CAB approves, with the change number as evidence`.
243
318
 
244
- <p align="center"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/types-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/types-light.png" alt="Step types: your team types, then each built-in type with what it is for, how many checklists use it, and a button to copy it to a team type" width="1000"></picture></p>
319
+ <p align="center"><a href="https://github.com/troylar/flightdeck/blob/main/docs/images/types-light.png" title="Open in GitHub's image viewer"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/types-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/types-light.png" alt="Step types: your team types, then each built-in type with what it is for, how many checklists use it, and a button to copy it to a team type" width="1000"></picture></a></p>
245
320
 
246
321
  <br>
247
322
 
@@ -249,11 +324,16 @@ Or describe it to your AI assistant: `/flightdeck-new-step-type a change request
249
324
 
250
325
  This is what Flightdeck is for. Outside the team it's usually called **SOP-to-skill**: turning a standard operating procedure into an agent skill. Flightdeck adds the part that's usually missing: **traceability**. Each registered skill links to the exact process version and steps it follows, and runs are the evidence. Flightdeck flags process changes that affect a skill; it doesn't detect changes to the skill itself.
251
326
 
327
+ <p align="center"><a href="https://github.com/troylar/flightdeck/blob/main/docs/images/trace-light.png" title="Open in GitHub's image viewer"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/trace-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/trace-light.png" alt="Five steps from process to skill: prove it with 3 clean runs, the owner signs it off, copy the brief, register the skill with its source and the steps it follows, and stay in step as new versions flag the skills they affect. Skill statuses: current, note version, needs an update, check it." width="1000"></picture></a></p>
328
+
329
+ <details>
330
+ <summary><b>How it works, step by step</b></summary>
331
+
252
332
  **1. Prove a version.** Each process page shows its run evidence. A run counts as clean only when it ended Completed, every covered step was done, every gate on that work (and the one before it) was passed, and nothing was blocked, re-checked, marked N/A or done differently, even in answers since archived.
253
333
 
254
334
  **2. Sign off.** With three clean runs, the process owner signs the version off. Only the owner's sign-off counts, and only for that exact published version.
255
335
 
256
- **3. Brief your LLM.** One click copies a brief with the process in order: phases and their mode, tracks, every step with its fields, evidence and screenshots, every gate with what it approves, the run details it receives, and what people actually did differently.
336
+ **3. Brief your AI assistant.** One click copies a brief with the process in order: phases and their mode, tracks, every step with its fields, evidence and screenshots, every gate with what it approves, the run details it receives, and what people actually did differently.
257
337
 
258
338
  **4. Register the skill.** It can live anywhere: a repo, a shared folder, a local path. Its `location` is the skill's source path or link:
259
339
 
@@ -277,12 +357,14 @@ Leave out `steps` for a skill that covers the whole process. A process can have
277
357
  |---|---|---|
278
358
  | **current** | Built from the version in use | Nothing |
279
359
  | **note version** | The process changed, but none of this skill's steps did | Move its `implements` forward |
280
- | **needs update** | Its steps, their order, their gates, their step types, screenshots or run details changed | Copy the update brief: the exact before and after, for your LLM |
360
+ | **needs update** | Its steps, their order, their gates, their step types, screenshots or run details changed | Copy the update brief: the exact before and after, for your AI assistant |
281
361
  | **check it** | It can't be matched: a missing version, a clash, or an unreadable file | Fix the registration |
282
362
 
283
- The same rules are in the `flightdeck-skill-brief` skill for your AI assistant, so a brief from your LLM and a brief from the app agree.
363
+ The same rules are in the `flightdeck-skill-brief` skill for your AI assistant, so a brief your AI assistant writes and a brief from the app agree.
284
364
 
285
- <p align="center"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/skill-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/skill-light.png" alt="A skill that needs an update: the step that changed and the button that copies the update brief" width="1000"></picture></p>
365
+ </details>
366
+
367
+ <p align="center"><a href="https://github.com/troylar/flightdeck/blob/main/docs/images/skill-light.png" title="Open in GitHub's image viewer"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/skill-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/skill-light.png" alt="A skill that needs an update: the step that changed and the button that copies the update brief" width="1000"></picture></a></p>
286
368
 
287
369
  <br>
288
370
 
@@ -301,6 +383,11 @@ The same rules are in the `flightdeck-skill-brief` skill for your AI assistant,
301
383
 
302
384
  ## The team folder
303
385
 
386
+ <p align="center"><a href="https://github.com/troylar/flightdeck/blob/main/docs/images/folder-light.png" title="Open in GitHub's image viewer"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/folder-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/folder-light.png" alt="The team folder and who writes each part: people.json and validations by people; drafts and step types by people and your AI assistant; skills, Jira workflows and proposals by your AI assistant; publications and runs by Flightdeck." width="1000"></picture></a></p>
387
+
388
+ <details>
389
+ <summary><b>The folder, as text</b></summary>
390
+
304
391
  ```
305
392
  people.json who's on the team
306
393
  maps/drafts/ checklists being written (Markdown)
@@ -308,15 +395,18 @@ publications/ published versions, frozen (Flightdeck writes these)
308
395
  runs/ one folder per run: run.json, everyone's notes, screenshots
309
396
  skills/ skill registrations: each skill's source, what it implements
310
397
  validations/ owners' sign-offs that a version is ready for a skill
398
+ suggestions/ decisions on suggested fixes (accepted, declined, reopened), one file per person's window
311
399
  step-types/ your team's own step types (create them in the app)
312
400
  jira/workflows.json your real Jira workflows, with required fields
313
- proposals/ runs your LLM planned, waiting for a person to start them
401
+ proposals/ planned runs (from the app or your AI assistant), waiting for a person to start them
314
402
  images/ screenshots that checklists refer to
315
403
  AGENTS.md the rules any AI assistant follows in this folder
316
404
  .flightdeck/skills/ the Flightdeck skills for your AI assistant
317
405
  ```
318
406
 
319
- Every file has exactly one writer, so a shared folder never corrupts. Your LLM writes checklists, plans, step types, workflows and skill registrations; people publish, run and sign off.
407
+ </details>
408
+
409
+ Every file has exactly one writer, which keeps ordinary use of a shared folder free of conflicts; when two saves do collide, the replaced one is kept for you to recover. Your AI assistant writes checklists, plans, step types, workflows and skill registrations; people publish, plan, run and sign off.
320
410
 
321
411
  <br>
322
412
 
@@ -339,13 +429,20 @@ Every file has exactly one writer, so a shared folder never corrupts. Your LLM w
339
429
 
340
430
  ## Safe by design
341
431
 
432
+ <p align="center"><a href="https://github.com/troylar/flightdeck/blob/main/docs/images/safe-light.png" title="Open in GitHub's image viewer"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/safe-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/safe-light.png" alt="Safe by design: nothing leaves your machine; no server or accounts; saves that check first; built for OneDrive; a careful command; accessible." width="1000"></picture></a></p>
433
+
434
+ <details>
435
+ <summary><b>The details</b></summary>
436
+
342
437
  - **Nothing leaves your machine.** The app makes no network requests and loads nothing from the internet; its fonts and code are inside the file.
343
438
  - **No server to run, no accounts to manage.** Your data is files in a folder you already control.
344
- - **One writer per file, and checked saves.** Two computers saving a run at once never overwrite each other: the loser becomes a copy you compare and keep. Drafts and step types are saved only over the version you opened; a change that lands in the instant between that check and the write is the one case a shared folder can't catch, so edit them one at a time.
439
+ - **One writer per file, and checked saves.** A run is saved only if its file hasn't changed since this window read it; otherwise this window's version is kept beside it as a copy to compare and keep. Two computers that can't see each other's changes yet can still both write, so every save first leaves its own receipt: one that gets replaced shows up in the run as a copy, never silently lost (see [docs/onedrive.md](https://github.com/troylar/flightdeck/blob/main/docs/onedrive.md)). Drafts and step types are saved only over the version you opened; a change that lands in the instant between that check and the write is the one case a shared folder can't catch, so edit them one at a time.
345
440
  - **Built for OneDrive.** Folders that sync a minute late are expected; a gate means "passed for this commit, by this person," never a live lock.
346
441
  - **The command is careful too.** No dependencies, nothing runs on install, no network. It refuses to write through links, writes whole files atomically, and never replaces a newer version without `--force`.
347
442
  - **Accessible.** Every control has a label, errors sit next to their field, shortcuts can be turned off, and it works with a keyboard.
348
443
 
444
+ </details>
445
+
349
446
  <br>
350
447
 
351
448
  ## Coming from Preflight
@@ -356,19 +453,61 @@ Flightdeck was called Preflight before 1.9.0. Team folders, runs and published v
356
453
 
357
454
  ## FAQ
358
455
 
359
- **Does Flightdeck run anything for me?** No. It never calls Jenkins, Bitbucket or Jira, and never runs a command. It shows the command to copy, records what happened, and keeps the clock. Your skills do the automating.
456
+ <details>
457
+ <summary><b>Does Flightdeck run anything for me?</b></summary>
458
+
459
+ No. It never calls Jenkins, Bitbucket or Jira, and never runs a command. It shows the command to copy, records what happened, and keeps the clock. Your skills do the automating.
460
+
461
+ </details>
462
+
463
+ <details>
464
+ <summary><b>Where does the AI live?</b></summary>
465
+
466
+ Outside Flightdeck. Your AI assistant writes checklists and builds skills from Flightdeck's briefs. Flightdeck versions the checklists and records which process version each skill follows.
467
+
468
+ </details>
469
+
470
+ <details>
471
+ <summary><b>Can a skill cover only part of a process?</b></summary>
472
+
473
+ Yes. List its `steps`. The brief tells it which gate to wait for before its first step, and the evidence and status consider only those steps.
474
+
475
+ </details>
476
+
477
+ <details>
478
+ <summary><b>Can a skill come first?</b></summary>
479
+
480
+ Yes. Ask your AI assistant to draft a checklist from an existing skill, publish it, and register the skill against that process version; then run and prove the checklist as usual. If the skill changes first, update and publish the checklist, then update the registration. Flightdeck doesn't detect skill changes. A guided skill-first workflow and skill change detection are planned.
481
+
482
+ </details>
483
+
484
+ <details>
485
+ <summary><b>Can people edit checklists in the app, or only the AI assistant?</b></summary>
486
+
487
+ Both. The app's editor and your AI assistant write the same draft files. The app saves only over the version you opened and shows both when they differ; since a shared folder can't lock a file, edit a draft with one of them at a time.
488
+
489
+ </details>
490
+
491
+ <details>
492
+ <summary><b>What if someone on the team has a newer Flightdeck?</b></summary>
493
+
494
+ A version or run saved by a newer copy, with checklist features this copy doesn't understand, is shown with the reason and "Update Flightdeck to run it." It can't be started here, and a run on it opens read-only, so an older copy never records over what a newer one wrote. Put the newest `flightdeck.html` in the team folder; anyone on an older copy sees that a newer one is there.
495
+
496
+ </details>
360
497
 
361
- **Where does the AI live?** Outside Flightdeck. Your AI assistant writes checklists and builds skills from Flightdeck's briefs. Flightdeck versions the checklists and records which process version each skill follows.
498
+ <details>
499
+ <summary><b>What's new in each version?</b></summary>
362
500
 
363
- **Can a skill cover only part of a process?** Yes. List its `steps`. The brief tells it which gate to wait for before its first step, and the evidence and status consider only those steps.
501
+ The top bar shows the version and **What's new**, the full searchable history. It's also in [CHANGELOG.md](https://github.com/troylar/flightdeck/blob/main/CHANGELOG.md).
364
502
 
365
- **Can a skill come first?** Yes. Ask your AI assistant to draft a checklist from an existing skill, publish it, and register the skill against that process version; then run and prove the checklist as usual. If the skill changes first, update and publish the checklist, then update the registration. Flightdeck doesn't detect skill changes. A guided skill-first workflow and skill change detection are planned.
503
+ </details>
366
504
 
367
- **Can people edit checklists in the app, or only the LLM?** Both. The app's editor and your LLM write the same draft files. The app saves only over the version you opened and shows both when they differ; since a shared folder can't lock a file, edit a draft with one of them at a time.
505
+ <details>
506
+ <summary><b>Where's the source?</b></summary>
368
507
 
369
- **What's new in each version?** The top bar shows the version and **What's new**, the full searchable history. It's also in [CHANGELOG.md](https://github.com/troylar/flightdeck/blob/main/CHANGELOG.md).
508
+ [github.com/troylar/flightdeck](https://github.com/troylar/flightdeck). The design and its decisions are in [docs/design.md](https://github.com/troylar/flightdeck/blob/main/docs/design.md).
370
509
 
371
- **Where's the source?** [github.com/troylar/flightdeck](https://github.com/troylar/flightdeck). The design and its decisions are in [docs/design.md](https://github.com/troylar/flightdeck/blob/main/docs/design.md).
510
+ </details>
372
511
 
373
512
  <br>
374
513