@kidlat-dakila/flightplan 0.1.6 → 0.1.8

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.
Files changed (178) hide show
  1. package/README.md +31 -16
  2. package/backend/configurations/default-configurations/minimal/context.md +9 -54
  3. package/backend/configurations/default-configurations/minimal/traceDiagram.nodes.blockLabels.label.md +19 -0
  4. package/backend/configurations/default-configurations/minimal/{journey.nodes.description.md → traceDiagram.nodes.description.md} +1 -1
  5. package/backend/configurations/default-configurations/minimal/walkthrough.files.waypoints.reading.md +1 -1
  6. package/backend/configurations/default-configurations/onboardee/context.md +16 -62
  7. package/backend/configurations/default-configurations/onboardee/traceDiagram.description.md +16 -0
  8. package/backend/configurations/default-configurations/onboardee/traceDiagram.nodes.blockLabels.label.md +11 -0
  9. package/backend/configurations/default-configurations/onboardee/{journey.nodes.description.md → traceDiagram.nodes.description.md} +1 -1
  10. package/backend/configurations/default-configurations/onboardee/walkthrough.files.waypoints.reading.md +1 -1
  11. package/backend/configurations/default-configurations/standard/context.md +16 -62
  12. package/backend/configurations/default-configurations/standard/traceDiagram.description.md +16 -0
  13. package/backend/configurations/default-configurations/standard/traceDiagram.nodes.blockLabels.label.md +11 -0
  14. package/backend/configurations/default-configurations/standard/{journey.nodes.description.md → traceDiagram.nodes.description.md} +1 -1
  15. package/backend/configurations/default-configurations/standard/walkthrough.files.waypoints.reading.md +1 -1
  16. package/backend/configurations/default-configurations/unfamiliar-territory/context.md +16 -62
  17. package/backend/configurations/default-configurations/unfamiliar-territory/traceDiagram.description.md +16 -0
  18. package/backend/configurations/default-configurations/unfamiliar-territory/traceDiagram.nodes.blockLabels.label.md +11 -0
  19. package/backend/configurations/default-configurations/unfamiliar-territory/{journey.nodes.description.md → traceDiagram.nodes.description.md} +1 -1
  20. package/backend/configurations/default-configurations/unfamiliar-territory/walkthrough.files.waypoints.reading.md +1 -1
  21. package/backend/configurations/system-instructions/artifactFormat.md +20 -16
  22. package/backend/configurations/system-instructions/{blast.md → blastDiagram.md} +5 -5
  23. package/backend/configurations/system-instructions/context.md +18 -9
  24. package/backend/configurations/system-instructions/title.md +36 -4
  25. package/backend/configurations/system-instructions/traceDiagram.description.md +14 -0
  26. package/backend/configurations/system-instructions/{journey.md → traceDiagram.md} +8 -8
  27. package/backend/configurations/system-instructions/traceDiagram.nodes.blockLabels.label.md +6 -0
  28. package/backend/configurations/system-instructions/walkthrough.files.md +5 -11
  29. package/backend/configurations/system-instructions/walkthrough.files.waypoints.coreChange.md +7 -0
  30. package/backend/configurations/system-instructions/walkthrough.files.waypoints.md +3 -3
  31. package/backend/configurations/system-instructions/walkthrough.md +6 -8
  32. package/backend/main.js +56748 -44939
  33. package/backend/plugin/skills/live/SKILL.md +79 -0
  34. package/backend/plugin/skills/review/SKILL.md +39 -52
  35. package/frontend/assets/_branchId-Caxyy__g.js +1 -0
  36. package/frontend/assets/_branchId-IJ4VEzEl.js +1 -0
  37. package/frontend/assets/_id-3L9ONe4W.js +1 -0
  38. package/frontend/assets/_id-CvORsoNj.js +1 -0
  39. package/frontend/assets/agents-DnjhKMUc.js +1 -0
  40. package/frontend/assets/agents-bla75JmI.js +1 -0
  41. package/frontend/assets/create-B82q7ZMu.js +1 -0
  42. package/frontend/assets/create-C9yw-thL.js +1 -0
  43. package/frontend/assets/{create-DBv4ZLt7.js → create-CEpA1s8S.js} +1 -1
  44. package/frontend/assets/create-D0h6PRxn.js +1 -0
  45. package/frontend/assets/download-CwWMZwNG.js +1 -0
  46. package/frontend/assets/forges-BH3uXIQL.js +1 -0
  47. package/frontend/assets/forges-uSh1-w20.js +1 -0
  48. package/frontend/assets/index--nj01XKS.js +1 -0
  49. package/frontend/assets/index-0VAWT0gs.js +1 -0
  50. package/frontend/assets/index-B0zuYONu.js +1 -0
  51. package/frontend/assets/{index-XcYy-NBi.js → index-BQaZ5gZR.js} +1 -1
  52. package/frontend/assets/{index-CZN7BV83.js → index-BZ6iL63Z.js} +1 -1
  53. package/frontend/assets/index-Bar8NyIm.js +1 -0
  54. package/frontend/assets/{index-efpZ6EEe.js → index-BlTfCkr5.js} +1 -1
  55. package/frontend/assets/{index-Dn9qaXzX.js → index-BvuPClj3.js} +1 -1
  56. package/frontend/assets/index-C9xsdcXo.js +1 -0
  57. package/frontend/assets/index-CJDNq1TA.js +1 -0
  58. package/frontend/assets/index-CJslcuJ0.js +1 -0
  59. package/frontend/assets/index-CTKqkqZN.css +1 -0
  60. package/frontend/assets/index-CXyB0ld0.js +1 -0
  61. package/frontend/assets/{index-DyfuBbIJ.js → index-CcORd1N6.js} +1 -1
  62. package/frontend/assets/index-CrAQ5_e4.js +1 -0
  63. package/frontend/assets/index-DG0FDX8u.js +1 -0
  64. package/frontend/assets/index-DKnoo-kT.js +455 -0
  65. package/frontend/assets/{index-s14Wy6CE.js → index-DKzDkR6v.js} +1 -1
  66. package/frontend/assets/{index-CR5UGYQN.js → index-DfKNJbUM.js} +75 -62
  67. package/frontend/assets/{index-BaflOxvR.js → index-DlUHisPA.js} +1 -1
  68. package/frontend/assets/index-Dv5cF6qF.js +1 -0
  69. package/frontend/assets/index-JPWJ3IiN.js +1 -0
  70. package/frontend/assets/index-V1avMli5.js +6 -0
  71. package/frontend/assets/index-iRAoFOv3.js +1 -0
  72. package/frontend/assets/repositories-DqGU7W63.js +1 -0
  73. package/frontend/assets/repositories-DuObN8PJ.js +1 -0
  74. package/frontend/assets/review-BbbMUFsk.js +1 -0
  75. package/frontend/assets/review-C3k0h5Vl.js +1 -0
  76. package/frontend/assets/route-D8s8AylJ.js +1 -0
  77. package/frontend/favicon.ico +0 -0
  78. package/frontend/favicon.svg +5 -0
  79. package/frontend/index.html +10 -3
  80. package/frontend/logo.svg +5 -0
  81. package/frontend/not-found.svg +25 -0
  82. package/frontend/server-error.svg +32 -0
  83. package/package.json +5 -2
  84. package/published-review/app.css +1 -1
  85. package/published-review/app.js +134 -99
  86. package/backend/configurations/default-configurations/minimal/journey.nodes.blockLabels.label.md +0 -13
  87. package/backend/configurations/default-configurations/minimal/walkthrough.files.title.md +0 -7
  88. package/backend/configurations/default-configurations/minimal/walkthrough.intro.md +0 -4
  89. package/backend/configurations/default-configurations/onboardee/journey.description.md +0 -10
  90. package/backend/configurations/default-configurations/onboardee/journey.nodes.blockLabels.label.md +0 -9
  91. package/backend/configurations/default-configurations/onboardee/walkthrough.files.title.md +0 -7
  92. package/backend/configurations/default-configurations/onboardee/walkthrough.intro.md +0 -5
  93. package/backend/configurations/default-configurations/standard/journey.description.md +0 -10
  94. package/backend/configurations/default-configurations/standard/journey.nodes.blockLabels.label.md +0 -9
  95. package/backend/configurations/default-configurations/standard/walkthrough.files.title.md +0 -7
  96. package/backend/configurations/default-configurations/standard/walkthrough.intro.md +0 -5
  97. package/backend/configurations/default-configurations/unfamiliar-territory/journey.description.md +0 -10
  98. package/backend/configurations/default-configurations/unfamiliar-territory/journey.nodes.blockLabels.label.md +0 -9
  99. package/backend/configurations/default-configurations/unfamiliar-territory/walkthrough.files.title.md +0 -7
  100. package/backend/configurations/default-configurations/unfamiliar-territory/walkthrough.intro.md +0 -5
  101. package/backend/configurations/system-instructions/journey.description.md +0 -14
  102. package/backend/configurations/system-instructions/journey.nodes.blockLabels.label.md +0 -6
  103. package/backend/configurations/system-instructions/walkthrough.files.summary.md +0 -4
  104. package/backend/configurations/system-instructions/walkthrough.files.title.md +0 -2
  105. package/backend/configurations/system-instructions/walkthrough.files.waypoints.needsAttention.md +0 -8
  106. package/backend/configurations/system-instructions/walkthrough.intro.md +0 -3
  107. package/frontend/assets/_branchId-CPb8-qBw.js +0 -1
  108. package/frontend/assets/_branchId-LiwHskkW.js +0 -1
  109. package/frontend/assets/_id-BDFgPH36.js +0 -1
  110. package/frontend/assets/_id-DlHylI1F.js +0 -1
  111. package/frontend/assets/agents-BGNiGYQQ.js +0 -1
  112. package/frontend/assets/agents-DBPulyWi.js +0 -1
  113. package/frontend/assets/configuration-C8ZTSPna.js +0 -1
  114. package/frontend/assets/configuration-DBU-Fvop.js +0 -1
  115. package/frontend/assets/create-BWsYjEs5.js +0 -1
  116. package/frontend/assets/create-DBNC2wSp.js +0 -1
  117. package/frontend/assets/create-DXgFUVIW.js +0 -1
  118. package/frontend/assets/download-BnmEn_Ca.js +0 -1
  119. package/frontend/assets/forges-BOWrvfZl.js +0 -1
  120. package/frontend/assets/forges-DwSiwqas.js +0 -1
  121. package/frontend/assets/index-B1Rm0SQ5.js +0 -1
  122. package/frontend/assets/index-BKKD-dvv.js +0 -1
  123. package/frontend/assets/index-CSoB1eP_.js +0 -1
  124. package/frontend/assets/index-CUqlioqL.js +0 -1
  125. package/frontend/assets/index-CeY9TXPf.js +0 -1
  126. package/frontend/assets/index-CydhSU9g.js +0 -1
  127. package/frontend/assets/index-D-k5POv5.js +0 -1
  128. package/frontend/assets/index-DCCyA67N.js +0 -1
  129. package/frontend/assets/index-DfRj4oZV.js +0 -441
  130. package/frontend/assets/index-Dw5NpM9d.js +0 -1
  131. package/frontend/assets/index-PzkXPYSX.js +0 -1
  132. package/frontend/assets/index-QabB0_Qw.js +0 -1
  133. package/frontend/assets/index-V8tnJR9v.js +0 -1
  134. package/frontend/assets/index-ec_xLUMF.css +0 -1
  135. package/frontend/assets/index-zxLaxo8R.js +0 -1
  136. package/frontend/assets/repositories-BLLfYDjf.js +0 -1
  137. package/frontend/assets/repositories-of9BXUjW.js +0 -1
  138. package/frontend/assets/route-X94hglR1.js +0 -1
  139. package/frontend/logo-small.png +0 -0
  140. package/frontend/logo.png +0 -0
  141. /package/backend/configurations/default-configurations/minimal/{blast.nodes.impactReason.md → blastDiagram.nodes.impactReason.md} +0 -0
  142. /package/backend/configurations/default-configurations/minimal/{blast.nodes.impactType.behaviour-changes.md → blastDiagram.nodes.impactType.behaviour-changes.md} +0 -0
  143. /package/backend/configurations/default-configurations/minimal/{blast.nodes.impactType.breaks.md → blastDiagram.nodes.impactType.breaks.md} +0 -0
  144. /package/backend/configurations/default-configurations/minimal/{blast.nodes.impactType.md → blastDiagram.nodes.impactType.md} +0 -0
  145. /package/backend/configurations/default-configurations/minimal/{blast.nodes.impactType.unaffected.md → blastDiagram.nodes.impactType.unaffected.md} +0 -0
  146. /package/backend/configurations/default-configurations/minimal/{journey.description.md → traceDiagram.description.md} +0 -0
  147. /package/backend/configurations/default-configurations/minimal/{journey.nodes.label.md → traceDiagram.nodes.label.md} +0 -0
  148. /package/backend/configurations/default-configurations/minimal/{journey.nodes.triggerLabels.label.md → traceDiagram.nodes.triggerLabels.label.md} +0 -0
  149. /package/backend/configurations/default-configurations/minimal/{walkthrough.files.waypoints.needsAttention.md → walkthrough.files.waypoints.coreChange.md} +0 -0
  150. /package/backend/configurations/default-configurations/onboardee/{blast.nodes.impactReason.md → blastDiagram.nodes.impactReason.md} +0 -0
  151. /package/backend/configurations/default-configurations/onboardee/{blast.nodes.impactType.behaviour-changes.md → blastDiagram.nodes.impactType.behaviour-changes.md} +0 -0
  152. /package/backend/configurations/default-configurations/onboardee/{blast.nodes.impactType.breaks.md → blastDiagram.nodes.impactType.breaks.md} +0 -0
  153. /package/backend/configurations/default-configurations/onboardee/{blast.nodes.impactType.md → blastDiagram.nodes.impactType.md} +0 -0
  154. /package/backend/configurations/default-configurations/onboardee/{blast.nodes.impactType.unaffected.md → blastDiagram.nodes.impactType.unaffected.md} +0 -0
  155. /package/backend/configurations/default-configurations/onboardee/{journey.nodes.label.md → traceDiagram.nodes.label.md} +0 -0
  156. /package/backend/configurations/default-configurations/onboardee/{journey.nodes.triggerLabels.label.md → traceDiagram.nodes.triggerLabels.label.md} +0 -0
  157. /package/backend/configurations/default-configurations/onboardee/{walkthrough.files.waypoints.needsAttention.md → walkthrough.files.waypoints.coreChange.md} +0 -0
  158. /package/backend/configurations/default-configurations/standard/{blast.nodes.impactReason.md → blastDiagram.nodes.impactReason.md} +0 -0
  159. /package/backend/configurations/default-configurations/standard/{blast.nodes.impactType.behaviour-changes.md → blastDiagram.nodes.impactType.behaviour-changes.md} +0 -0
  160. /package/backend/configurations/default-configurations/standard/{blast.nodes.impactType.breaks.md → blastDiagram.nodes.impactType.breaks.md} +0 -0
  161. /package/backend/configurations/default-configurations/standard/{blast.nodes.impactType.md → blastDiagram.nodes.impactType.md} +0 -0
  162. /package/backend/configurations/default-configurations/standard/{blast.nodes.impactType.unaffected.md → blastDiagram.nodes.impactType.unaffected.md} +0 -0
  163. /package/backend/configurations/default-configurations/standard/{journey.nodes.label.md → traceDiagram.nodes.label.md} +0 -0
  164. /package/backend/configurations/default-configurations/standard/{journey.nodes.triggerLabels.label.md → traceDiagram.nodes.triggerLabels.label.md} +0 -0
  165. /package/backend/configurations/default-configurations/standard/{walkthrough.files.waypoints.needsAttention.md → walkthrough.files.waypoints.coreChange.md} +0 -0
  166. /package/backend/configurations/default-configurations/unfamiliar-territory/{blast.nodes.impactReason.md → blastDiagram.nodes.impactReason.md} +0 -0
  167. /package/backend/configurations/default-configurations/unfamiliar-territory/{blast.nodes.impactType.behaviour-changes.md → blastDiagram.nodes.impactType.behaviour-changes.md} +0 -0
  168. /package/backend/configurations/default-configurations/unfamiliar-territory/{blast.nodes.impactType.breaks.md → blastDiagram.nodes.impactType.breaks.md} +0 -0
  169. /package/backend/configurations/default-configurations/unfamiliar-territory/{blast.nodes.impactType.md → blastDiagram.nodes.impactType.md} +0 -0
  170. /package/backend/configurations/default-configurations/unfamiliar-territory/{blast.nodes.impactType.unaffected.md → blastDiagram.nodes.impactType.unaffected.md} +0 -0
  171. /package/backend/configurations/default-configurations/unfamiliar-territory/{journey.nodes.label.md → traceDiagram.nodes.label.md} +0 -0
  172. /package/backend/configurations/default-configurations/unfamiliar-territory/{journey.nodes.triggerLabels.label.md → traceDiagram.nodes.triggerLabels.label.md} +0 -0
  173. /package/backend/configurations/default-configurations/unfamiliar-territory/{walkthrough.files.waypoints.needsAttention.md → walkthrough.files.waypoints.coreChange.md} +0 -0
  174. /package/backend/configurations/system-instructions/{blast.nodes.impactReason.md → blastDiagram.nodes.impactReason.md} +0 -0
  175. /package/backend/configurations/system-instructions/{blast.nodes.impactType.md → blastDiagram.nodes.impactType.md} +0 -0
  176. /package/backend/configurations/system-instructions/{journey.nodes.description.md → traceDiagram.nodes.description.md} +0 -0
  177. /package/backend/configurations/system-instructions/{journey.nodes.label.md → traceDiagram.nodes.label.md} +0 -0
  178. /package/backend/configurations/system-instructions/{journey.nodes.triggerLabels.label.md → traceDiagram.nodes.triggerLabels.label.md} +0 -0
