@troylar/flightdeck 2.8.0 → 2.10.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 +37 -0
- package/README.md +18 -17
- package/bin/flightdeck.js +7 -1
- package/dist/flightdeck.html +1142 -293
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,43 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- Generated by build.py from src/releases.json. Edit that file, not this one. -->
|
|
4
4
|
|
|
5
|
+
## 2.10.0 · Oct 27, 2026
|
|
6
|
+
|
|
7
|
+
First-time clarity.
|
|
8
|
+
|
|
9
|
+
### New
|
|
10
|
+
|
|
11
|
+
- **Approvals have their own form, and + Add role is where you need it** (Editor). + Add approval in the outline opens a form with the approval's name and who approves; what passing approves is under More approval options. + Add role in the approval, lane and step forms adds a role to the checklist and gives it to that part in one change, with one Undo. *Where:* Editing a draft, an approval, lane or step
|
|
12
|
+
|
|
13
|
+
### Improved
|
|
14
|
+
|
|
15
|
+
- **A shorter step form** (Editor). A step starts with What needs to be done?, Who does it?, Must be done and + Add instructions. A step with a type shows its type and the boxes it usually needs at the top. Guidance, proof, timing, conditions and automation planning are under More options, which stays open on every step once you open it. Anything a step already uses is shown outside it, and a box never moves while you type in it. *Where:* Editing a draft, a step
|
|
16
|
+
- **Must be done and Automation planned are checkboxes** (Editor). Must be done and Automation planned are two checkboxes. Checking one clears the other and says so. The checklist's Markdown is the same as before. *Where:* Editing a draft, a step
|
|
17
|
+
- **The start screen asks who approves** (Runs). A checklist with an approval role opens With others and asks who approves, with a suggestion from earlier runs. On my own says it includes who approves. Start waits until it's chosen and keeps what you typed. *Where:* Starting a run or planning one
|
|
18
|
+
- **Checklists, not Processes** (Everywhere). The app says Checklists and New checklist, and the plain step type is Basic step. Files, IDs, commands and the Markdown are unchanged. The type chooser groups Everyday work, Software tools and commands, and your team's types. *Where:* Navigation, the Checklists page and the step type chooser
|
|
19
|
+
- **A new draft starts on its first step** (Editor). It opens on Preview, and the outline says Add your first step above the add box. A draft with any other problem still opens on Checks. *Where:* Creating a checklist
|
|
20
|
+
|
|
21
|
+
### Fixed
|
|
22
|
+
|
|
23
|
+
- **A detail picked from the suggestions is applied when you leave the box** (Editor). Leaving the box applies it, as typing does. When a box does hold typing that isn't applied, the message is shown beside that box with Apply and Discard, including on a phone, and a closed More options around it opens. *Where:* Editing a draft
|
|
24
|
+
- **Quick add takes ^details** (Editor). A step added from the outline's quick-add box keeps the ^details typed into it. *Where:* Editing a draft, the outline
|
|
25
|
+
|
|
26
|
+
## 2.9.0 · Oct 27, 2026
|
|
27
|
+
|
|
28
|
+
Team values.
|
|
29
|
+
|
|
30
|
+
### New
|
|
31
|
+
|
|
32
|
+
- **Keep the team's shared settings in one place** (Settings). Settings › Team values holds settings the whole team uses, like a Bitbucket base URL, each with what it's for. The folder owner and backup owner add, change and remove them; everyone else sees them. Values are trimmed, and the page reminds you not to store passwords or tokens there. If someone else changed the list first, nothing is saved over it: the list reloads and you make the change again. *Where:* Settings, Team values
|
|
33
|
+
- **Pass a team value to a linked run** (Editor). A child detail's source can be A team value, chosen from the folder's list with what each one is for and what it is now. The Markdown gets pass: base=team:bitbucket-base-url. A name that isn't in the folder is flagged in the editor and stops publishing. *Where:* Editing a draft, a Run another process step
|
|
34
|
+
- **The child gets the team value as it is when it starts** (Runs). The team value is read when the child starts and copied into it, so a later change never changes a started child. One that isn't set is asked for this run. If it changes while you fill in the form or while the child is saved, nothing starts and the form opens again with the new value and your answers. A child that changes it doesn't complete the step. *Where:* The run screen, a Run another process step
|
|
35
|
+
|
|
36
|
+
### Improved
|
|
37
|
+
|
|
38
|
+
- **Link it asks you to confirm team values** (Runs). A run started for a step but never linked can still be linked. On a step that passes team values, Link it shows the run's values and links them only once you confirm them, as shown. If the run changes while you're looking, it shows the new values first. *Where:* The run screen, a run that isn't linked
|
|
39
|
+
- **Folder health checks team-values.json** (Folder health). A team-values.json that can't be read, a conflict copy of it, and a published step whose team value was removed later are each listed with what to do. *Where:* Settings, Folder health
|
|
40
|
+
- **A checklist that passes a team value needs Flightdeck 2.9** (Compatibility). A version that passes a team value, and its runs, open only in Flightdeck 2.9 or later; earlier copies name the version and won't run it. A checklist without one publishes exactly as before. *Where:* Publishing and older copies
|
|
41
|
+
|
|
5
42
|
## 2.8.0 · Oct 26, 2026
|
|
6
43
|
|
|
7
44
|
Nested processes that know what the child needs.
|
package/README.md
CHANGED
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
|
|
33
33
|
## Words this README uses
|
|
34
34
|
|
|
35
|
-
- A **
|
|
35
|
+
- A **checklist** is something your team does, written down; the app lists them under **Checklists** (called Processes before 2.10). Its steps are written as Markdown and published as numbered **versions** (v1, v2, …).
|
|
36
36
|
- A **run** is one time through a checklist. One person **records** it (the **recorder**); everyone else follows along.
|
|
37
37
|
- A **window** is one open Flightdeck tab. Some file names include the window that wrote them.
|
|
38
38
|
- A **run detail** is a value a run carries, like the commit or the release tag. Steps refer to one as `^commit`.
|
|
@@ -64,11 +64,11 @@ flightdeck install ~/OneDrive/Team # adds flightdeck.html; keeps the AGENTS.
|
|
|
64
64
|
|
|
65
65
|
Run it after setup, not before: setup wants an empty folder. Teammates then open `flightdeck.html` from the team folder in Edge or Chrome. Setting the folder up in OneDrive is covered in [Flightdeck and OneDrive](https://github.com/troylar/flightdeck/blob/main/docs/onedrive.md#set-up).
|
|
66
66
|
|
|
67
|
-
**Finding your way around.** The top bar has **Home**, **Runs**, **
|
|
67
|
+
**Finding your way around.** The top bar has **Home**, **Runs**, **Checklists** and **Settings**. **Skills** and **Step types** open from the Checklists page, from Settings and from search (Ctrl+K, or Cmd+K on a Mac), which finds runs, steps, notes, corrections, follow-ups, step types and skills, and keeps its index in memory on your computer.
|
|
68
68
|
|
|
69
|
-
**Home** shows only what's yours, each with one button: the run you're recording, a plan to review, a skill to update, and your open follow-ups. **
|
|
69
|
+
**Home** shows only what's yours, each with one button: the run you're recording, a plan to review, a skill to update, and your open follow-ups. **Checklists** lists every checklist in your team's own groups, with **Filter by tag** and each one's version and last run. **New checklist** starts one.
|
|
70
70
|
|
|
71
|
-
<p align="center"><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 for Casey: the things that need Casey, each with one button, then Your follow-ups with Done, Moved to a ticket, Moved to another run and Won't do" width="49%"></picture></a> <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="
|
|
71
|
+
<p align="center"><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 for Casey: the things that need Casey, each with one button, then Your follow-ups with Done, Moved to a ticket, Moved to another run and Won't do" width="49%"></picture></a> <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="Checklists: the team's checklists grouped by hierarchy, each with its version, when it last ran and its skills, with Filter by tag, and Skills, Step types and New checklist at the top" width="49%"></picture></a></p>
|
|
72
72
|
|
|
73
73
|
## How it works
|
|
74
74
|
|
|
@@ -103,23 +103,23 @@ context: commit
|
|
|
103
103
|
|
|
104
104
|
Two phases, three steps and one gate, plus the final confirmation every checklist gets. `[!]` is a must-do. `{run.command}` is the step's type, so the run shows the command with a Copy button. `^commit` ties a step to a run detail. The gate approves exactly one thing: publishing that commit.
|
|
105
105
|
|
|
106
|
-
You don't have to write Markdown. **New
|
|
106
|
+
You don't have to write Markdown. **New checklist** on the Checklists page asks for a title and opens the editor with the **Add a step** box ready: type a step, press Enter, type the next. The group, tags, run details, roles, owner and file name are under **More options**. You can also start from Code check-in or Weekly review, or copy a prompt for your AI assistant.
|
|
107
107
|
|
|
108
|
-
**Edit** on a
|
|
108
|
+
**Edit** on a checklist's page opens its draft on a page of its own: the **Builder** (an outline) or the **Markdown**, beside **Checks** (what blocks publishing, and what's only a tip) and a **Preview**. Both views edit the same file; the builder changes only the lines you touch and never a step ID. Your AI assistant's changes to a draft you have open, with nothing unsaved, show up within seconds, marked and one Undo away.
|
|
109
109
|
|
|
110
|
-
<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 editor's Builder, with Save draft and Review & publish in the header: the parts box with Phase,
|
|
110
|
+
<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 editor's Builder, with Save draft and Review & publish in the header: the parts box with Phase, Approval, Step, Must-do and All parts; phases as cards with steps as rows and a striped approval bar with Edit approval; and the selected Jenkins job step's form: What needs to be done?, Who does it? with its roles and + Add role, Must be done checked, then its type and Which job? at the top" width="1000"></picture></a>
|
|
111
111
|
|
|
112
|
-
**The step form**
|
|
112
|
+
**The step form** starts short: what needs to be done, who does it, **Must be done**, and **+ Add instructions**. A step with a type shows its type and the boxes it usually needs at the top. Everything else (guidance, proof, timing, conditions, automation planning) is under **More options**, which stays open once you open it; anything a step already uses is shown outside it. Each box asks a question, with a gray example and why it matters, and boxes not shown yet are one click away behind **+ add** buttons. A choice of five or fewer is a row of buttons. **When it's checked, they record** lists exactly what a run will ask for. In the outline, drag a step or press Alt+Up / Alt+Down to move it, and **Undo** and **Redo** step through changes.
|
|
113
113
|
|
|
114
114
|
**Details in any box.** Type `^` in a step's text, a gate's approval or a text field to pick a run detail, or use **Insert a detail**. A misspelled one is marked with a one-click fix ("Use ^environment"), and a detail that may not be set yet at that step says which step sets it. **In a run:** under the box shows it filled in, with the values from your latest run. A caret that isn't a detail, like `grep ^ERROR`, stays as written. To rename a detail everywhere at once, use **Rename** in Checklist details; a linked step in this checklist keeps passing the same value to its child. If another checklist runs this one at its latest and passes the detail by the old name, Rename says so, and Folder health flags that checklist once this version is published, until it's changed to match.
|
|
115
115
|
|
|
116
116
|
<p align="center"><a href="https://github.com/troylar/flightdeck/blob/main/docs/images/autocomplete-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/autocomplete-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/autocomplete-light.png" alt="A Jenkins step's parameters box: typing ^en offers ^environment, a text detail asked when a run starts, or adding ^en as a new run detail" width="49%"></picture></a> <a href="https://github.com/troylar/flightdeck/blob/main/docs/images/rename-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/rename-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/rename-light.png" alt="Checklist details: each run detail with how many places use it and Rename; renaming ^tag to build_tag lists the steps that follow it" width="49%"></picture></a></p>
|
|
117
117
|
|
|
118
|
-
**Run another
|
|
118
|
+
**Run another checklist.** A step can start another checklist as a linked run. Pick the checklist from a list, and say where each of its details comes from: one of this run's details (under another name if you like), a fixed value, or asked when it starts. Publishing checks that against the other checklist as it is now. When you start it, its form opens with what's passed already filled in and asks only what's left (2.8).
|
|
119
119
|
|
|
120
120
|
<p align="center"><a href="https://github.com/troylar/flightdeck/blob/main/docs/images/nested-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/nested-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/nested-light.png" alt="A linked step in the editor: Check in code chosen from a list, Latest when this run starts, and what Check in code needs: branch asked when it starts, commit from this run's ^commit, story from this run's ^ticket" width="38%"></picture></a> <a href="https://github.com/troylar/flightdeck/blob/main/docs/images/child-start-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/child-start-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/child-start-light.png" alt="Starting the Check in code run: commit and story passed from this run, branch asked, and who's doing what" width="60%"></picture></a></p>
|
|
121
121
|
|
|
122
|
-
**Save draft** saves your work. **Review & publish** goes back to the
|
|
122
|
+
**Save draft** saves your work. **Review & publish** goes back to the checklist's page: there you can compare the draft with the last version, write what changed in one line, and choose **Publish vN**. Anything that blocks publishing disables the button; suggestions don't. A save goes through only if the draft is still what you opened; if a teammate changed it meanwhile, nothing is saved and you choose between their version and yours. A shared folder can't lock a file, so edit a draft with one person (or one AI assistant) at a time.
|
|
123
123
|
|
|
124
124
|
<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 as Markdown, with Practice, Save draft and Review & publish in the header: the open corrections with links to their lines, the Markdown on the left, and the Checks and Preview tabs on the right"></picture></a>
|
|
125
125
|
|
|
@@ -129,7 +129,7 @@ You don't have to write Markdown. **New process** on the Processes page asks for
|
|
|
129
129
|
|
|
130
130
|
To rehearse a change with real people before everyone uses it, **stage** it. A staged version is tried by **test runs** while every real run stays on the current default:
|
|
131
131
|
|
|
132
|
-
1. **Stage it.** At the end of Practice, write what changed and choose **Stage it for a test run**; or on the
|
|
132
|
+
1. **Stage it.** At the end of Practice, write what changed and choose **Stage it for a test run**; or on the checklist's page open **All versions** and choose **Stage the draft for testing**. It's written once to `staged/` and never edited.
|
|
133
133
|
2. **Try it.** **Start a test run** on the staged line. A test run is recorded like any run but is labeled **Test run** everywhere it shows, and it's never counted as a real run: How runs go, Home's running number, last-run dates and role rotation leave it out. Its follow-ups and corrections are real.
|
|
134
134
|
3. **Prove it.** The staged line counts clean test runs ("2 of 3 clean test runs"). With three, the owner, or the backup owner while the owner is away, gets **Sign off staged v3**.
|
|
135
135
|
4. **Make it the default.** **Make v3 the default** publishes exactly what was staged as the next version (if someone published meanwhile, it takes the next number and says so). Its clean test runs and sign-off then count for that version.
|
|
@@ -142,7 +142,7 @@ To rehearse a change with real people before everyone uses it, **stage** it. A s
|
|
|
142
142
|
|
|
143
143
|
Publishing freezes the checklist as a numbered version, with who, when and why, in a folder that is written once and never changed. Every run keeps the version it started on, forever, and carries its own copy of the checklist and step types, so it reads the same years later. Before you publish, the panel names anything the draft uses that older copies can't run, under **Needs Flightdeck 2.0** or **Needs Flightdeck 2.1**.
|
|
144
144
|
|
|
145
|
-
A
|
|
145
|
+
A checklist's page shows its steps (as **Checklist**, **Flight plan** or **Markdown**), **Start a run**, **Plan a run**, **How runs go** and its versions; an older version offers **Restore as draft**. Its owner and backup owner also see open corrections, **Ready for a skill?** and its skills; everyone else sees each of those as one line.
|
|
146
146
|
|
|
147
147
|
<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 as its owner sees it: the v2 checklist with skill badges, the Checklist, Flight plan and Markdown views, Edit, Start a run and Plan a run, and the Corrections panel with two open corrections" width="1000"></picture></a>
|
|
148
148
|
|
|
@@ -170,9 +170,9 @@ Every answer keeps who and when, and a re-check keeps the earlier answer as hist
|
|
|
170
170
|
|
|
171
171
|
When the checklist is wrong mid-run, anyone can **Correct this step** (or press C): change its wording with a live Before/After, or choose **Change something else** for a missing step, the order, who does it, a screenshot or removing it, with files to show why. If you already did it another way, **Done differently** asks what happened and offers **Fix the checklist too**.
|
|
172
172
|
|
|
173
|
-
<p align="center"><a href="https://github.com/troylar/flightdeck/blob/main/docs/images/correction-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/correction-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/correction-light.png" alt="Correct this step during a run: what the checklist says, the suggested wording, a Before/After redline, why, Attach for files, and Save correction" width="49%"></picture></a> <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
|
|
173
|
+
<p align="center"><a href="https://github.com/troylar/flightdeck/blob/main/docs/images/correction-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/correction-dark.png"><img src="https://raw.githubusercontent.com/troylar/flightdeck/main/docs/images/correction-light.png" alt="Correct this step during a run: what the checklist says, the suggested wording, a Before/After redline, why, Attach for files, and Save correction" width="49%"></picture></a> <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 checklist's page: a wording change suggested in two runs, with the runs listed, and a missing step, each with Review and apply, Mark as applied and Decline, then Copy correction brief" width="49%"></picture></a></p>
|
|
174
174
|
|
|
175
|
-
Corrections wait on the
|
|
175
|
+
Corrections wait on the checklist's page, grouped by step ("Suggested in 2 runs"). **Review and apply** shows what the run's version said, the draft now and the result side by side, and applies it to the draft as one change you can undo; you can also **Mark as applied**, **Decline** with a reason, or copy a correction brief for your AI assistant. The version that includes it records that, its runs show **Changed in v5** with **Why is this here?**, and Home tells whoever suggested it.
|
|
176
176
|
|
|
177
177
|
**How runs go** shows typical time per phase, the steps that go off-script most, and who has held each role. **Flight plan** draws a version's shape: phases as waypoints, gates as checkpoints, tracks side by side, and, from its runs, typical times, autopilot (steps skills cover) and turbulence (steps that go off-script most).
|
|
178
178
|
|
|
@@ -214,7 +214,7 @@ roles: release-lead, qa, backend
|
|
|
214
214
|
|
|
215
215
|
| Mark | Means |
|
|
216
216
|
|---|---|
|
|
217
|
-
| `[!]` · `[ ]` · `[~]` | Must
|
|
217
|
+
| `[!]` · `[ ]` · `[~]` | Must be done · a step · automation planned |
|
|
218
218
|
| `READ-DO` · `DO-CONFIRM` | How a phase is worked; the app shows "Read, then do" and "Do, then confirm" |
|
|
219
219
|
| `{type}` | The step's type, so it knows its fields and evidence ([Step types](#step-types)) |
|
|
220
220
|
| `@role` · `^detail` | Who does it · a run detail it depends on (change the detail, redo the step) |
|
|
@@ -223,7 +223,7 @@ roles: release-lead, qa, backend
|
|
|
223
223
|
| `## Gate:` · `approves:` | The pause point, and exactly what passing it approves |
|
|
224
224
|
| `### Track: Name @role` | Parallel work inside a phase |
|
|
225
225
|
| `at:` · `due:` · `after:` | A clock time, a deadline, or a due time after the run starts |
|
|
226
|
-
| `{run.process}` · `carry:` · `pass:` · `version:` | Start another process as a linked child run, passing these details (under another name, as a fixed value, or asked when it starts, with `pass:`, 2.8), on an exact version if you name one |
|
|
226
|
+
| `{run.process}` · `carry:` · `pass:` · `version:` | Start another process as a linked child run, passing these details (under another name, as a fixed value, or asked when it starts, with `pass:`, 2.8; or a team value, `team:`, 2.9), on an exact version if you name one |
|
|
227
227
|
| `group:` · `tags:` | Where the process sits in your hierarchy, and how to find it |
|
|
228
228
|
| `context: rows:number, due:date` | Typed run details (number, yes-no, date, choice, link), checked as they're typed |
|
|
229
229
|
| `> note` · `` | A note or screenshot, under a step, a phase or a gate |
|
|
@@ -250,7 +250,7 @@ This is what Flightdeck is for. Outside the team it's usually called **SOP-to-sk
|
|
|
250
250
|
|
|
251
251
|
<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 or backup 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>
|
|
252
252
|
|
|
253
|
-
**1. Prove a version.** **Ready for a skill?** on the
|
|
253
|
+
**1. Prove a version.** **Ready for a skill?** on the checklist's page counts clean runs. A run is clean only when it ended Completed; every covered step was done; every gate on that work (and the one before it) was passed; nothing was blocked, re-checked, marked N/A or done differently, even in answers since archived; it has no unresolved conflict copies; and it kept a full record of deviations from its start (runs from before 1.9.0 can't show that). A step the run didn't need isn't held against it. A test run counts only for its staged version and the version made from exactly what was staged.
|
|
254
254
|
|
|
255
255
|
**2. Sign off.** With three clean runs, the process owner signs the version off. The backup owner's sign-off counts too, recorded as the backup's, and Flightdeck offers it only while the owner is away (marked inactive or no longer on the team). A sign-off counts only for that exact published version, or, with **Sign off staged v3**, for the staged version and the version made from it.
|
|
256
256
|
|
|
@@ -308,6 +308,7 @@ More in [Flightdeck and OneDrive](https://github.com/troylar/flightdeck/blob/mai
|
|
|
308
308
|
|
|
309
309
|
```
|
|
310
310
|
people.json who's on the team, with the folder owner and backup owner
|
|
311
|
+
team-values.json shared settings like a Bitbucket base URL, changed in Settings by the folder owner and backup owner
|
|
311
312
|
maps/drafts/ checklists being written (Markdown)
|
|
312
313
|
publications/ published versions, frozen (Flightdeck writes these)
|
|
313
314
|
staged/ staged versions only test runs use, and each retire or reopen, written once
|
package/bin/flightdeck.js
CHANGED
|
@@ -1515,7 +1515,13 @@ async function draftMain(argv) {
|
|
|
1515
1515
|
(p ? p.broken : []).forEach((x) => { if (!x._readFailed) { const k = PF.appjson.pubProblem(x); L.note('publications/' + n + '/' + x.folder + '/', k.kind, k.why); } });
|
|
1516
1516
|
} catch (e) { procs[n] = { latest: null, all: [], clashes: [], broken: [], unlisted: 'publications/' + n + '/ couldn\'t be read' }; }
|
|
1517
1517
|
}
|
|
1518
|
-
|
|
1518
|
+
/* Team values (2.9), through the same ledger: a failed read is noted by the ledger; damaged or newer content here. */
|
|
1519
|
+
let tv;
|
|
1520
|
+
if (M.steps(map).some((x) => x.step.type === 'run.process' && PF.links.teams(x.step).length)) {
|
|
1521
|
+
tv = await PF.repo.readTeamValues(rfs);
|
|
1522
|
+
if (tv.state === 'malformed' || tv.state === 'newer') L.note(PF.teamValues.FILE, tv.state, tv.why);
|
|
1523
|
+
}
|
|
1524
|
+
const c = M.check(map, { people: [], types: {}, workflows: {}, processes: [], children: PF.links.childrenFrom(procs), teamValues: tv });
|
|
1519
1525
|
return { checks: { blockers: c.blockers, suggestions: c.suggestions }, problems: L.problems() };
|
|
1520
1526
|
};
|
|
1521
1527
|
/* Every problem once: the draft's reads, then the children's. */
|