@troylar/flightdeck 1.14.0 → 1.16.0

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,70 @@
2
2
 
3
3
  <!-- Generated by build.py from src/releases.json. Edit that file, not this one. -->
4
4
 
5
+ ## 1.16.0 · Oct 19, 2026
6
+
7
+ Apply a correction to the draft, then see which version has it.
8
+
9
+ ### New
10
+
11
+ - **Review and apply** (Corrections). Review and apply shows what the run's version said, the draft now and the result side by side, then makes the change in the draft and saves it. Only that step changes. If the step changed since the run, you edit or confirm the result first. If the draft already has it, Link this correction records that. A screenshot or a described problem opens the editor at that step instead. *Where:* A process page › Corrections › Review and apply
12
+ - **Choose between two proposals, or combine them** (Corrections). When people suggested different wording for one step, use one of them, or combine them into your own wording. Combining marks each of them as applied. *Where:* Review and apply, on a step with two proposed changes
13
+ - **Undo an applied correction** (Corrections). Applying is one change in the draft editor's history, named for the step, so Undo takes it back. The draft then has unsaved changes until you save it. *Where:* The Undo button in the message, or the draft editor's Undo and History
14
+ - **Changed since applied** (Corrections). A correction applied in Flightdeck remembers what the step said. If the step changes again in the draft, the correction says Changed since applied. *Where:* A process page › Corrections › All
15
+ - **Published in vN** (Corrections). Publishing records which applied corrections the new version includes. A correction then says Published in v5, but only when v5 both lists it and really says it; a later version with other edits never counts. The publish panel says how many corrections the version includes and names any that changed since they were applied. *Where:* A process page › Draft › Publish, and Corrections › All
16
+ - **Changed in vN, and why** (Corrections). In runs of the version that first has a correction, its step says Changed in v5. Why is this here? shows what it said before and after, the reason, the runs that suggested it and who applied it. *Where:* A run › the step's row and the selected step
17
+ - **Hear back about your corrections** (Home). When a correction you suggested is published, Home says so once per version, with View change. When someone declines one, Home says who and why. Dismiss hides it in this browser. *Where:* Home › Your corrections
18
+ - **Say what became of a follow-up** (Follow-ups). Mark a follow-up Done (with a link or note), Moved to a ticket, Moved to another run or plan, or Won't do (with a reason), and Reopen it if that changes. Anyone on the team can. Two people deciding at once shows as Needs review. *Where:* A run › Follow-ups, Home › Your follow-ups, and Runs › Follow-ups
19
+ - **Every follow-up in one list** (Runs). See open follow-ups across all runs, oldest first, with who owns each, how long it's been open and its run. Switch to Yours or All. *Where:* Runs › Follow-ups
20
+ - **Follow-ups open for more than 30 days** (Folder health). Folder health lists follow-ups that have been open for more than 30 days as worth a look, with Review follow-ups. *Where:* Settings › Folder health
21
+ - **Saved history** (Draft editor). History has a This session | Saved history switch. Saved history lists every save of the draft kept in the team folder, from every computer, newest first: who saved it, how (saved, restored from a version, applied a correction), what changed, and where each version was published. A change made outside Flightdeck, by hand or by an AI assistant, is marked where it happened. *Where:* The draft editor › History › Saved history
22
+ - **Reverse a saved change** (Draft editor). Reverse this change takes one saved change back out of the draft, if the lines it added are still there exactly. The draft then has unsaved changes, and Undo takes the reversal back. If the text changed since, Compare shows the change so you can edit it yourself. *Where:* The draft editor › History › Saved history
23
+ - **Saved history of a step type** (Step types). A step type's History has Saved history too, with each save's changes field by field. A field's History shows only its own. *Where:* Step types › a type › History
24
+
25
+ ### Improved
26
+
27
+ - **Steps with open corrections are marked while you edit** (Draft editor). The builder's rows say how many open corrections a step has. The Markdown view lists them above the text, with Go to line for each. *Where:* A process page › Edit
28
+ - **Say which version has an older correction** (Corrections). For a correction applied before 1.16, Flightdeck says it can't confirm which version has it. It's in v5 records that, and Flightdeck still checks that v5 makes the change. *Where:* A process page › Corrections › All
29
+ - **The correction brief quotes what the step said and what was proposed** (Corrections). The brief for your AI assistant quotes From and Proposed as data, lists attached files' paths, and leaves out corrections already published. *Where:* A process page › Corrections › Copy correction brief
30
+ - **Your open follow-ups stay until they're dealt with** (Home). Home lists the open follow-ups you own, however old. Once one is done, moved or won't be done, it drops off. *Where:* Home › Your follow-ups
31
+ - **Follow-ups show where they stand** (Receipt). The receipt and the finish page show each follow-up's status, and the text you copy for Jira says what became of it. *Where:* A run › Receipt
32
+
33
+ ### Fixed
34
+
35
+ - **The example release watches new pods for 20 minutes everywhere** (Examples). The example step's expected result and timing say 20 minutes, and the correction its runs suggest puts the same 20 minutes in its wording. *Where:* The examples › Production release
36
+
37
+ ## 1.15.0 · Oct 18, 2026
38
+
39
+ Team confidence: Folder health, a connection check between computers, and safer updates and backups.
40
+
41
+ ### New
42
+
43
+ - **Folder health** (Team folder). Flightdeck checks every file in the team folder on request and lists what needs a person: conflict copies, OneDrive's second copies, files that can't be read, versions that never finished arriving, runs left for a week, clocks that are off, a folder getting too big. Each has one button for what to do. Home says when something needs action. *Where:* Settings › Folder health, or a run's More menu
44
+ - **Check the connection between two computers** (Team folder). Send a check from one computer and watch the other answer, with each leg timed and whether both have the same revision of the latest run. While the page is open it answers checks by itself; elsewhere a banner offers Answer. If the two clocks differ, it says by how much at least. *Where:* Settings › Connection check
45
+ - **What to do, inside Flightdeck** (Recovery). The guide for when something goes wrong (conflict copies, lost folder access, OneDrive not syncing, restoring a backup, someone leaving) is in the app. Folder health, a run's conflict copies and the top bar's "can't read it" link straight to the right section. *Where:* Settings › When something goes wrong
46
+ - **See what an update would do first** (Command line). Add --check to install or skills to see what would change, without changing anything. It exits with 0 when there's nothing to do, 2 when updates are ready, and 3 when files need merging, so a script can tell. *Where:* flightdeck install <team folder> --check
47
+ - **Back up a team folder** (Command line). flightdeck backup copies the whole team folder to a dated folder in Flightdeck backups in your home folder, or wherever you name with --to. It never copies links and never puts a backup inside the folder it backs up. *Where:* flightdeck backup <team folder>
48
+ - **Start your team, join, or look around** (Getting started). The first screen offers Start your team, Join your team's folder and Look around the examples. Starting walks you through five steps: a shared folder Flightdeck checks it can save in, your people and a backup owner, a first checklist, a first run on your own, and a second computer. *Where:* The first screen; Settings, Start a new team
49
+ - **Getting started on Home until your team is set up** (Getting started). The folder owner sees Getting started, N of 5, with Continue on the next step. Each step ticks itself from what's in the team folder, and a stamp says when your team is set up. *Where:* Home
50
+ - **Join a team folder and choose who you are** (People). Open the team's folder and pick your name from its people. Not on the list? Copy a request to the folder owner. Joining never changes the people list. *Where:* The first screen, Join your team's folder
51
+ - **A folder owner and backup owner keep the people list** (People). The folder owner and backup owner add people, mark them inactive or active, and choose the backup in Settings. IDs are made from names once and never change, and nobody is ever deleted. A change is refused if people.json changed since you opened the page. Roles prevent ordinary mistakes; they aren't security. *Where:* Settings, People
52
+ - **A backup owner can sign off while the owner is away** (Skills). A checklist can name a backup: owner. While its owner is inactive or gone from the people list, the backup owner signs off versions as ready for a skill. Folder health says when a checklist or the folder needs a new owner. *Where:* The process page, Ready for a skill?
53
+
54
+ ### Improved
55
+
56
+ - **install sets up the whole folder, and keeps your changes** (Command line). flightdeck install also adds or updates AGENTS.md and the skills for your AI assistant. Files still at an earlier default are updated; files your team changed are kept. When this version changed them too, the new default goes to .flightdeck/updates/1.15.0/ with a README.md to hand to your AI assistant. Add --app-only to install only the app. *Where:* flightdeck install <team folder>
57
+ - **Install keeps a copy of every file it replaces** (Command line). Before install or skills replaces any file, even with --force, it saves the old one under .flightdeck/updates/<version>/replaced/ and checks the copy, so nothing your team had is lost. *Where:* flightdeck install or skills
58
+ - **AGENTS.md has a place for your team's own notes** (Team folder). Flightdeck's instructions for AI assistants sit between two markers in AGENTS.md. Team notes, below them, are yours: updates never change them. *Where:* AGENTS.md in the team folder
59
+
60
+ ### Fixed
61
+
62
+ - **A new team folder's starter checklist names you as owner** (Team folder). The starter checklist names whoever created the folder as its owner, and the folder records which Flightdeck set it up. *Where:* Settings: Start a new team folder
63
+ - **A file that can't be read is listed, not lost from view** (Runs). The run or draft stays as last read and says its file couldn't be read; nothing is changed or saved over it until it reads again. The Runs page, the run itself and Folder health name the file, and the rest of the folder loads as usual.
64
+ - **Two drafts for one process are both shown** (Processes). The process page lists both and says which one it shows, so you settle it before publishing. Folder health lists them too.
65
+ - **Step types and skills past the limit are reported** (Step types). The first ones by name are read, and the Step types and Skills pages and Folder health say how many weren't.
66
+ - **A deleted run is never written back by itself** (Runs). The run says its file is gone from the team folder, the Runs page marks it, and nothing is saved. Restore it here writes it back only when you choose it, and the run's log says so. *Where:* The run, and Settings › Folder health
67
+ - **A run file that reads again stops saying it can't be read** (Runs). As soon as the file reads again, the run says so and takes changes again. Your waiting change stays on screen with Try again until it's saved.
68
+
5
69
  ## 1.14.0 · Oct 18, 2026