@@ -20,9 +20,9 @@ diff marks. The reviewer is already reading it while you write.
20
20
  | You write | Flight Plan already set |
21
21
  |---|---|
22
22
  | A segment's title and its context | The title, copied from the change |
23
- | A File Section's title and summary, and the order of the File Sections | Which files have a section, and their paths |
24
- | A waypoint's title, reading, needs-attention note and findings | Which waypoints exist, the declaration each is about, and its lines |
25
- | A Journey Flow Diagram's description, a node's label and description, and the label of each of its trigger labels | Which nodes exist, how they connect, which node is inside which, and which trigger labels a node has |
23
+ | | Which files have a section, their paths and their order |
24
+ | A waypoint's title, reading, core-change note and findings | Which waypoints exist, the declaration each is about, and its lines |
25
+ | A Trace Diagram's description, a node's label and description, and the label of each of its trigger labels | Which nodes exist, how they connect, which node is inside which, and which trigger labels a node has |
26
26
  | A Blast Diagram file's impact type and impact reason, on a file the change did not touch | Which files exist, which the change touched and how they import each other |
27
27
  | A context code block's description, where the block is required | Which code blocks are listed, and which are required |
28
28
  | A `code:` link in a sentence | The code a link shows, and every diff mark |
@@ -31,6 +31,16 @@ diff marks. The reviewer is already reading it while you write.
31
31
  So: **you change words, never structure.** No tool can add, remove or reparent a
