@baldurpan/create-ai-workflow 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@baldurpan/create-ai-workflow",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "Overlay a tiered planning workflow — roadmap, plans, phase ledgers, verification gates — onto an existing repository, for coding agents.",
5
5
  "keywords": [
6
6
  "ai",
@@ -36,9 +36,11 @@ Written <YYYY-MM-DD>. <One line on what this is.> The `<name>` entry in
36
36
  | 1 | <name> | not started | — | |
37
37
  | 2 | <name> | not started | 1 | |
38
38
 
39
- Status is one of `not started`, `in progress`, `blocked`, `done`. `done` only when the scope landed and both
40
- gates passed, and whoever finishes a phase updates the row as part of the same change as the work — who
41
- commits that change is [`../git.md`](../git.md)'s answer, not this table's.
39
+ Status is one of `not started`, `in progress`, `blocked`, `done`. A row goes to `in progress` when work on
40
+ the phase starts, before any code, so an interrupted run leaves a ledger that says what was underway. `done`
41
+ only when the scope landed and both gates passed, and whoever finishes a phase updates the row as part of
42
+ the same change as the work — who commits that change is [`../git.md`](../git.md)'s answer, not this
43
+ table's.
42
44
 
43
45
  **Exactly one table in this document has these columns.** Do not add a second phase table — a
44
46
  differently-shaped one nearby is a decoy that gets read by mistake.
@@ -125,10 +125,16 @@ To pick the next phase: take the **lowest-numbered phase that is not `done` and
125
125
  are all `done`.** State which one you picked before starting. If it is already `in progress`, read its Note
126
126
  and resume — do not restart it.
127
127
 
128
+ **A phase's row is written twice.** It opens to `in progress` when the work starts, before any code, and
129
+ closes to `done`, `in progress` or `blocked` when the phase ends. The opening write is what makes an
130
+ interruption survivable: a run that dies mid-phase leaves a tree with half the work in it, and the row is
131
+ the only thing that can say so.
132
+
128
133
  `done` means the phase's scope landed and both gates passed — **a verdict about the gates, not about git.**
129
134
  Whoever finishes a phase updates its row **as part of the same change as the work**: one commit where the
130
- agent commits, one working tree handed over where the user does. A row updated separately is a row that
131
- disagrees with the repository in between.
135
+ agent commits, one working tree handed over where the user does. A closing row updated separately is a row
136
+ that disagrees with the repository in between. The opening write is not a change of its own — it is left in
137
+ the tree and lands with the work it describes.
132
138
 
133
139
  If the ledger's claim disagrees with the repo — a phase marked `done` whose files do not exist, or the
134
140
  reverse — **stop and say so.** Never silently re-do or skip a phase on a stale ledger. A `done` row whose
@@ -65,7 +65,22 @@ If the ledger's claim contradicts the repo — a phase marked `done` whose **Fil
65
65
  plainly in the tree under a phase marked `not started` — **say so and stop.** Never silently re-do or skip
66
66
  a phase on a stale ledger.
67
67
 
68
- ## 6. Do the work
68
+ ## 6. Open the ledger row
69
+
70
+ Set the phase's Status to `in progress` and write a Note naming what is underway — **before any code.**
71
+
72
+ This row is what a *later* session reads. A phase interrupted here — context exhausted, session closed, run
73
+ cancelled — leaves a working tree with half a phase in it. A row still reading `not started` sends the next
74
+ run into step 5's disagreement stop, or into redoing work that is already there.
75
+
76
+ One token and one Note, in the row that is already there — do not move the entry, restructure the table, or
77
+ write a summary anywhere else. If the row is already `in progress` because you are resuming it, leave it
78
+ alone; step 11 rewrites the Note.
79
+
80
+ **This write is not a change of its own.** Leave it in the working tree — it lands with the phase's work
81
+ under either answer in [`context/git.md`](../../../context/git.md). Never commit it on its own.
82
+
83
+ ## 7. Do the work
69
84
 
70
85
  Read the phase's §6.2 sub-section: its scope, its **Files:**, and what `done` means for it.
71
86
 
@@ -79,7 +94,7 @@ this repository can open them, and a brief that inlines them is a brief that goe
79
94
 
80
95
  Describe **what** needs to happen, never **how** to code it. Scope each delegated task to specific files.
81
96
 
82
- ## 7. Gate 1 — verification
97
+ ## 8. Gate 1 — verification
83
98
 
84
99
  Per the gate contract in [`context/workflow.md`](../../../context/workflow.md): read
85
100
  [`context/verify.md`](../../../context/verify.md) and run its sections in order — Lint → Typecheck → Build →
@@ -89,9 +104,9 @@ Test.
89
104
  so, never faked. Exit 0 is the verdict regardless of summary text. If `verify.md` does not exist or has no
90
105
  filled-in section, stop and say so. Docs-only changes run Lint plus a read of the diff.
91
106
 
92
- A failure is the verdict — go to step 9 with the failing output verbatim as the feedback.
107
+ A failure is the verdict — go to step 10 with the failing output verbatim as the feedback.
93
108
 
94
- ## 8. Gate 2 — review
109
+ ## 9. Gate 2 — review
95
110
 
96
111
  Dispatch per [`context/executors.md`](../../../context/executors.md). With no independent reviewer
97
112
  configured, review the diff yourself against the plan's review expectations and the standards — weaker, and
@@ -100,13 +115,13 @@ configured, review the diff yourself against the plan's review expectations and
100
115
  Require concrete evidence — file paths, command output — for every verdict, and a `P0`–`P3` severity on
101
116
  every blocking finding.
102
117
 
103
- - `PASS` or `PASS WITH NOTES` → the phase's work is done; go to step 10.
104
- - `FAIL` → **write it to [`context/findings.md`](../../../context/findings.md) first, then** go to step 9.
118
+ - `PASS` or `PASS WITH NOTES` → the phase's work is done; go to step 11.
119
+ - `FAIL` → **write it to [`context/findings.md`](../../../context/findings.md) first, then** go to step 10.
105
120
 
106
121
  **Write the finding before the loopback, not after it.** A verdict that lives only in this session's
107
122
  transcript evaporates when the conversation ends — including a `P0` the cap never got to.
108
123
 
109
- ## 9. Loopback
124
+ ## 10. Loopback
110
125
 
111
126
  Cap: **two loops per gate, per phase.**
112
127
 
@@ -118,7 +133,7 @@ At the cap: **write a finding** (`P1` for a Gate 1 cap-out — a phase whose ver
118
133
  blocked by definition), then escalate to the user with the current state and the last feedback.
119
134
  **Escalating is not a substitute for recording.**
120
135
 
121
- ## 10. Close out the ledger row
136
+ ## 11. Close out the ledger row
122
137
 
123
138
  The row is part of the same change as the work — never a separate step afterwards:
124
139
 
@@ -131,7 +146,7 @@ open `P0` or `P1` is tied to this phase**; leave it `in progress` and name the f
131
146
 
132
147
  `done` is a verdict about the gates, not about git. Whether the change is committed at all is the next step.
133
148
 
134
- ## 11. Land it — read [`context/git.md`](../../../context/git.md)
149
+ ## 12. Land it — read [`context/git.md`](../../../context/git.md)
135
150
 
136
151
  **Do not commit until you have read that file, and do not commit at all unless it says the agent does.**
137
152
  It is the only place this project's answer lives, the same way `verify.md` is the only place its commands
@@ -142,7 +157,7 @@ once, and name `/onboard`.
142
157
  and stop. Do not stage-and-commit "to be helpful", and do not push or branch under either answer.
143
158
  - **The agent commits** → the code and the ledger row in one commit, at the granularity that file names.
144
159
 
145
- ## 12. Report
160
+ ## 13. Report
146
161
 
147
162
  - What changed, and which files — and whether it is committed or waiting in the tree.
148
163
  - Gate 1 output, and Gate 2's verdict.