6
70
 
7
71
  Five new step types: Jira sprints, deploys, health checks, GitHub pull requests and measurements.
package/README.md CHANGED
@@ -53,12 +53,26 @@ Flightdeck keeps checklists and run records together, links to skills stored els
53
53
  ```bash
54
54
  npm install -g @troylar/flightdeck
55
55
 
56
- flightdeck open # opens the app on built-in examples
57
- flightdeck install ~/OneDrive/Team # puts flightdeck.html in your team folder
58
- flightdeck skills ~/OneDrive/Team # adds the skills for your AI assistant there
56
+ flightdeck open # opens the app: start your team, join one, or look around the examples
59
57
  ```
60
58
 
61
- Then open `flightdeck.html` from the team folder, go to **Settings → Open team folder**, pick the same folder, and choose who you are in the top right. That's the whole setup.
59
+ **Starting a team?** In the app, choose **Start your team** and pick a new, empty shared OneDrive folder (an empty folder, so nothing already there is replaced). When setup is done, put Flightdeck in that folder so everyone opens the same version:
60
+
61
+ ```bash
62
+ flightdeck install ~/OneDrive/Team # adds flightdeck.html; keeps the AGENTS.md and skills setup wrote
63
+ ```
64
+
65
+ **Joining a team?** Open `flightdeck.html` from your team's folder in Edge or Chrome.
66
+
67
+ The first screen offers three ways in:
68
+
69
+ - **Start your team** (the first person): pick an empty shared OneDrive folder (Flightdeck checks it can save there), add your people and a backup owner, publish a first checklist (Code check-in, Weekly review, blank, or one your AI assistant writes), do a first run on your own, then send a teammate the way in and check that their computer answers. Home shows **Getting started · N of 5** until all five are done; each step ticks itself from what's in the folder.
70
+ - **Join your team's folder** (everyone else): open the folder and choose who you are. Not on the list? Copy a request to the folder owner; only the folder owner and backup owner change `people.json`.
71
+ - **Look around the examples**: a made-up team, saved in this browser only.
72
+
73
+ Setup writes `people.json`, `AGENTS.md` and the skills itself; `flightdeck install` afterwards only adds what's missing or still a default. Run it before setup and the folder isn't empty any more, so setup asks for another one.
74
+
75
+ To update later, run `flightdeck install` again: it updates what's still a Flightdeck default and keeps what your team changed. [Updating Flightdeck](docs/updating.md) walks through it, including backups and mixed versions; [When something goes wrong](docs/recovery.md) covers conflict copies, lost folder access and restoring.
62
76
 