32
32
  file, a waypoint or a node, and no tool takes a line number for a waypoint.
33
33
 
34
+ ## What this review asks you to write
35
+
36
+ Each node says whether this review asks you to write it: `isRequired` on a
37
+ waypoint, a Trace Diagram node, a Trace Diagram (its description) and a Blast
38
+ Diagram file, and `isContextRequired` on a segment (its title and context).
39
+ Write only the nodes marked `true`. A write to any other node is refused.
40
+ `nodes` lists only the work on required nodes, and `complete` succeeds once
41
+ every required node is written. The reviewer can ask for more later; those
42
+ nodes are then marked required, and Flight Plan tells you.
43
+
34
44
  ## The shape
35
45
 
36
46
  ```jsonc
@@ -43,11 +53,10 @@ file, a waypoint or a node, and no tool takes a line number for a waypoint.
43
53
  "id": "3f9a1c2e",
44
54
  "title": "<a very short text of the context>",
45
55
  "context": "<Markdown>",
46
- "journey": { "description": "…", "nodes": [...], "edges": [...] }, // or null when the segment has none
47
- "blast": { "nodes": [...], "edges": [...], "importBound": { "nodes": [...], "edges": [...] } }, // or null when the segment has none
56
+ "traceDiagram": { "description": "…", "nodes": [...], "edges": [...] }, // or null when the segment has none
57
+ "blastDiagram": { "nodes": [...], "edges": [...], "importBound": { "nodes": [...], "edges": [...] } }, // or null when the segment has none
48
58
  "walkthrough": {
49
- "intro": "…",
50
- "files": [{ "path": "…", "title": "…", "summary": ["…"], "waypoints": [...] }]
59
+ "files": [{ "path": "…", "waypoints": [...] }]
51
60
  }
52
61
  }
53
62
  ],
@@ -73,7 +82,7 @@ names a `segmentId`, and any segment of the artifact will do.
73
82
  | `get-instructions` | How to write each field, for the configuration the reviewer chose |
74
83
  | `read` | One part of the artifact: `overview` to get oriented, `diff` for the change |
75
84
  | `nodes` | What is still unwritten, each piece with the code it covers |
76
- | `update-nodes` | Every word you write, on one segment, in one batch: its title, context, intro, file order and Journey Flow Diagram description by name, and its waypoints, File Sections, diagram nodes and context code blocks by id. Answers with how many nodes are complete and how many are not |
85
+ | `update-nodes` | Every word you write, on one segment, in one batch: its title, context and Trace Diagram description by name, and its waypoints, diagram nodes and context code blocks by id. Answers with how many nodes are complete and how many are not |
77
86
  | `complete` | Says the artifact is finished, and checks it |
78
87
 
79
88
  ## What is refused
@@ -81,10 +90,6 @@ names a `segmentId`, and any segment of the artifact will do.
81
90
  A refused write changes nothing. A batch is all or nothing: one bad entry writes
82
91
  none of it, and the refusal names the entry.
83
92
 
84
- - Anything of a section the reviewer chose not to generate: a Journey Flow
85
- Diagram node or description, a Blast Diagram file, a finding. `get-instructions`
86
- with no fields says which sections are on. A section that is off is not asked
87
- of you on `complete` either.
88
93
  - An id or a path the artifact does not have.
89
94
  - A `segmentId` the artifact does not have, or an id that is not in the segment
90
95
  the call names.
@@ -93,11 +98,10 @@ none of it, and the refusal names the entry.
93
98
  - A `question` carrying a trace or a solution.
94
99
  - An `impactType` or an `impactReason` on a file of the change.
95
100
  - A `breaks` or a `behaviour-changes` with no `impactReason`, or an `impactReason` on an `unaffected` file.
96
- - A file order that does not name every File Section exactly once.
97
- - A `journeyDescription` on a segment that has no Journey Flow Diagram.
101
+ - A `traceDiagramDescription` on a segment that has no Trace Diagram.
98
102
  - A `position` on a nested waypoint, past the end of its file, or given to two
99
103
  waypoints of one file.
100
- - On `complete`: an empty context, a segment with no title, a File Section still titled with its path, a
101
- waypoint with no title or no reading, a Journey Flow Diagram with no description, a Journey Flow Diagram node or one of its trigger labels with no
104
+ - On `complete`: an empty context, a segment with no title, a
105
+ waypoint with no title or no reading, a Trace Diagram with no description, a Trace Diagram node or one of its trigger labels with no
102
106
  label, a file the change reaches that nobody assessed, or a `bug`, `risk` or
103
107
  `nit` with no solution.
@@ -1,8 +1,8 @@
1
1
  The Blast Diagram: the files the change is connected to through imports. A
2
- segment's `blast` is an object with `nodes` and `edges`, or `null` when the
2
+ segment's `blastDiagram` is an object with `nodes` and `edges`, or `null` when the
3
3
  segment has no diagram.
4
4
 
5
- It answers a different question from the Journey Flow Diagram. The journey is a
5
+ It answers a different question from the Trace Diagram. The trace is a
6
6
  **trace**: one path through the change, in the order the code runs. The blast is
7
7
  **reach**: every file that uses what changed in a changed file, directly or
8
8
  through other files.
@@ -11,7 +11,7 @@ It exists for one question the reviewer cannot answer from the diff: **did the
11
11
  author forget something?** A file nobody touched can stop working, or start
12
12
  doing something else, because of what changed under it.
13
13
 
14
- A `blast` can also hold `importBound`, with `nodes` and `edges` of its own: the
14
+ A `blastDiagram` can also hold `importBound`, with `nodes` and `edges` of its own: the
15
15
  files the change uses, and the files those use. It is the other direction of
16
16
  the same diagram. Read it to see what the change relies on. Write nothing in
17
17
  it: a file the change uses cannot be affected by the change.
@@ -30,8 +30,8 @@ You write two fields, only on a file the change did not touch:
30
30
  | `impactType` | What the change does to this file: `breaks`, `behaviour-changes` or `unaffected`. |
31
31
  | `impactReason` | On `breaks` and `behaviour-changes` only: why, in one or two sentences a reviewer can check against the code. |
32
32
 
33
- Write them with `update-nodes { segmentId, blast: [{ path, impactType, impactReason }] }`,
34
- and an unaffected file with `update-nodes { segmentId, blast: [{ path, impactType: "unaffected" }] }`.
33
+ Write them with `update-nodes { segmentId, blastDiagram: [{ path, impactType, impactReason }] }`,
34
+ and an unaffected file with `update-nodes { segmentId, blastDiagram: [{ path, impactType: "unaffected" }] }`.
35
35
  A file of the change takes neither: it is the change.
36
36
 
37
37
  An unaffected file takes no reason. The page says the same sentence for every
@@ -1,22 +1,31 @@
1
1
  The Context Section, the first thing a reviewer reads, before any code: one
2
- string of Markdown. It says what the change is about and why it matters, what
3
- changes from outside the code, and what changed inside it. How it is laid out is
4
- the configuration's to say.
2
+ string of Markdown per segment. It says what the segment's change does. What
3
+ changed in the segment's files is Flight Plan's to show: the Change Overview
4
+ under the context lists every piece of code the segment adds, modifies and
5
+ removes. How the context is laid out is the configuration's to say.
5
6
 
6
7
  Write it with `update-nodes { segmentId, context }`. Writing it replaces the whole
7
- string, and a finished artifact has one that is not empty.
8
+ string of that segment, and a finished artifact has one that is not empty in
9
+ every segment whose context is required.
10
+
11
+ When the reviewer turned segments off, the page shows the whole change as one
12
+ segment, and only the first segment's context is required. It is the one
13
+ Context the reviewer reads, so it covers every segment's change.
8
14
 
9
15
  ## The Markdown that is shown
10
16
 
11
17
  | Written | Shown as |
12
18
  |---|---|
13
- | `## Heading` | a heading inside the section |
19
+ | `## Heading` or `### Heading` | a heading inside the section |
14
20
  | a paragraph | a paragraph |
