@troylar/flightdeck 1.11.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 +8 -0
- package/README.md +70 -14
- package/dist/flightdeck.html +247 -30
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
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
|
+
|
|
5
13
|
## 1.11.0 · Oct 18, 2026
|
|
6
14
|
|
|
7
15
|
Planned runs, a flight plan view, a checklist builder, and organized step types.
|
package/README.md
CHANGED
|
@@ -95,7 +95,7 @@ Then open `flightdeck.html` from the team folder, go to **Settings → Open team
|
|
|
95
95
|
</td>
|
|
96
96
|
<td valign="top">
|
|
97
97
|
|
|
98
|
-
**Edit** in place
|
|
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.
|
|
99
99
|
|
|
100
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>
|
|
101
101
|
|
|
@@ -111,10 +111,58 @@ Then open `flightdeck.html` from the team folder, go to **Settings → Open team
|
|
|
111
111
|
</td>
|
|
112
112
|
<td valign="top">
|
|
113
113
|
|
|
114
|
-
**A skill** says what changed under it and gives your
|
|
114
|
+
**A skill** says what changed under it and gives your AI assistant the exact before and after.
|
|
115
115
|
|
|
116
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
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>
|
|
126
|
+
|
|
127
|
+
</td>
|
|
128
|
+
<td valign="top">
|
|
129
|
+
|
|
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.
|
|
131
|
+
|
|
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>
|
|
165
|
+
|
|
118
166
|
</td>
|
|
119
167
|
</tr>
|
|
120
168
|
</table>
|
|
@@ -139,7 +187,7 @@ Every phase ends at a **gate**. Nothing after it opens until someone passes it,
|
|
|
139
187
|
<td width="50%" valign="top">
|
|
140
188
|
|
|
141
189
|
### One recorder, everyone watching
|
|
142
|
-
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.
|
|
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.
|
|
143
191
|
|
|
144
192
|
</td>
|
|
145
193
|
</tr>
|
|
@@ -193,7 +241,7 @@ Every "did it differently", every block, every re-check is kept. Anyone in a run
|
|
|
193
241
|
|
|
194
242
|
## A checklist, in twenty lines
|
|
195
243
|
|
|
196
|
-
Checklists are Markdown. Your
|
|
244
|
+
Checklists are Markdown. Your AI assistant writes them; people edit and publish them, in the builder or as Markdown.
|
|
197
245
|
|
|
198
246
|
```markdown
|
|
199
247
|
---
|
|
@@ -243,15 +291,16 @@ A process is one page, with its checklist in the middle:
|
|
|
243
291
|
|
|
244
292
|
- **Read it** the way a run shows it, or switch on **Markdown** to see and copy the source.
|
|
245
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.
|
|
246
|
-
- **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) 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.
|
|
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.
|
|
247
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.
|
|
248
297
|
- **How runs go**: typical time per phase, the steps that go off-script most, and who has held each role.
|
|
249
298
|
|
|
250
299
|
Beside the checklist: whether it's ready for a skill, its skills, its versions and its recent runs.
|
|
251
300
|
|
|
252
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.
|
|
253
302
|
|
|
254
|
-
Saving is careful. A save only goes through if the draft is still exactly what you opened. If a teammate or your
|
|
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.
|
|
255
304
|
|
|
256
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.
|
|
257
306
|
|
|
@@ -259,10 +308,10 @@ Saving is careful. A save only goes through if the draft is still exactly what y
|
|
|
259
308
|
|
|
260
309
|
## Your own step types
|
|
261
310
|
|
|
262
|
-
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:
|
|
263
312
|
|
|
264
313
|
1. **Step types → New step type**, or **Copy to a team type** on any built-in.
|
|
265
|
-
2.
|
|
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.
|
|
266
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.
|
|
267
316
|
|
|
268
317
|
Or describe it to your AI assistant: `/flightdeck-new-step-type a change request the CAB approves, with the change number as evidence`.
|
|
@@ -284,7 +333,7 @@ This is what Flightdeck is for. Outside the team it's usually called **SOP-to-sk
|
|
|
284
333
|
|
|
285
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.
|
|
286
335
|
|
|
287
|
-
**3. Brief your
|
|
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.
|
|
288
337
|
|
|
289
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:
|
|
290
339
|
|
|
@@ -308,10 +357,10 @@ Leave out `steps` for a skill that covers the whole process. A process can have
|
|
|
308
357
|
|---|---|---|
|
|
309
358
|
| **current** | Built from the version in use | Nothing |
|
|
310
359
|
| **note version** | The process changed, but none of this skill's steps did | Move its `implements` forward |
|
|
311
|
-
| **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
|
|
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 |
|
|
312
361
|
| **check it** | It can't be matched: a missing version, a clash, or an unreadable file | Fix the registration |
|
|
313
362
|
|
|
314
|
-
The same rules are in the `flightdeck-skill-brief` skill for your AI assistant, so a brief
|
|
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.
|
|
315
364
|
|
|
316
365
|
</details>
|
|
317
366
|
|
|
@@ -349,7 +398,7 @@ validations/ owners' sign-offs that a version is ready for a skill
|
|
|
349
398
|
suggestions/ decisions on suggested fixes (accepted, declined, reopened), one file per person's window
|
|
350
399
|
step-types/ your team's own step types (create them in the app)
|
|
351
400
|
jira/workflows.json your real Jira workflows, with required fields
|
|
352
|
-
proposals/ planned runs (from the app or your
|
|
401
|
+
proposals/ planned runs (from the app or your AI assistant), waiting for a person to start them
|
|
353
402
|
images/ screenshots that checklists refer to
|
|
354
403
|
AGENTS.md the rules any AI assistant follows in this folder
|
|
355
404
|
.flightdeck/skills/ the Flightdeck skills for your AI assistant
|
|
@@ -357,7 +406,7 @@ AGENTS.md the rules any AI assistant follows in this folder
|
|
|
357
406
|
|
|
358
407
|
</details>
|
|
359
408
|
|
|
360
|
-
Every file has exactly one writer,
|
|
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.
|
|
361
410
|
|
|
362
411
|
<br>
|
|
363
412
|
|
|
@@ -387,7 +436,7 @@ Every file has exactly one writer, so a shared folder never corrupts. Your LLM w
|
|
|
387
436
|
|
|
388
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.
|
|
389
438
|
- **No server to run, no accounts to manage.** Your data is files in a folder you already control.
|
|
390
|
-
- **One writer per file, and checked saves.**
|
|
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.
|
|
391
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.
|
|
392
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`.
|
|
393
442
|
- **Accessible.** Every control has a label, errors sit next to their field, shortcuts can be turned off, and it works with a keyboard.
|
|
@@ -439,6 +488,13 @@ Both. The app's editor and your AI assistant write the same draft files. The app
|
|
|
439
488
|
|
|
440
489
|
</details>
|
|
441
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>
|
|
497
|
+
|
|
442
498
|
<details>
|
|
443
499
|
<summary><b>What's new in each version?</b></summary>
|
|
444
500
|
|