63
77
  > **Prefer no npm?** `flightdeck.html` is self-contained. Copy it anywhere and open it.
64
78
 
@@ -159,7 +173,7 @@ The **Builder** edits a draft as an outline: drag a step or press Alt+Up / Alt+D
159
173
  </td>
160
174
  <td valign="top">
161
175
 
162
- **Corrections** on the process page, grouped by step: the same correction from several runs shows once, "Suggested in 3 runs". Mark one as applied, decline it with a reason, or reopen it, and copy a correction brief for your AI assistant.
176
+ **Corrections** on the process page, grouped by step: the same correction from several runs shows once, "Suggested in 3 runs". **Review and apply** compares what the run's version said, the draft now and the result side by side, then applies it to the draft in one click as one change you can undo; if the draft already has it, **Link this correction**. Mark one as applied, decline it with a reason, or reopen it, and copy a correction brief for your AI assistant. The draft editor marks the steps with open corrections. Publishing records which applied corrections the version includes, so a correction says **Published in v5** once v5 both lists it and says it; runs of v5 show **Changed in v5** on that step, with **Why is this here?**, and Home tells whoever suggested it.
163
177
 
164
178
  <a href="https://github.com/troylar/flightdeck/blob/main/docs/images/corrections-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/corrections-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/corrections-light.png" alt="Corrections on the process page: a wording change suggested in two runs, with the runs listed, and a missing step, each with Mark as applied and Decline, then Copy correction brief"></picture></a>