15
- | `- item` or `1. item` | a list, one level deep |
21
+ | `- item` or `1. item` | a list, with one level of sub-items |
16
22
  | `**bold**` | bold text |
17
23
  | `` `code` `` | inline code |
18
24
  | `[label](code:path#target)` | a code link |
25
+ | `:::accordion`, then `::section <name>` lines, then `:::` | an accordion, collapsed, one section per `::section` line, each holding the lines under it |
26
+ | `:::tabs`, then `::tab <name>` lines, then `:::` | tabs, one per `::tab` line, each holding the lines under it |
19
27
 
20
- Nothing else is shown: a fenced code block, a table, an image, a quote and a
21
- list inside a list are dropped or flattened. The section's own heading is
22
- already there, so the string never opens with one.
28
+ Nothing else is shown: a fenced code block, a table, an image and a quote are
29
+ dropped or flattened. A sub-item holds no list of its own, and neither a section
30
+ nor a tab holds an accordion or tabs. The section's own heading is already there, so the string never
31
+ opens with one.
@@ -1,8 +1,40 @@
1
- The segment's title: a very short text of what the segment's `context` is
2
- about, a few words long. One string, with no code link and no full stop.
1
+ The segment's title: a few words that say what the segment changes. One string,
2
+ with no code link and no full stop. It names what changed and leaves why to the
3
+ `context`.
3
4
 
