kaizen-agent 1.11.1 → 1.12.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.
@@ -165,10 +165,15 @@ Write `01-plan.md` with exactly these sections:
165
165
  - **Track** — one or two sentences opening the plan: what kind of work this is, the
166
166
  deliverable, what done means, what wrong means. Stated as your reading of the
167
167
  request, so it can be corrected in a breath.
168
- - **Framing** — the problem in your own words: what is wrong now, what would be true
169
- instead, and why it matters. Then the approach you chose, and the alternatives you
170
- rejected with one line each on why. This section is what the human checks first; if
171
- your restatement is off, everything after it is off too.
168
+ - **Framing** — the problem in your own words, as short labelled bullets, not a
169
+ paragraph: **Problem** (what is wrong now, as the user meets it), **Fix** (what will
170
+ be true instead, and the approach you chose), **Rejected** (each alternative, one
171
+ line on why). This section is what the human checks first; if your restatement is
172
+ off, everything after it is off too.
173
+ - **Work list** — the plan in plain bullets, one line per thing that will actually be
174
+ done, no jargon. It sits right after Framing and is shown again right before the
175
+ builder starts, so write it for someone who has not read the rest of the plan. Five
176
+ bullets is usually plenty; if it needs fifteen, the run is too big.
172
177
  - **Goal** — one paragraph in the user's terms describing what will be true when done.
173
178
  - **Scope** — bullets for what is included, then an explicit **Not included** list.
174
179
  - **Reuse** — existing material to build on: `path:line` for code, a section or page
@@ -182,10 +187,6 @@ Write `01-plan.md` with exactly these sections:
182
187
  it unaided for a runbook. Real and checkable, never a placeholder.
183
188
  - **Risks** — what could break, what is irreversible, what needs a backup or
184
189
  migration first. Call out anything touching data, auth, or production config.
185
- - **Work list** — the plan in plain bullets, one line per thing that will actually be
186
- done, no jargon. This is shown to the user right before the builder starts, so
187
- write it for someone who has not read the rest of the plan. Five bullets is usually
188
- plenty; if it needs fifteen, the run is too big.
189
190
  - **Open questions** — every assumption that survived your analysis. Leave the list
190
191
  empty only if it genuinely is.
191
192
 
@@ -210,6 +211,13 @@ Write `01-plan.md` with exactly these sections:
210
211
  run's backlog, so write each as a standalone one-liner that still makes sense read
211
212
  months later with no plan around it.
212
213
 
214
+ Write Track, Framing, Work list, Goal, Scope, Risks and Out of scope suggestions for a
215
+ person deciding whether to approve, often on a narrow panel: everyday words, short
216
+ sentences, one idea per bullet, things named by what the user sees rather than by
217
+ function, file, CSS value or gate id. Code names, `path:line` and gate ids belong in
218
+ Reuse, Steps and Verification, where the builder and reviewer need them exact. If a
219
+ sentence only makes sense to someone who has read the code, it is in the wrong section.
220
+
213
221
  ## The goals are the user's, the solution is yours
214
222
 
215
223
  Expanding a one-liner into a clear problem statement is your job. Deciding what is
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kaizen-agent",
3
- "version": "1.11.1",
3
+ "version": "1.12.0",
4
4
  "description": "Staged workflow for AI agents — code, writing, research, operations: plan, human approval, build, independent review, bounded fix loop.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -44,10 +44,17 @@ scope suggestions* for a separate decision.
44
44
 
45
45
  The planner reads code but writes none. Its plan must contain:
46
46
 
47
- 0. **Framing** — the problem in the planner's own words: what is wrong now, what
48
- would be true instead, why it matters, the approach chosen, and the alternatives
49
- rejected with a reason each. The human checks this first; a wrong restatement
50
- makes everything after it wrong.
47
+ 0. **Framing** — the problem in the planner's own words, as a few short labelled
48
+ bullets rather than a paragraph: **Problem** (what is wrong now, as the user meets
49
+ it), **Fix** (what will be true instead, and the approach), **Rejected** (each
50
+ alternative with its reason, one line), then the track in one line. The human
51
+ checks this first; a wrong restatement makes everything after it wrong.
52
+
53
+ Right below it, the **Work list**: plain bullets, one line per thing that will
54
+ actually be done, written for someone who has not read the rest of the plan.
55
+ Five bullets is usually plenty. It sits second so the reader learns what will
56
+ happen before the detail; the plan approval shows it verbatim and the builder
57
+ tracks progress against it.
51
58
  1. **Goal** — one paragraph, in the user's terms, on what will be true when done.
52
59
  2. **Scope** — what is included, and an explicit *not included* list. The second list
53
60
  is what prevents the builder from wandering.
@@ -115,12 +122,22 @@ installs packages.
115
122
  fix loop reads it again per iteration, so a line written once is read five or six
116
123
  times. Sections 3 to 6 — the material to reuse, the file manifest, the steps, the
117
124
  verification — earn their length: they are what stop every later stage searching the
118
- material again, and cutting them costs more than it saves. Sections 0, 1, 8 and 10 are
119
- read once by a human at the approval and should be as short as they can be and still
120
- be correct: a paragraph of framing, a paragraph of goal, the risks that are real, the
125
+ material again, and cutting them costs more than it saves. Sections 0 (Framing and the
126
+ Work list), 1, 8 and 10 are read once by a human at the approval and should be as
127
+ short as they can be and still be correct: a few labelled lines of framing, a short
128
+ work list, a paragraph of goal, the risks that are real, the
121
129
  questions that are open. An alternative rejected gets a line saying what and why, not
122
130
  a case against it.
123
131
 
132
+ **Write the parts a person reads for a person.** Framing, the Work list, Goal, Scope,
133
+ Risks and Out of scope suggestions are read by someone deciding whether to approve,
134
+ often on a narrow panel. Write them in everyday words: short sentences, one idea per
135
+ bullet, things named by what the user sees ("the chat bubble", "the Plan tab") rather
136
+ than by function, file, CSS value or gate id. Code names, `path:line` and gate ids
137
+ belong in Reuse, the File manifest, Steps and Verification, where the builder and
138
+ reviewer need them exact. If a sentence only makes sense to someone who has read the
139
+ code, it is in the wrong section.
140
+
124
141
  A plan whose framing is longer than its steps is a plan that spent the run's budget
125
142
  explaining itself.
126
143
 
@@ -133,8 +150,8 @@ Controlled by `approvals.plan` (default on), skipped in `auto`.
133
150
  Present to the user, in this order:
134
151
 
135
152
  1. The track, the goal, and the top risk — a few lines, not the whole plan file.
136
- 2. **The work list**, verbatim from the plan: plain bullets of what will actually be
137
- done. This is the last thing the user sees before anything is produced, so it must
153
+ 2. **The work list**, verbatim from the plan, where it sits right after Framing:
154
+ plain bullets of what will actually be done. This is the last thing the user sees before anything is produced, so it must
138
155
  be readable on its own, without the plan's reasoning around it.
139
156
  3. The open questions, **as a pick list** — see below.
140
157