@chllming/wave-orchestration 0.8.5 → 0.8.6
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 +24 -0
- package/README.md +14 -9
- package/docs/README.md +3 -1
- package/docs/context7/bundles.json +19 -20
- package/docs/context7/planner-agent/README.md +4 -1
- package/docs/guides/author-and-run-waves.md +4 -1
- package/docs/guides/planner.md +3 -1
- package/docs/guides/signal-wrappers.md +165 -0
- package/docs/guides/terminal-surfaces.md +13 -0
- package/docs/plans/context7-wave-orchestrator.md +24 -7
- package/docs/plans/current-state.md +7 -3
- package/docs/plans/end-state-architecture.md +16 -4
- package/docs/plans/examples/wave-example-design-handoff.md +1 -1
- package/docs/plans/examples/wave-example-live-proof.md +1 -1
- package/docs/plans/migration.md +165 -72
- package/docs/plans/wave-orchestrator.md +3 -0
- package/docs/reference/cli-reference.md +11 -2
- package/docs/reference/npmjs-trusted-publishing.md +2 -2
- package/docs/reference/sample-waves.md +5 -5
- package/docs/reference/skills.md +9 -1
- package/docs/reference/wave-control.md +2 -0
- package/package.json +1 -1
- package/releases/manifest.json +19 -0
- package/scripts/context7-api-check.sh +57 -13
- package/scripts/wave-orchestrator/control-cli.mjs +19 -0
- package/scripts/wave-orchestrator/coordination.mjs +35 -0
- package/scripts/wave-orchestrator/install.mjs +2 -0
- package/scripts/wave-orchestrator/launcher-runtime.mjs +11 -0
- package/scripts/wave-orchestrator/launcher.mjs +20 -0
- package/scripts/wave-orchestrator/session-supervisor.mjs +113 -0
- package/scripts/wave-orchestrator/shared.mjs +1 -0
- package/scripts/wave-orchestrator/signals.mjs +681 -0
- package/scripts/wave-orchestrator/wave-control-schema.mjs +2 -0
- package/scripts/wave-status.sh +200 -0
- package/scripts/wave-watch.sh +200 -0
- package/skills/README.md +3 -0
- package/skills/signal-hygiene/SKILL.md +51 -0
- package/skills/signal-hygiene/skill.json +20 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
This is a showcase-first sample wave.
|
|
4
4
|
|
|
5
|
-
Use it as the single reference example for the current `0.8.
|
|
5
|
+
Use it as the single reference example for the current `0.8.6` Wave surface.
|
|
6
6
|
|
|
7
7
|
It intentionally combines more sections than a normal production wave so one file can demonstrate:
|
|
8
8
|
|
package/docs/plans/migration.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Migration
|
|
2
2
|
|
|
3
|
-
This page is the practical repo-upgrade guide for the current `0.8.
|
|
3
|
+
This page is the practical repo-upgrade guide for the current `0.8.6` surface.
|
|
4
4
|
|
|
5
5
|
Use it when you are:
|
|
6
6
|
|
|
@@ -10,21 +10,20 @@ Use it when you are:
|
|
|
10
10
|
|
|
11
11
|
For the completed internal architecture cutover record, see [architecture-hardening-migration.md](./architecture-hardening-migration.md). That document is historical. This one is the operator-facing upgrade checklist.
|
|
12
12
|
|
|
13
|
-
## What `0.8.
|
|
13
|
+
## What `0.8.6` Changes
|
|
14
14
|
|
|
15
|
-
`0.8.
|
|
15
|
+
`0.8.6` keeps the `0.8.5` design-role surface and adds a new signal-driven operator and long-running-agent model.
|
|
16
16
|
|
|
17
17
|
The biggest additions are:
|
|
18
18
|
|
|
19
|
-
- the optional `design` worker role
|
|
20
|
-
- starter design bundles
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
- gates, retry or resume planning, reducer state, prompts, local smoke execution, and result envelopes now all agree on that hybrid-design contract
|
|
19
|
+
- the optional `design` worker role remains part of the published package surface
|
|
20
|
+
- starter design bundles still ship in `docs/agents/wave-design-role.md`, `skills/role-design/`, and `skills/tui-design/`
|
|
21
|
+
- starter signal bundles now also ship in `skills/signal-hygiene/`, `scripts/wave-status.sh`, and `scripts/wave-watch.sh`
|
|
22
|
+
- long-running agents and resident orchestrators now receive prompt-visible signal-state and signal-ack paths
|
|
23
|
+
- canonical versioned wave and agent signal snapshots now live under `.tmp/<lane>-wave-launcher/signals/`
|
|
24
|
+
- wrapper and signal semantics now treat `completed` and `failed` as truly terminal, with wrapper exit `40` for failed terminal state
|
|
26
25
|
|
|
27
|
-
There are no new top-level CLI commands for `0.8.
|
|
26
|
+
There are no new top-level CLI commands for `0.8.6`. The wrapper scripts are starter utilities layered over `wave control status --json`, not a new top-level CLI family.
|
|
28
27
|
|
|
29
28
|
## Upgrade Contract
|
|
30
29
|
|
|
@@ -39,6 +38,9 @@ Treat these as package-owned starter surface unless your repo intentionally copi
|
|
|
39
38
|
|
|
40
39
|
- `docs/agents/*.md`
|
|
41
40
|
- `skills/*`
|
|
41
|
+
- `scripts/wave-status.sh`
|
|
42
|
+
- `scripts/wave-watch.sh`
|
|
43
|
+
- `docs/guides/signal-wrappers.md`
|
|
42
44
|
- `docs/plans/current-state.md`
|
|
43
45
|
- `docs/plans/end-state-architecture.md`
|
|
44
46
|
- `docs/plans/wave-orchestrator.md`
|
|
@@ -73,7 +75,7 @@ pnpm exec wave upgrade
|
|
|
73
75
|
|
|
74
76
|
### 3. Sync repo-owned starter surface only if you copied it
|
|
75
77
|
|
|
76
|
-
The most common sync set for `0.8.
|
|
78
|
+
The most common sync set for `0.8.6` is:
|
|
77
79
|
|
|
78
80
|
- `docs/agents/wave-launcher-role.md`
|
|
79
81
|
- `docs/agents/wave-orchestrator-role.md`
|
|
@@ -82,17 +84,25 @@ The most common sync set for `0.8.5` is:
|
|
|
82
84
|
- `skills/wave-core/`
|
|
83
85
|
- `skills/role-planner/`
|
|
84
86
|
- `skills/role-design/`
|
|
85
|
-
- `skills/tui-design/`
|
|
87
|
+
- `skills/tui-design/`
|
|
88
|
+
- `skills/signal-hygiene/`
|
|
89
|
+
- `scripts/wave-status.sh`
|
|
90
|
+
- `scripts/wave-watch.sh`
|
|
91
|
+
- `docs/guides/author-and-run-waves.md`
|
|
92
|
+
- `docs/guides/planner.md`
|
|
93
|
+
- `docs/guides/terminal-surfaces.md`
|
|
94
|
+
- `docs/guides/signal-wrappers.md`
|
|
86
95
|
- `docs/context7/planner-agent/`
|
|
87
96
|
- `docs/reference/wave-planning-lessons.md`
|
|
97
|
+
- `docs/reference/cli-reference.md`
|
|
98
|
+
- `docs/reference/skills.md`
|
|
99
|
+
- `docs/reference/sample-waves.md`
|
|
88
100
|
- `docs/plans/current-state.md`
|
|
89
101
|
- `docs/plans/end-state-architecture.md`
|
|
90
102
|
- `docs/plans/wave-orchestrator.md`
|
|
91
103
|
- `docs/plans/migration.md`
|
|
92
|
-
- `docs/reference/skills.md`
|
|
93
|
-
- `docs/reference/sample-waves.md`
|
|
94
104
|
|
|
95
|
-
If your repo copied starter `wave.config.json` defaults, also sync
|
|
105
|
+
If your repo copied starter `wave.config.json` defaults, also sync:
|
|
96
106
|
|
|
97
107
|
- `roles.designRolePromptPath`
|
|
98
108
|
- `skills.byRole.design`
|
|
@@ -106,29 +116,62 @@ Run these from the repo root:
|
|
|
106
116
|
pnpm exec wave doctor --json
|
|
107
117
|
pnpm exec wave launch --lane main --dry-run --no-dashboard
|
|
108
118
|
pnpm exec wave control status --lane main --wave 0 --json
|
|
119
|
+
scripts/wave-status.sh --lane main --wave 0
|
|
120
|
+
scripts/wave-watch.sh --lane main --wave 0 --until-change --refresh-ms 500
|
|
109
121
|
pnpm exec wave coord inbox --lane main --wave 0 --agent A1 --dry-run
|
|
110
122
|
```
|
|
111
123
|
|
|
112
124
|
Use `pnpm exec wave dashboard --lane <lane> --attach current` or `--attach global` when you need to reattach to a tmux-backed dashboard after the upgrade.
|
|
113
125
|
|
|
114
|
-
## `0.8.
|
|
126
|
+
## `0.8.6` Release Model
|
|
127
|
+
|
|
128
|
+
The current `0.8.6` surface is two changes together:
|
|
129
|
+
|
|
130
|
+
- the shipped `design` worker role and hybrid design-steward flow introduced in `0.8.5`
|
|
131
|
+
- the signal-driven long-running-agent and wrapper model introduced in `0.8.6`
|
|
132
|
+
|
|
133
|
+
### Signal-driven waiting and wrapper model
|
|
134
|
+
|
|
135
|
+
This is the main new behavior in `0.8.6`.
|
|
115
136
|
|
|
116
|
-
|
|
137
|
+
Starter repos now include:
|
|
117
138
|
|
|
118
|
-
|
|
139
|
+
- `skills/signal-hygiene/`
|
|
140
|
+
- `scripts/wave-status.sh`
|
|
141
|
+
- `scripts/wave-watch.sh`
|
|
119
142
|
|
|
120
|
-
|
|
143
|
+
Use that model when:
|
|
144
|
+
|
|
145
|
+
- an external shell loop or CI job should wait for a wave or agent to change state
|
|
146
|
+
- a non-resident agent is intentionally long-running and should wake only on orchestrator-written signal changes
|
|
147
|
+
- a resident orchestrator should explicitly acknowledge that it observed a reroute, answered feedback, or terminal transition
|
|
148
|
+
|
|
149
|
+
The contract is:
|
|
150
|
+
|
|
151
|
+
- the runtime publishes versioned signal snapshots under `.tmp/<lane>-wave-launcher/signals/`
|
|
152
|
+
- long-running watchers receive a signal-state path and signal-ack path in the prompt
|
|
153
|
+
- the watcher writes the ack file immediately after it observes a new signal version
|
|
154
|
+
- wrapper exit codes are now:
|
|
155
|
+
- `0` completed
|
|
156
|
+
- `10` still active or waiting
|
|
157
|
+
- `20` input required
|
|
158
|
+
- `30` signal changed while still active from `wave-watch.sh --until-change`
|
|
159
|
+
- `40` failed
|
|
160
|
+
|
|
161
|
+
If your repo copied operator docs, shell automation, or starter scripts, this is the main sync set to apply from `0.8.6`.
|
|
162
|
+
|
|
163
|
+
### `0.8.5` design-steward model
|
|
164
|
+
|
|
165
|
+
Docs-first design stewards:
|
|
121
166
|
|
|
122
167
|
- import `docs/agents/wave-design-role.md`
|
|
123
168
|
- own at least one packet path such as `docs/plans/waves/design/wave-<n>-<agentId>.md`
|
|
124
169
|
- stay docs or spec-first
|
|
125
170
|
- finish with `[wave-design] state=<ready-for-implementation|needs-clarification|blocked> ...`
|
|
126
171
|
|
|
127
|
-
### Hybrid design stewards
|
|
128
|
-
|
|
129
172
|
If the wave explicitly assigns non-packet ownership to a design agent, that agent becomes a hybrid design steward.
|
|
130
173
|
|
|
131
|
-
The runtime
|
|
174
|
+
The runtime treats that as:
|
|
132
175
|
|
|
133
176
|
1. a design pass first
|
|
134
177
|
2. then the same agent rejoins implementation with normal proof obligations
|
|
@@ -143,72 +186,58 @@ For a hybrid design steward, make sure the wave still includes:
|
|
|
143
186
|
|
|
144
187
|
The second pass must still re-emit `[wave-design]`, and it must also satisfy the normal implementation proof, doc-delta, and component-marker contract.
|
|
145
188
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
The interactive `wave draft` flow now supports `design` as a worker role and scaffolds the docs-first default path.
|
|
149
|
-
|
|
150
|
-
If you want a hybrid design steward today, the safest authoring paths are:
|
|
151
|
-
|
|
152
|
-
- edit the drafted wave manually
|
|
153
|
-
- or use an agentic planner payload that already declares the design agent's explicit implementation ownership
|
|
189
|
+
The interactive `wave draft` flow supports `design` as a worker role and scaffolds the docs-first default path. If you want a hybrid design steward today, the safest authoring paths are manual edits or an agentic planner payload that already declares the design agent's explicit implementation ownership.
|
|
154
190
|
|
|
155
191
|
## Version-Specific Upgrade Guidance
|
|
156
192
|
|
|
157
|
-
## Upgrading From `0.8.
|
|
193
|
+
## Upgrading From `0.8.5` To `0.8.6`
|
|
158
194
|
|
|
159
|
-
This is the
|
|
195
|
+
This is the smallest upgrade, but it changes the live wait-loop contract for external automation and intentionally long-running agents.
|
|
160
196
|
|
|
161
|
-
### What changed
|
|
197
|
+
### What changed
|
|
162
198
|
|
|
163
|
-
-
|
|
164
|
-
-
|
|
165
|
-
-
|
|
199
|
+
- versioned signal snapshots are now published under `.tmp/<lane>-wave-launcher/signals/`
|
|
200
|
+
- starter repos now include `skills/signal-hygiene/`, `scripts/wave-status.sh`, and `scripts/wave-watch.sh`
|
|
201
|
+
- the runtime injects signal-state plus signal-ack paths into long-running agent and resident-orchestrator prompts
|
|
202
|
+
- `completed` and `failed` now override stale feedback or coordination wakeups in agent signal state
|
|
203
|
+
- wrapper scripts now treat `failed` as terminal with exit `40`
|
|
166
204
|
|
|
167
205
|
### Required repo changes
|
|
168
206
|
|
|
169
|
-
Usually none if the repo
|
|
207
|
+
Usually none if the repo did not copy starter scripts, operator docs, or skill bundles.
|
|
170
208
|
|
|
171
209
|
### Strongly recommended sync
|
|
172
210
|
|
|
173
211
|
If the repo copied starter surface, sync:
|
|
174
212
|
|
|
175
|
-
- `
|
|
176
|
-
- `
|
|
177
|
-
- `
|
|
178
|
-
- `docs/guides/
|
|
179
|
-
- `docs/guides/
|
|
213
|
+
- `skills/signal-hygiene/`
|
|
214
|
+
- `scripts/wave-status.sh`
|
|
215
|
+
- `scripts/wave-watch.sh`
|
|
216
|
+
- `docs/guides/signal-wrappers.md`
|
|
217
|
+
- `docs/guides/terminal-surfaces.md`
|
|
218
|
+
- `docs/reference/cli-reference.md`
|
|
180
219
|
- `docs/reference/skills.md`
|
|
181
|
-
- `docs/reference/sample-waves.md`
|
|
182
220
|
- `docs/plans/current-state.md`
|
|
183
|
-
- `docs/plans/wave-orchestrator.md`
|
|
184
221
|
- `docs/plans/end-state-architecture.md`
|
|
185
|
-
|
|
186
|
-
If the repo copied starter `wave.config.json` defaults, also sync:
|
|
187
|
-
|
|
188
|
-
- `roles.designRolePromptPath`
|
|
189
|
-
- `skills.byRole.design`
|
|
190
|
-
- `executors.profiles.design-pass`
|
|
222
|
+
- `docs/plans/wave-orchestrator.md`
|
|
191
223
|
|
|
192
224
|
### Validation focus
|
|
193
225
|
|
|
194
|
-
- confirm
|
|
195
|
-
- if the repo uses
|
|
196
|
-
-
|
|
197
|
-
|
|
198
|
-
## Upgrading From `0.8.4` To `0.8.5`
|
|
226
|
+
- confirm any existing shell automation treats wrapper exit `40` as terminal failure
|
|
227
|
+
- if the repo uses long-running watchers, confirm they can write the ack file where the prompt tells them to
|
|
228
|
+
- reroute one targeted feedback or coordination request and confirm the resident signal version changes even when the signal kind stays the same
|
|
199
229
|
|
|
200
|
-
|
|
230
|
+
## Upgrading From `0.8.4` To `0.8.6`
|
|
201
231
|
|
|
202
232
|
### What changed
|
|
203
233
|
|
|
204
|
-
- the optional `design` worker role
|
|
205
|
-
- `role-design` and `tui-design` starter bundles now ship with the release
|
|
234
|
+
- `0.8.5` added the optional `design` worker role plus the `role-design` and `tui-design` starter bundles
|
|
206
235
|
- design stewards can now be docs-first or explicit hybrid design stewards
|
|
207
|
-
-
|
|
236
|
+
- `0.8.6` adds signal-driven waiting, `signal-hygiene`, and the seeded wrapper scripts
|
|
208
237
|
|
|
209
238
|
### Required repo changes
|
|
210
239
|
|
|
211
|
-
None if your repo does not use design stewards.
|
|
240
|
+
None if your repo does not use design stewards, long-running watcher agents, or copied starter scripts.
|
|
212
241
|
|
|
213
242
|
### Strongly recommended sync
|
|
214
243
|
|
|
@@ -217,7 +246,11 @@ If your repo copied starter prompts, skills, or authoring docs, sync:
|
|
|
217
246
|
- `docs/agents/wave-design-role.md`
|
|
218
247
|
- `skills/role-design/`
|
|
219
248
|
- `skills/tui-design/`
|
|
249
|
+
- `skills/signal-hygiene/`
|
|
250
|
+
- `scripts/wave-status.sh`
|
|
251
|
+
- `scripts/wave-watch.sh`
|
|
220
252
|
- `docs/guides/author-and-run-waves.md`
|
|
253
|
+
- `docs/guides/signal-wrappers.md`
|
|
221
254
|
- `docs/guides/planner.md`
|
|
222
255
|
- `docs/reference/skills.md`
|
|
223
256
|
- `docs/reference/sample-waves.md`
|
|
@@ -226,17 +259,62 @@ If your repo copied starter config defaults, also sync the `designRolePromptPath
|
|
|
226
259
|
|
|
227
260
|
### Validation focus
|
|
228
261
|
|
|
229
|
-
If the repo uses design stewards, dry-run at least one wave that proves:
|
|
230
|
-
|
|
231
262
|
- the design packet path resolves inside the repo
|
|
232
263
|
- design runs before implementation
|
|
233
264
|
- implementation does not start until every design packet is `ready-for-implementation`
|
|
234
265
|
- hybrid design stewards rejoin implementation when they explicitly own code
|
|
235
|
-
-
|
|
266
|
+
- long-running prompts receive signal-state and ack paths when the repo uses the new waiting model
|
|
267
|
+
|
|
268
|
+
## Upgrading From `0.8.3` To `0.8.6`
|
|
269
|
+
|
|
270
|
+
This is the most common one-step package upgrade path.
|
|
271
|
+
|
|
272
|
+
### What changed across that range
|
|
273
|
+
|
|
274
|
+
- `0.8.4` tightened contradiction replay, component-promotion threshold handling, and projection persistence boundaries
|
|
275
|
+
- `0.8.5` ships the `design` worker role, the `role-design` and `tui-design` starter bundles, and the hybrid design-steward runtime model as part of the published package
|
|
276
|
+
- `0.8.6` adds versioned signal snapshots, `signal-hygiene`, prompt-injected signal ack loops, and the seeded operator wrappers
|
|
277
|
+
- current operator and planner docs now describe the shipped surface directly instead of splitting behavior between a published package and newer `main`-only additions
|
|
278
|
+
|
|
279
|
+
### Required repo changes
|
|
280
|
+
|
|
281
|
+
Usually none if the repo does not copy starter prompts, skills, planning docs, or wrapper scripts.
|
|
282
|
+
|
|
283
|
+
### Strongly recommended sync
|
|
284
|
+
|
|
285
|
+
If the repo copied starter surface, sync:
|
|
286
|
+
|
|
287
|
+
- `docs/agents/wave-design-role.md`
|
|
288
|
+
- `skills/role-design/`
|
|
289
|
+
- `skills/tui-design/`
|
|
290
|
+
- `skills/signal-hygiene/`
|
|
291
|
+
- `scripts/wave-status.sh`
|
|
292
|
+
- `scripts/wave-watch.sh`
|
|
293
|
+
- `docs/guides/author-and-run-waves.md`
|
|
294
|
+
- `docs/guides/signal-wrappers.md`
|
|
295
|
+
- `docs/guides/planner.md`
|
|
296
|
+
- `docs/reference/skills.md`
|
|
297
|
+
- `docs/reference/sample-waves.md`
|
|
298
|
+
- `docs/plans/current-state.md`
|
|
299
|
+
- `docs/plans/wave-orchestrator.md`
|
|
300
|
+
- `docs/plans/end-state-architecture.md`
|
|
301
|
+
|
|
302
|
+
If the repo copied starter `wave.config.json` defaults, also sync:
|
|
303
|
+
|
|
304
|
+
- `roles.designRolePromptPath`
|
|
305
|
+
- `skills.byRole.design`
|
|
306
|
+
- `executors.profiles.design-pass`
|
|
236
307
|
|
|
237
|
-
|
|
308
|
+
### Validation focus
|
|
238
309
|
|
|
239
|
-
|
|
310
|
+
- confirm contradiction-blocked replay cases still compare cleanly if the repo keeps replay fixtures
|
|
311
|
+
- if the repo uses design stewards, confirm packet-only design waves still block implementation until `ready-for-implementation`
|
|
312
|
+
- if the repo uses hybrid design stewards, confirm the same agent rejoins implementation only when the authored wave explicitly gives it code ownership
|
|
313
|
+
- if the repo uses long-running agents or shell automation, confirm the new wrapper exit contract and ack-loop semantics before relying on an older polling script
|
|
314
|
+
|
|
315
|
+
## Upgrading From `0.8.0`-`0.8.4` To `0.8.6`
|
|
316
|
+
|
|
317
|
+
Treat this as one move to the current `0.8.6` surface.
|
|
240
318
|
|
|
241
319
|
### What changed across that range
|
|
242
320
|
|
|
@@ -245,6 +323,7 @@ Treat this as one move to the current `0.8.5` surface.
|
|
|
245
323
|
- contradiction replay and component-threshold handling were tightened
|
|
246
324
|
- projection persistence centralized under `projection-writer.mjs`
|
|
247
325
|
- the design-role surface is now shipped instead of living only on source `main`
|
|
326
|
+
- versioned signal snapshots, wrapper scripts, and long-running signal ack loops are now part of the shipped operator surface
|
|
248
327
|
|
|
249
328
|
### Required repo changes
|
|
250
329
|
|
|
@@ -257,6 +336,7 @@ If your repo copied starter docs or skills, sync:
|
|
|
257
336
|
- current operator runbook and architecture docs
|
|
258
337
|
- planner starter corpus
|
|
259
338
|
- design-role starter prompt and skill bundles
|
|
339
|
+
- signal-wrapper starter scripts and docs
|
|
260
340
|
- any repo-local docs that still describe design as “main only” or “future”
|
|
261
341
|
|
|
262
342
|
### Validation focus
|
|
@@ -265,8 +345,9 @@ If your repo copied starter docs or skills, sync:
|
|
|
265
345
|
- answer at least one human-feedback ticket in a test lane and confirm the linked clarification or escalation chain closes cleanly
|
|
266
346
|
- replay one contradiction-blocked trace if your repo relies on replay regression coverage
|
|
267
347
|
- dry-run one design-steward wave if the repo wants the new authored surface
|
|
348
|
+
- if the repo uses long-running watcher agents or shell automation, validate `scripts/wave-status.sh` and `scripts/wave-watch.sh` against a live or staged lane
|
|
268
349
|
|
|
269
|
-
## Upgrading From `0.6.x` Or `0.7.x` To `0.8.
|
|
350
|
+
## Upgrading From `0.6.x` Or `0.7.x` To `0.8.6`
|
|
270
351
|
|
|
271
352
|
This is the main migration path for older adopted repos.
|
|
272
353
|
|
|
@@ -278,6 +359,7 @@ This is the main migration path for older adopted repos.
|
|
|
278
359
|
- live closure depends on validated result envelopes plus canonical state
|
|
279
360
|
- control-plane state, reducer state, and replay are first-class runtime surfaces
|
|
280
361
|
- optional design stewards are now a supported authored shape
|
|
362
|
+
- signal-driven long-running watchers are now a supported operator shape
|
|
281
363
|
|
|
282
364
|
### Required repo changes
|
|
283
365
|
|
|
@@ -292,6 +374,7 @@ This is the main migration path for older adopted repos.
|
|
|
292
374
|
- the `planner-agentic` entry in `docs/context7/bundles.json`
|
|
293
375
|
5. Review any repo-owned docs or runbooks that still describe summary-era closure, pre-control-plane retry or proof behavior, or a single overloaded evaluator role.
|
|
294
376
|
6. If the repo wants design stewards, sync the design starter surface listed above and update local authoring docs accordingly.
|
|
377
|
+
7. If the repo wants signal-driven long-running watchers or shell automation, sync `skills/signal-hygiene/`, `scripts/wave-status.sh`, `scripts/wave-watch.sh`, and the wrapper docs before relying on local polling scripts.
|
|
295
378
|
|
|
296
379
|
### Additional validation
|
|
297
380
|
|
|
@@ -305,7 +388,7 @@ pnpm exec wave control proof get --lane main --wave 0 --json
|
|
|
305
388
|
|
|
306
389
|
If the repo carries proof-first waves, verify that required proof artifacts still exist locally and not only in historical summaries.
|
|
307
390
|
|
|
308
|
-
## Upgrading From `0.5.x` Or Earlier To `0.8.
|
|
391
|
+
## Upgrading From `0.5.x` Or Earlier To `0.8.6`
|
|
309
392
|
|
|
310
393
|
Do not treat this as a tiny patch bump.
|
|
311
394
|
|
|
@@ -314,7 +397,7 @@ Do not treat this as a tiny patch bump.
|
|
|
314
397
|
1. Read [docs/reference/migration-0.2-to-0.5.md](../reference/migration-0.2-to-0.5.md) first if the repo still looks pre-`0.5`.
|
|
315
398
|
2. Run `pnpm exec wave init --adopt-existing` on a branch so the workspace records install state without overwriting repo-owned material.
|
|
316
399
|
3. Move the repo onto the `0.6.x` and later surface using the section above.
|
|
317
|
-
4. Sync the planner corpus and, if needed, the design starter surface.
|
|
400
|
+
4. Sync the planner corpus and, if needed, the design starter surface plus the signal-wrapper starter surface.
|
|
318
401
|
5. Re-run the full validation checklist before any live executor run.
|
|
319
402
|
|
|
320
403
|
### Why
|
|
@@ -326,6 +409,7 @@ Older repos often differ in:
|
|
|
326
409
|
- runtime config keys
|
|
327
410
|
- planner starter corpus
|
|
328
411
|
- proof and retry operator surfaces
|
|
412
|
+
- wrapper and signal-monitoring expectations
|
|
329
413
|
- generated state layout under `.tmp/`
|
|
330
414
|
|
|
331
415
|
Trying to jump directly with ad hoc edits usually leaves hidden drift in prompts, docs, or config.
|
|
@@ -345,6 +429,7 @@ Trying to jump directly with ad hoc edits usually leaves hidden drift in prompts
|
|
|
345
429
|
- `docs/plans/wave-orchestrator.md`
|
|
346
430
|
- `docs/plans/end-state-architecture.md`
|
|
347
431
|
- `docs/plans/migration.md`
|
|
432
|
+
- `docs/guides/signal-wrappers.md`
|
|
348
433
|
- `docs/reference/cli-reference.md`
|
|
349
434
|
- `docs/reference/wave-control.md`
|
|
350
435
|
- `docs/reference/sample-waves.md`
|
|
@@ -366,6 +451,8 @@ Use this exact sequence unless your repo has a better repo-specific smoke suite.
|
|
|
366
451
|
pnpm exec wave doctor --json
|
|
367
452
|
pnpm exec wave launch --lane main --dry-run --no-dashboard
|
|
368
453
|
pnpm exec wave control status --lane main --wave 0 --json
|
|
454
|
+
scripts/wave-status.sh --lane main --wave 0
|
|
455
|
+
scripts/wave-watch.sh --lane main --wave 0 --until-change --refresh-ms 500
|
|
369
456
|
pnpm exec wave coord show --lane main --wave 0 --dry-run --json
|
|
370
457
|
pnpm exec wave coord inbox --lane main --wave 0 --agent A1 --dry-run
|
|
371
458
|
```
|
|
@@ -394,15 +481,21 @@ For repos that depend on replay parity, replay at least:
|
|
|
394
481
|
### A live lane looks blocked after the bump
|
|
395
482
|
|
|
396
483
|
- use `wave control status --lane <lane> --wave <n> --json`
|
|
397
|
-
- confirm whether the blocker is canonical coordination, dependency, proof, human-input,
|
|
484
|
+
- confirm whether the blocker is canonical coordination, dependency, proof, human-input, design-gate, or signal-ready state
|
|
398
485
|
- do not trust generated markdown alone
|
|
399
486
|
|
|
487
|
+
### External automation hangs after the upgrade
|
|
488
|
+
|
|
489
|
+
- confirm your wrapper loop treats exit `40` as terminal failure
|
|
490
|
+
- confirm `wave-watch.sh --until-change` expects exit `30` only for non-terminal signal changes
|
|
491
|
+
- if a long-running agent never wakes, inspect its ack file under `.tmp/<lane>-wave-launcher/signals/wave-<n>/acks/`
|
|
492
|
+
|
|
400
493
|
### Replay differs from old expectations
|
|
401
494
|
|
|
402
495
|
- verify whether the trace declares promoted components
|
|
403
496
|
- compare `storedOutcome.gateSnapshot` against recomputed replay output before changing live policy
|
|
404
|
-
- if the repo copied local replay docs, update them to the current reducer and
|
|
497
|
+
- if the repo copied local replay docs, update them to the current reducer, envelope, and signal model
|
|
405
498
|
|
|
406
499
|
## Summary
|
|
407
500
|
|
|
408
|
-
The current `0.8.
|
|
501
|
+
The current `0.8.6` surface keeps the same authority-set and phase-engine architecture, but it now ships both the design-role starter surface and the signal-driven long-running-agent starter surface as part of the published package. For most repos already on `0.8.x`, the upgrade is package bump plus validation. For older adopted repos, the real work is syncing repo-owned prompts, skills, planner corpus, wrapper scripts, and runbooks so they describe the runtime the package now ships.
|
|
@@ -77,6 +77,8 @@ The live runtime is organized around explicit modules:
|
|
|
77
77
|
- `pnpm exec wave feedback list --lane main --pending`
|
|
78
78
|
- `pnpm exec wave control status --lane main --wave 0 --json`
|
|
79
79
|
- `pnpm exec wave control status --lane main --wave 0 --agent A1 --json`
|
|
80
|
+
- `scripts/wave-status.sh --lane main --wave 0 --agent A1`
|
|
81
|
+
- `scripts/wave-watch.sh --lane main --wave 0 --agent A1 --until-change --refresh-ms 500`
|
|
80
82
|
- `pnpm exec wave coord inbox --lane main --wave 0 --agent A1 --dry-run`
|
|
81
83
|
- `pnpm exec wave control task create --lane main --wave 0 --agent A1 --kind blocker --summary "Need repository decision"`
|
|
82
84
|
- `pnpm exec wave control task act reassign --lane main --wave 0 --id <task-id> --to A2`
|
|
@@ -164,6 +166,7 @@ pnpm exec wave launch --lane main --start-wave 0 --end-wave 0 --executor codex -
|
|
|
164
166
|
- `wave control rerun request|get|clear` manages targeted rerun intent under `.tmp/<lane>-wave-launcher/control-plane/` and projects compatible retry overrides under `.tmp/<lane>-wave-launcher/control/`, including selected agents, reuse selectors, invalidated components, and clear or preserve reuse lists.
|
|
165
167
|
- `wave control proof register|get|supersede|revoke` manages authoritative proof bundles in the same control-plane log and projects compatible proof registries under `.tmp/<lane>-wave-launcher/proof/`.
|
|
166
168
|
- `wave control telemetry status|flush` inspects and delivers the local Wave Control event queue. Pass `--no-telemetry` on `wave launch` to disable event publication for a single run.
|
|
169
|
+
- `scripts/wave-status.sh` and `scripts/wave-watch.sh` are thin wrapper readers over `wave control status --json` for shell automation and long-running watcher loops. Use [guides/signal-wrappers.md](../guides/signal-wrappers.md) for the exit-code and ack-loop contract.
|
|
167
170
|
- `wave coord render` regenerates the markdown board projection from the canonical coordination log.
|
|
168
171
|
- `wave coord inbox` writes the compiled shared summary plus the selected agent inbox.
|
|
169
172
|
|
|
@@ -96,7 +96,7 @@ Unified operator control surface. Preferred over legacy `wave coord`, `wave retr
|
|
|
96
96
|
|
|
97
97
|
### wave control status
|
|
98
98
|
|
|
99
|
-
Read-only view: blocking edges, logical agent state, tasks, dependencies, rerun intent, proof bundles, and
|
|
99
|
+
Read-only view: blocking edges, logical agent state, tasks, dependencies, rerun intent, proof bundles, next timers, and derived wave or agent signal snapshots.
|
|
100
100
|
|
|
101
101
|
When a launcher attempt is already running, `wave control status` treats that active attempt as the authoritative current fan-out. Older relaunch plans or unrelated closure blockers remain visible in the payload, but they do not override the live attempt view.
|
|
102
102
|
|
|
@@ -104,6 +104,15 @@ When a launcher attempt is already running, `wave control status` treats that ac
|
|
|
104
104
|
wave control status --lane <lane> --wave <n> [--agent <id>] [--run <id>] [--json]
|
|
105
105
|
```
|
|
106
106
|
|
|
107
|
+
The JSON payload now includes:
|
|
108
|
+
|
|
109
|
+
- `signals.wave`
|
|
110
|
+
Versioned wave-level signal state for wrappers and external operators.
|
|
111
|
+
- `signals.agents`
|
|
112
|
+
Versioned per-agent signal state, including `shouldWake` plus any observed ack metadata.
|
|
113
|
+
|
|
114
|
+
Starter repos also include `scripts/wave-status.sh` and `scripts/wave-watch.sh` as thin readers over this JSON payload. They use exit `0` for completed, `20` for input-required, `40` for failed, and `30` from `wave-watch.sh --until-change` when the signal changed but the wave stayed active. For the full wrapper contract, read [../guides/signal-wrappers.md](../guides/signal-wrappers.md).
|
|
115
|
+
|
|
107
116
|
### wave control telemetry
|
|
108
117
|
|
|
109
118
|
Inspect and deliver the local Wave Control event queue.
|
|
@@ -544,7 +553,7 @@ Interactive draft currently offers worker role kinds:
|
|
|
544
553
|
- `research`
|
|
545
554
|
- `security`
|
|
546
555
|
|
|
547
|
-
Agentic planner payloads also accept `workerAgents[].roleKind = "design"`. The shipped `0.8.
|
|
556
|
+
Agentic planner payloads also accept `workerAgents[].roleKind = "design"`. The shipped `0.8.6` surface uses `design-pass` as the default executor profile for that role and typically assigns a packet path like `docs/plans/waves/design/wave-<n>-<agentId>.md`. Interactive draft scaffolds the docs-first default; hybrid design stewards are authored by explicitly adding implementation-owned paths and the normal implementation contract sections.
|
|
548
557
|
|
|
549
558
|
## Ad-Hoc Task Commands
|
|
550
559
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
This repo now includes a dedicated npmjs publish workflow at [publish-npm.yml](../../.github/workflows/publish-npm.yml).
|
|
4
4
|
|
|
5
|
-
The current `0.8.
|
|
5
|
+
The current `0.8.6` release procedure publishes through a repository Actions secret named `NPM_TOKEN`.
|
|
6
6
|
|
|
7
7
|
## What This Repo Already Does
|
|
8
8
|
|
|
@@ -48,6 +48,6 @@ If this repo later needs private npm dependencies during CI, consider a separate
|
|
|
48
48
|
2. Confirm `NPM_TOKEN` exists in the GitHub repo secrets.
|
|
49
49
|
3. Confirm the package version has been bumped and committed.
|
|
50
50
|
4. Confirm `README.md`, `CHANGELOG.md`, `releases/manifest.json`, and `docs/plans/migration.md` all describe the same release surface.
|
|
51
|
-
5. Push the release commit and release tag, for example `v0.8.
|
|
51
|
+
5. Push the release commit and release tag, for example `v0.8.6`.
|
|
52
52
|
6. Verify both `publish-npm.yml` and `publish-package.yml` start from the tag push.
|
|
53
53
|
7. Verify the npmjs publish completes successfully for the tagged source.
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Sample Waves"
|
|
3
|
-
summary: "Showcase-first sample waves that demonstrate the shipped 0.8.
|
|
3
|
+
summary: "Showcase-first sample waves that demonstrate the shipped 0.8.6 authored surface, including the optional design-role path."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Sample Waves
|
|
7
7
|
|
|
8
|
-
This guide points to showcase-first sample waves that demonstrate the shipped `0.8.
|
|
8
|
+
This guide points to showcase-first sample waves that demonstrate the shipped `0.8.6` authored Wave surface.
|
|
9
9
|
|
|
10
10
|
The examples are intentionally denser than typical production waves. Their job is to teach the current authoring and runtime surface quickly, not to be the smallest possible launch-ready files.
|
|
11
11
|
|
|
@@ -15,7 +15,7 @@ The examples are intentionally denser than typical production waves. Their job i
|
|
|
15
15
|
Shows what a good `repo-landed` outcome looks like when one promoted component only closes honestly if desired-state records, reconcile-loop substrate, and cluster-view surfaces land together. It emphasizes maturity discipline, explicit deliverables, and shared-plan closure without drifting into `pilot-live` claims.
|
|
16
16
|
|
|
17
17
|
- [Full modern sample wave](../plans/examples/wave-example-live-proof.md)
|
|
18
|
-
Shows the combined `0.8.
|
|
18
|
+
Shows the combined `0.8.6` authored surface in one file: closure roles, `E0`, optional security review, delegated and pinned benchmark targets, richer executor config, `### Skills`, `### Capabilities`, `### Deliverables`, `### Exit contract`, `### Proof artifacts`, sticky retry, deploy environments, and proof-first live-wave structure.
|
|
19
19
|
|
|
20
20
|
- [Optional design-steward handoff wave](../plans/examples/wave-example-design-handoff.md)
|
|
21
21
|
Shows the shipped design-role surface: one pre-implementation design steward publishes a design packet, downstream implementation owners read that packet before coding, and normal closure roles still decide final completion. For terminal or operator-surface work, pair that shape with explicit `tui-design` in the design steward's `### Skills`. For the hybrid variant, explicitly give that same design agent implementation-owned paths and the normal implementation contract sections.
|
|
@@ -42,7 +42,7 @@ The examples are intentionally denser than typical production waves. Their job i
|
|
|
42
42
|
|
|
43
43
|
## Feature Coverage Map
|
|
44
44
|
|
|
45
|
-
Together these samples cover the main surfaces added or hardened through `0.8.
|
|
45
|
+
Together these samples cover the main surfaces added or hardened through `0.8.6`:
|
|
46
46
|
|
|
47
47
|
- repo-landed maturity discipline and anti-overclaim framing
|
|
48
48
|
- explicit shared-plan closure for future-wave safety
|
|
@@ -89,7 +89,7 @@ Adapt more aggressively when:
|
|
|
89
89
|
## Suggested Reading Order
|
|
90
90
|
|
|
91
91
|
1. Start with [High-fidelity repo-landed rollout wave](../plans/examples/wave-example-rollout-fidelity.md) if you want the clearest example of good closure-ready wave fidelity for a repo-only outcome.
|
|
92
|
-
2. Read [Full modern sample wave](../plans/examples/wave-example-live-proof.md) if you want the denser proof-first and eval-heavy `0.8.
|
|
92
|
+
2. Read [Full modern sample wave](../plans/examples/wave-example-live-proof.md) if you want the denser proof-first and eval-heavy `0.8.6` surface.
|
|
93
93
|
3. Read [Optional design-steward handoff wave](../plans/examples/wave-example-design-handoff.md) if the task needs a design packet before implementation fan-out.
|
|
94
94
|
4. Read [docs/evals/README.md](../evals/README.md) if you want more background on benchmark target selection.
|
|
95
95
|
5. Read [docs/reference/live-proof-waves.md](./live-proof-waves.md) if you want more detail on proof-first `pilot-live` authoring.
|
package/docs/reference/skills.md
CHANGED
|
@@ -124,7 +124,9 @@ Top-level and lane-local skill attachment use the same shape:
|
|
|
124
124
|
|
|
125
125
|
Lane-local `lanes.<lane>.skills` extends the global config instead of replacing it.
|
|
126
126
|
|
|
127
|
-
Optional design workers in the shipped `0.8.
|
|
127
|
+
Optional design workers in the shipped `0.8.6` surface normally attach `role-design`. That bundle is intended for docs/spec-first design packets and explicit implementation handoff work before implementation starts. When the design packet covers terminal UX, dashboards, or other operator surfaces, add `tui-design` explicitly in the wave's `### Skills`.
|
|
128
|
+
|
|
129
|
+
Long-running agents that should stay resident and react only to orchestrator signal changes can add `signal-hygiene` explicitly in `### Skills`. That bundle is not auto-attached and is not meant for normal one-shot implementation agents.
|
|
128
130
|
|
|
129
131
|
## Resolution Order
|
|
130
132
|
|
|
@@ -204,6 +206,12 @@ For the optional `design` worker role, the default pattern is:
|
|
|
204
206
|
- `tui-design` only when the packet covers terminal UX, dashboards, or other operator surfaces
|
|
205
207
|
- no runtime-specific coding bundle unless the wave explicitly gives the design steward code ownership and makes it a hybrid design steward
|
|
206
208
|
|
|
209
|
+
For long-running watcher agents, the default pattern is:
|
|
210
|
+
|
|
211
|
+
- no special bundle by default
|
|
212
|
+
- add `signal-hygiene` only when the agent should stay alive and wait for signal-version changes
|
|
213
|
+
- use the provided signal state path plus signal ack path instead of inventing a second wakeup loop
|
|
214
|
+
|
|
207
215
|
## Generated Artifacts
|
|
208
216
|
|
|
209
217
|
Executor overlay directories can contain:
|
package/package.json
CHANGED
package/releases/manifest.json
CHANGED
|
@@ -2,6 +2,25 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"packageName": "@chllming/wave-orchestration",
|
|
4
4
|
"releases": [
|
|
5
|
+
{
|
|
6
|
+
"version": "0.8.6",
|
|
7
|
+
"date": "2026-03-25",
|
|
8
|
+
"summary": "Signal-hygiene starter surface, versioned signal wrappers, terminal watcher hardening, and 0.8.6 release-surface alignment.",
|
|
9
|
+
"features": [
|
|
10
|
+
"Versioned wave and agent signal snapshots now ship as part of the operator surface under `.tmp/<lane>-wave-launcher/signals/`, with resident-orchestrator and long-running-agent ack loops built on the same model.",
|
|
11
|
+
"Starter repos now include `skills/signal-hygiene/`, `scripts/wave-status.sh`, and `scripts/wave-watch.sh` for long-running watcher agents plus shell-friendly operator automation.",
|
|
12
|
+
"Wrapper exit semantics now expose terminal failure with exit `40`, while `wave-watch.sh --until-change` still returns `30` only when a signal changed and the wave stayed active.",
|
|
13
|
+
"Agent signal materialization now treats completed and failed as terminal even when stale answered feedback or old coordination tasks still exist in the materialized status payload.",
|
|
14
|
+
"The migration guide now covers fresh adoption plus upgrades from `0.8.5`, `0.8.4`, `0.8.3`, `0.8.0`-`0.8.4`, `0.6.x`-`0.7.x`, and `0.5.x` or earlier, including repo-owned sync guidance for `skills/signal-hygiene/`, the wrapper scripts, and the `planner-agentic` corpus."
|
|
15
|
+
],
|
|
16
|
+
"manualSteps": [
|
|
17
|
+
"Run `pnpm exec wave doctor` and `pnpm exec wave launch --lane main --dry-run --no-dashboard` after upgrading so the repo validates against the `0.8.6` signal-hygiene, wrapper, and design-role behavior.",
|
|
18
|
+
"If your repo copied starter prompts, skills, scripts, or runbooks, sync `skills/signal-hygiene/`, `scripts/wave-status.sh`, `scripts/wave-watch.sh`, `docs/guides/signal-wrappers.md`, `docs/guides/terminal-surfaces.md`, `docs/reference/cli-reference.md`, and any local operator docs that describe waiting or failure handling.",
|
|
19
|
+
"If your repo uses planner workflows and copied the planner starter corpus, keep `docs/agents/wave-planner-role.md`, `skills/role-planner/`, `docs/context7/planner-agent/`, `docs/reference/wave-planning-lessons.md`, and the `planner-agentic` bundle entry in sync before relying on local planner docs.",
|
|
20
|
+
"If your repo uses long-running watcher agents or shell automation, update local loops so wrapper exit `40` is treated as terminal failure and confirm watchers can write their signal ack files under `.tmp/<lane>-wave-launcher/signals/`."
|
|
21
|
+
],
|
|
22
|
+
"breaking": false
|
|
23
|
+
},
|
|
5
24
|
{
|
|
6
25
|
"version": "0.8.5",
|
|
7
26
|
"date": "2026-03-25",
|