4
- A segment arrives with no title. Write it with `update-document { segmentId, title }`,
5
- after the context it sums up, and a finished artifact has one on every segment.
5
+ A segment arrives with no title. Write it with `update-nodes { segmentId, title }`,
6
+ after the context, and a finished artifact has one on every segment. When the
7
+ reviewer turned segments off, no segment is shown, and none needs a title.
6
8
 
7
9
  The review page shows it as the segment's heading when a change is split into
8
10
  several segments, and the section rail lists the segment under it.
11
+
12
+ ## A segment the other segments build on
13
+
14
+ A segment is groundwork when code in the other segments of the change imports its
15
+ files: the review shows it first because they use it. Its blast and the imports
16
+ of the other segments' files show what uses it. Title it after that code, not
17
+ after its own changes, and write names as the code writes them:
18
+
19
+ - One or two users: their names. `Groundwork for CreateOrderPage and EditOrderPage`
20
+ - More than two of one kind: the kind in the plural, with `new` when all of them
21
+ are new. `Groundwork for the new pages`, `Groundwork for the cart components`
22
+ - More than two of different kinds: both kinds. `Groundwork for the new pages and components`
23
+
24
+ ## Any other segment
25
+
26
+ Say what the segment adds, then what it modifies, then what it removes, as
27
+ `New …`, `modified …` and `removed …` joined by commas. Only the first part
28
+ starts with a capital letter, and a part with nothing in it is left out.
29
+
30
+ - One thing of a kind: its name as the code writes it, followed by its kind when
31
+ the name does not already say it. `New EditOrderPage`, `Modified CartSummary component`
32
+ - Two things: both names. `New PromoForm and useApplyPromo, modified CartSummary`
33
+ - More than two of one kind: the kind in the plural. `New pages, modified components`
34
+
35
+ | The segment | Its title |
36
+ |---|---|
37
+ | Adds one page | `New EditOrderPage` |
38
+ | Adds a component and a hook, and changes a component | `New PromoForm and useApplyPromo, modified CartSummary` |
39
+ | Adds three pages and changes two components | `New pages, modified components` |
40
+ | Deletes a component and changes the one that showed it | `Modified CartSummary, removed Dialog component` |
@@ -0,0 +1,14 @@
1
+ The caption of the Trace Diagram, shown above its board: one short paragraph that says what the
2
+ diagram shows before the reviewer follows its lines. Five sentences at most. Required on every segment that has a diagram,
3
+ `null` on arrival, and `complete` refuses an artifact where one is missing.
4
+
5
+ Written with `update-nodes { segmentId, traceDiagramDescription }`. Writing it
6
+ replaces the one that was there. A segment with `trace: null` has none, and
7
+ a write to it is refused.
8
+
9
+ `nodes { unfilled: true, needs: ["trace-description"] }` hands it out with
10
+ the diagram's nodes and edges. Write it after the labels of the nodes, so it
11
+ uses the same words as they do.
12
+
13
+ It is one paragraph of plain sentences. Inline code and a code link are shown.
14
+ A heading, a list and a table are not.
@@ -1,6 +1,6 @@
1
- The Journey Flow Diagram: how execution reaches the change, read like a
1
+ The Trace Diagram: how execution reaches the change, read like a
2
2
  debugging trace, from the code that starts a path to the changed code. A