165
179
 
@@ -231,7 +245,7 @@ A step can **set** a run detail: the merge step records the release tag, and eve
231
245
  <td valign="top">
232
246
 
233
247
  ### Runs that teach the checklist
234
- Every block, every re-check and every step **done differently** (with what happened) is kept. Anyone in a run can **correct a step**: what the checklist said, what it should say, and files to show why. Corrections are part of the run's record and its receipt, and wait on the process page, where anyone marks them applied or declines them with a reason; one click copies a correction 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.
248
+ Every block, every re-check and every step **done differently** (with what happened) is kept. Anyone in a run can **correct a step**: what the checklist said, what it should say, and files to show why. Corrections are part of the run's record and its receipt, and wait on the process page, where anyone applies them to the draft (after a side-by-side comparison), marks them applied or declines them with a reason; one click copies a correction brief for your AI assistant. Once published, a correction says which version has it, and that version's runs say why the step changed. 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.
235
249
 
236
250
  </td>
237
251
  </tr>
@@ -375,12 +389,21 @@ The same rules are in the `flightdeck-skill-brief` skill for your AI assistant,
375
389
  | Command | Does |
376
390
  |---|---|
377
391
  | `flightdeck open` | Opens the app on its built-in examples |
378
- | `flightdeck install <folder>` | Copies `flightdeck.html` into a team folder. Won't replace a newer copy or an unrecognized file without `--force`. Also updates a `preflight.html` already there |
379
- | `flightdeck skills <folder>` | Adds or updates the skills for your AI assistant in `<folder>/.flightdeck/skills`. Leaves files someone changed alone unless you add `--force` |
392
+ | `flightdeck install <folder>` | Copies `flightdeck.html` into a team folder, and adds or updates `AGENTS.md` and the skills for your AI assistant in `.flightdeck/skills`. Won't replace a newer app or an unrecognized file without `--force`. Also updates a `preflight.html` already there |
393
+ | `flightdeck skills <folder>` | Adds or updates only the skills, in `<folder>/.flightdeck/skills` |
380
394
  | `flightdeck skills --to <dir>` | The same, into any other folder you name (absolute or relative), such as your assistant's own skills folder or another repo. `<dir>` is created if it's missing |
395
+ | `flightdeck backup <folder>` | Copies the whole team folder to `~/Flightdeck backups/<folder> backup <date> <time>/`, or under `--to <dir>`. Skips links and temporary files, and refuses a destination inside the folder |
381
396
  | `flightdeck path` | Prints where the app file is |
382
397
  | `flightdeck version` | Prints the version |
383
398
 