3
- segment's `journey` is an object with a `description`, `nodes` and `edges`, or
3
+ segment's `traceDiagram` is an object with a `description`, `nodes` and `edges`, or
4
4
  `null` when the segment has no diagram.
5
5
 
6
6
  **Flight Plan draws it, and you write the words on it.** The nodes and the edges
@@ -89,7 +89,7 @@ rendered, and it does not say whether the connection is proven or assumed.
89
89
  ## What the reviewer sees
90
90
 
91
91
  - **The description is read first.** It is shown above the board: the
92
- diagram told in words, in five sentences at most. Until it is written
92
+ caption of the diagram, in five sentences at most. Until it is written
93
93
  the page says so.
94
94
  - **Every edge is the same line, with no label.** Where something about a
95
95
  connection matters to the reviewer, such as a prop passed through three
@@ -118,7 +118,7 @@ rendered, and it does not say whether the connection is proven or assumed.
118
118
 
119
119
  ## What you write
120
120
 
121
- With `update-nodes { segmentId, journey: [{ id, label, description, triggerLabels, blockLabels }] }`:
121
+ With `update-nodes { segmentId, traceDiagram: [{ id, label, description, triggerLabels, blockLabels }] }`:
122
122
 
123
123
  - `label` — what the step does. Required on every node.
124
124
  - `description` — how the node is reached and what it runs next. Not the
@@ -130,15 +130,15 @@ With `update-nodes { segmentId, journey: [{ id, label, description, triggerLabel
130
130
 
131
131
  A node inside another is written by its own `id`, like any other.
132
132
 
133
- With `update-nodes { segmentId, journeyDescription }`:
133
+ With `update-nodes { segmentId, traceDiagramDescription }`:
134
134
 
135
- - `journeyDescription` — the diagram told in words, in five sentences at
135
+ - `traceDiagramDescription` — the caption of the diagram, in five sentences at
136
136
  most. Required on every segment that has a diagram. See
137
- `journey.description`.
137
+ `traceDiagram.description`.
138
138
 
139
139
  ## When there is no diagram
140
140
 
141
- A segment with `journey: null` has no Journey Flow Diagram, and the page shows
141
+ A segment with `trace: null` has no Trace Diagram, and the page shows
142
142
  the heading of the band alone. Flight Plan decides whether a segment has a
143
143
  diagram, and no tool changes it. Where a change that runs code has none, tell
144
144
  the reviewer with `send-message`.
@@ -0,0 +1,6 @@
1
+ The label of one argument, state, hook, effect, call or step of a node, drawn as a
2
+ row inside the node. It says what that block does in the reader's terms, starting
3
+ with a verb: what the node does with the value, or what the step does. A step is a
4
+ statement with all that is written inside it, or several statements that follow
5
+ each other, listed by the block of the first. Until it is written the row
6
+ shows the name of the code, such as `useApplyPromo`, marked as a draft.
@@ -1,18 +1,12 @@
1
1
  The File Sections of the tour, in reading order: an array of objects, each a
2
- file `path`, a `title`, its `summary` lines and its `waypoints`.
3
-
4
- Write a section's `title` and `summary` with
5
- `update-nodes { segmentId, files: [{ path, title, summary }] }`. A File Section arrives
6
- titled with its own path, and `complete` refuses one that still is.
2
+ file `path` and its `waypoints`. A File Section is headed by its path, so it
3
+ has nothing to write.
7
4
 
8
5
  ## Ordering the files
9
6
 
10
- **Use the order the reviewer chose.** The request that started the review names
11
- it. Where it leaves a choice, order the files so a reader never meets a name
12
- before it is defined: the shape that changed first, then the code that uses it,
13
- then what wires them together, then configuration. What the order can never be
14
- is alphabetical or diff order by accident: the scaffold lists the files by path,
15
- so an order nobody wrote is that.
7
+ **Flight Plan orders the files.** It sorts the File Sections by the import graph,
8
+ or puts the reviewer's spotlight and the core changes first, as the reviewer
9
+ chose. Write no order.
16
10
 
17
11
  **No test file gets a waypoint, and none gets a section.** A tour is a tour of
18
12
  the change, and a test is the evidence the change works. Flight Plan sets test
@@ -0,0 +1,7 @@
1
+ Where the pull request does its real work: one or two sentences saying why this
2
+ waypoint is the core change of the branch. Optional, and absent on most
3
+ waypoints. It marks importance, not a defect; a defect is a finding.
4
+
5
+ Its presence is the flag. A waypoint that carries it draws a Core change chip
6
+ beside its title and a Core change note above its reading; a waypoint without it
7
+ draws neither. Write `null` to take one back.
@@ -11,7 +11,7 @@ of one piece of the change, placed on top of its lines.
11
11
  "declaration": "hasStock",
12
12
  "codeBlockIds": ["src/checkout/hasStock.ts#function@12:1", "src/checkout/hasStock.ts#condition@15:3"],
13
13
  "reading": "The author replaced the per-line stock lookup in `hasStock()` with one query for the whole basket, and it now returns every line that falls short, not the first. [`placeOrder()`](code:src/checkout/placeOrder.ts#placeOrder) calls it before it charges the card, so that a customer sees every short item in one refusal.",
14
- "needsAttention": "This is the rule the pull request exists for: stock is now checked against one read for the whole basket, and the other waypoints wire it in.",
14
+ "coreChange": "This is the rule the pull request exists for: stock is now checked against one read for the whole basket, and the other waypoints wire it in.",
15
15
  "findings": [],
16
16
  "children": []
17
17
  }
@@ -25,11 +25,11 @@ of one piece of the change, placed on top of its lines.
25
25
  - **`codeBlockIds`** are the blocks of the waypoint: the block it stops at
26
26
  first, then the changed blocks inside it, in the order they are written. An
27
27
  id names its file, its type and where it starts, as the `codeBlockIds` of a
28
- Journey Flow Diagram node do, so the same id is the same block. Flight Plan
28
+ Trace Diagram node do, so the same id is the same block. Flight Plan
29
29
  sets them, and a waypoint in a file it does not trace has none.
30
30
  - **`title`** and **`reading`** are yours, and arrive empty. `nodes` hands you
31
31
  each waypoint that still needs one, with the code it covers.
32
- - **`needsAttention`** and **`findings`** are yours, and most waypoints carry
32
+ - **`coreChange`** and **`findings`** are yours, and most waypoints carry
33
33
  neither.
34
34
 
35
35
  **The structure is not yours to change.** Flight Plan makes one waypoint per
@@ -1,14 +1,12 @@
1
- The Code Walkthrough: an object with an optional `intro` that frames the whole
2
- tour and a `files` array, one File Section per toured file in reading order.
1
+ The Code Walkthrough: an object with a `files` array, one File Section per
2
+ toured file in reading order.
3
3
 
4
4
  ## Reading order
5
5
 
6
- **A tour reads top to bottom, and so does the code it points at.** File Sections
7
- in the order the reviewer asked for; inside a file, waypoints in the order the
6
+ **A tour reads top to bottom, and so does the code it points at.** Flight Plan
7
+ orders the File Sections itself, as the reviewer chose, so write no order and do
8
+ not ask the reviewer for one. Inside a file, waypoints come in the order the
8
9
  file declares their code.
9
10
 
10
- The order of the File Sections is the reviewer's choice, and it reaches you in
11
- the request that started the review. Apply it with
12
- `update-nodes { segmentId, order: { files: [...] } }`, naming every File Section exactly
13
- once. Inside one file, `update-nodes { segmentId, waypoints: [{ id, position }] }` moves a
11
+ Inside one file, `update-nodes { segmentId, waypoints: [{ id, position }] }` moves a
14
12
  top-level waypoint among its siblings, and is rarely needed.