399
+ | Option | Does |
400
+ |---|---|
401
+ | `--check` | With `install` or `skills`: lists what would change and changes nothing. Exit code 0: nothing to do; 2: updates to install; 3: files your team changed need merging; 1: a problem |
402
+ | `--app-only` | With `install`: copies only `flightdeck.html` |
403
+ | `--force` | Replaces a newer app, an unrecognized file, or files your team changed. Like every install, it first saves a checked copy of each file it replaces in `.flightdeck/updates/<version>/replaced/` |
404
+
405
+ Install and skills sort every `AGENTS.md` and skill file the same way. A file that's still a Flightdeck default (this version's or an earlier one) is updated. A file your team changed is left alone. If this version changed that file's default too, the new default goes to `.flightdeck/updates/<version>/`, with a `README.md` holding a prompt for your AI assistant to merge it. In `AGENTS.md` only the part between the `flightdeck:begin` and `flightdeck:end` markers is Flightdeck's; Team notes, below it, are never touched. `.flightdeck/installed.json` records which defaults the folder is based on; it can make install more careful, never less. Every file install replaces is first copied to `.flightdeck/updates/<version>/replaced/`. A file that changes while install runs is left alone and install exits with 1. Nothing is written through a link or outside the folder (see [Updating Flightdeck](docs/updating.md) for the limits).
406
+
384
407
  <br>
385
408
 
386
409
  ## The team folder
@@ -391,20 +414,23 @@ The same rules are in the `flightdeck-skill-brief` skill for your AI assistant,
391
414
  <summary><b>The folder, as text</b></summary>
392
415
 
393
416
  ```
394
- people.json who's on the team
417
+ people.json who's on the team, with the folder owner and backup owner
395
418
  maps/drafts/ checklists being written (Markdown)
396
419
  publications/ published versions, frozen (Flightdeck writes these)
397
420
  runs/ one folder per run: run.json, everyone's notes and corrections, attached files
398
421
  skills/ skill registrations: each skill's source, what it implements
399
422
  validations/ owners' sign-offs that a version is ready for a skill
400
423
  corrections/ decisions on corrections (applied, declined, reopened, withdrawn), each a file written once
424
+ followups/ what became of each follow-up (done, moved, won't do, reopened), each a file written once
401
425
  suggestions/ decisions on suggested fixes from before 1.13 (still read)
402
426
  step-types/ your team's own step types (create them in the app)
403
427
  jira/workflows.json your real Jira workflows, with required fields
404
428
  proposals/ planned runs (from the app or your AI assistant), waiting for a person to start them
405
429
  images/ screenshots that checklists refer to
406
- AGENTS.md the rules any AI assistant follows in this folder
430
+ AGENTS.md the rules any AI assistant follows in this folder (your own go under Team notes)
407
431
  .flightdeck/skills/ the Flightdeck skills for your AI assistant
432
+ .flightdeck/installed.json which Flightdeck defaults AGENTS.md and the skills are based on
433
+ .flightdeck/updates/ new defaults waiting to be merged, and copies of files --force replaced
408
434
  ```
409
435
 
410
436
  </details>
@@ -415,7 +441,7 @@ Every file has exactly one writer, which keeps ordinary use of a shared folder f
415
441
 
416
442
  ## Skills for your AI assistant
417
443
 
418
- `flightdeck skills` installs these into the team folder's `.flightdeck/skills/`, or anywhere else with `--to <dir>`. They're plain `SKILL.md` files (a name, a description and instructions), so any assistant that supports skills can use them: install them where your assistant looks for skills, or point it at the folder. Then open the team folder with your assistant and ask for one by name:
444
+ `flightdeck install` puts these in the team folder's `.flightdeck/skills/` (`flightdeck skills` does only the skills), or `flightdeck skills --to <dir>` puts them anywhere else. They're plain `SKILL.md` files (a name, a description and instructions), so any assistant that supports skills can use them: install them where your assistant looks for skills, or point it at the folder. Then open the team folder with your assistant and ask for one by name:
419
445
 
420
446
  | Skill | Does |
421
447
  |---|---|
@@ -498,6 +524,17 @@ Select the step and choose **Correct this step** (or press C): change its wordin
498
524
 
499
525
  </details>
500
526
 
527
+ <details>
528
+ <summary><b>Is Flightdeck secure?</b></summary>
529
+
530
+ It's as private as the OneDrive folder it lives in, and no more. There's no server and no sign-in; nothing leaves your computers except through OneDrive.
531
+
532
+ Roles in Flightdeck prevent ordinary mistakes: only the folder owner and backup owner change the people list, and only a checklist's owner (or its backup owner, while the owner is away) signs off a version. They aren't security. Anyone who can open the team folder can change any file in it, with Flightdeck or without. Who can open it is set by how you share it in OneDrive.
533
+
534
+ Keep secrets, tokens and customer data out of checklists, notes and attachments.
535
+
536
+ </details>
537
+
501
538
  <details>
502
539
  <summary><b>What if someone on the team has a newer Flightdeck?</b></summary>
503
540