@chllming/wave-orchestration 0.8.9 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +29 -0
- package/README.md +23 -7
- package/docs/README.md +5 -3
- package/docs/concepts/context7-vs-skills.md +1 -1
- package/docs/concepts/operating-modes.md +1 -1
- package/docs/concepts/what-is-a-wave.md +1 -1
- package/docs/guides/author-and-run-waves.md +14 -1
- package/docs/guides/monorepo-projects.md +226 -0
- package/docs/guides/planner.md +9 -2
- package/docs/guides/{recommendations-0.8.9.md → recommendations-0.9.0.md} +7 -7
- package/docs/plans/current-state.md +8 -6
- package/docs/plans/end-state-architecture.md +1 -1
- package/docs/plans/examples/wave-example-design-handoff.md +3 -1
- package/docs/plans/examples/wave-example-live-proof.md +6 -1
- package/docs/plans/examples/wave-example-rollout-fidelity.md +2 -0
- package/docs/plans/migration.md +21 -18
- package/docs/plans/wave-orchestrator.md +4 -4
- package/docs/reference/cli-reference.md +55 -51
- package/docs/reference/coordination-and-closure.md +1 -1
- package/docs/reference/npmjs-trusted-publishing.md +2 -2
- package/docs/reference/runtime-config/README.md +140 -12
- package/docs/reference/sample-waves.md +100 -5
- package/docs/reference/skills.md +1 -1
- package/docs/reference/wave-control.md +23 -5
- package/docs/roadmap.md +2 -2
- package/package.json +1 -1
- package/releases/manifest.json +19 -0
- package/scripts/wave-orchestrator/adhoc.mjs +49 -17
- package/scripts/wave-orchestrator/autonomous.mjs +49 -15
- package/scripts/wave-orchestrator/benchmark-external.mjs +23 -7
- package/scripts/wave-orchestrator/benchmark.mjs +33 -10
- package/scripts/wave-orchestrator/config.mjs +239 -24
- package/scripts/wave-orchestrator/control-cli.mjs +29 -23
- package/scripts/wave-orchestrator/coord-cli.mjs +22 -14
- package/scripts/wave-orchestrator/coordination-store.mjs +8 -0
- package/scripts/wave-orchestrator/dashboard-renderer.mjs +10 -3
- package/scripts/wave-orchestrator/dep-cli.mjs +47 -21
- package/scripts/wave-orchestrator/feedback.mjs +28 -11
- package/scripts/wave-orchestrator/human-input-resolution.mjs +5 -1
- package/scripts/wave-orchestrator/launcher.mjs +24 -3
- package/scripts/wave-orchestrator/planner.mjs +48 -27
- package/scripts/wave-orchestrator/project-profile.mjs +31 -8
- package/scripts/wave-orchestrator/proof-cli.mjs +18 -12
- package/scripts/wave-orchestrator/retry-cli.mjs +19 -13
- package/scripts/wave-orchestrator/shared.mjs +77 -14
- package/scripts/wave-orchestrator/wave-control-client.mjs +84 -16
- package/scripts/wave-orchestrator/wave-files.mjs +5 -1
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.
|
|
3
|
+
This page is the practical repo-upgrade guide for the current `0.9.0` surface.
|
|
4
4
|
|
|
5
5
|
Use it when you are:
|
|
6
6
|
|
|
@@ -10,20 +10,21 @@ 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.
|
|
13
|
+
## What `0.9.0` Changes
|
|
14
14
|
|
|
15
|
-
The current `0.
|
|
15
|
+
The current `0.9.0` surface keeps the packaged operator-guidance alignment and adds first-class monorepo project support plus project-aware default telemetry.
|
|
16
16
|
|
|
17
17
|
The practical changes are:
|
|
18
18
|
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
19
|
+
- `wave.config.json` can now declare `defaultProject` and `projects.<projectId>`, so one repo can host multiple Wave projects without lane-name collisions
|
|
20
|
+
- planner defaults, docs roots, ad-hoc runs, dependency tickets, launcher state, and benchmark identity are now scoped by project when you use explicit monorepo projects
|
|
21
|
+
- lane-scoped commands now accept `--project`, so the CLI can target the right project without relying on lane names alone
|
|
22
|
+
- Wave Control defaults to `https://wave-control.up.railway.app/api/v1` with `reportMode: "metadata-only"` and sends project, lane, and wave metadata unless you explicitly opt out
|
|
23
|
+
- the current release surface and tracked install-state fixtures now all move together on `0.9.0`
|
|
23
24
|
|
|
24
|
-
If your repo copied starter docs, shell automation, or
|
|
25
|
+
If your repo copied starter docs, shell automation, runbooks, or `wave.config.json` defaults, these are the areas most likely to need a sync before the `0.9.0` package cut.
|
|
25
26
|
|
|
26
|
-
For a practical `0.
|
|
27
|
+
For a practical `0.9.0` operating stance after the upgrade, read [../guides/recommendations-0.9.0.md](../guides/recommendations-0.9.0.md).
|
|
27
28
|
|
|
28
29
|
## What `0.8.6` Changes
|
|
29
30
|
|
|
@@ -90,7 +91,7 @@ pnpm exec wave upgrade
|
|
|
90
91
|
|
|
91
92
|
### 3. Sync repo-owned starter surface only if you copied it
|
|
92
93
|
|
|
93
|
-
The most common sync set for `0.
|
|
94
|
+
The most common sync set for `0.9.0` is:
|
|
94
95
|
|
|
95
96
|
- `docs/agents/wave-launcher-role.md`
|
|
96
97
|
- `docs/agents/wave-orchestrator-role.md`
|
|
@@ -119,6 +120,8 @@ The most common sync set for `0.8.6` is:
|
|
|
119
120
|
|
|
120
121
|
If your repo copied starter `wave.config.json` defaults, also sync:
|
|
121
122
|
|
|
123
|
+
- `defaultProject`
|
|
124
|
+
- `projects.<projectId>`
|
|
122
125
|
- `roles.designRolePromptPath`
|
|
123
126
|
- `skills.byRole.design`
|
|
124
127
|
- `executors.profiles.design-pass`
|
|
@@ -138,14 +141,14 @@ pnpm exec wave coord inbox --lane main --wave 0 --agent A1 --dry-run
|
|
|
138
141
|
|
|
139
142
|
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.
|
|
140
143
|
|
|
141
|
-
## `0.
|
|
144
|
+
## `0.9.0` Release Model
|
|
142
145
|
|
|
143
|
-
The current `0.
|
|
146
|
+
The current `0.9.0` surface is three changes together:
|
|
144
147
|
|
|
145
148
|
- the shipped `design` worker role and hybrid design-steward flow introduced in `0.8.5`
|
|
146
149
|
- the signal-driven long-running-agent and wrapper model introduced in `0.8.6`
|
|
147
150
|
- the policy-consistency, targeted-recovery, capability-specific routing, and stable per-wave session reuse hardening introduced in `0.8.7`
|
|
148
|
-
- the packaged recommendations guide and install-state alignment follow-up released in `0.
|
|
151
|
+
- the packaged recommendations guide and install-state alignment follow-up released in `0.9.0`
|
|
149
152
|
|
|
150
153
|
### Signal-driven waiting and wrapper model
|
|
151
154
|
|
|
@@ -329,9 +332,9 @@ If the repo copied starter `wave.config.json` defaults, also sync:
|
|
|
329
332
|
- if the repo uses hybrid design stewards, confirm the same agent rejoins implementation only when the authored wave explicitly gives it code ownership
|
|
330
333
|
- 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
|
|
331
334
|
|
|
332
|
-
## Upgrading From `0.8.3` To `0.
|
|
335
|
+
## Upgrading From `0.8.3` To `0.9.0`
|
|
333
336
|
|
|
334
|
-
Treat this as one move to the current `0.
|
|
337
|
+
Treat this as one move to the current `0.9.0` surface.
|
|
335
338
|
|
|
336
339
|
### What changed across that range
|
|
337
340
|
|
|
@@ -364,7 +367,7 @@ If your repo copied starter docs or skills, sync:
|
|
|
364
367
|
- dry-run one design-steward wave if the repo wants the new authored surface
|
|
365
368
|
- 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
|
|
366
369
|
|
|
367
|
-
## Upgrading From `0.6.x` Or `0.7.x` To `0.
|
|
370
|
+
## Upgrading From `0.6.x` Or `0.7.x` To `0.9.0`
|
|
368
371
|
|
|
369
372
|
This is the main migration path for older adopted repos.
|
|
370
373
|
|
|
@@ -405,7 +408,7 @@ pnpm exec wave control proof get --lane main --wave 0 --json
|
|
|
405
408
|
|
|
406
409
|
If the repo carries proof-first waves, verify that required proof artifacts still exist locally and not only in historical summaries.
|
|
407
410
|
|
|
408
|
-
## Upgrading From `0.5.x` Or Earlier To `0.
|
|
411
|
+
## Upgrading From `0.5.x` Or Earlier To `0.9.0`
|
|
409
412
|
|
|
410
413
|
Do not treat this as a tiny patch bump.
|
|
411
414
|
|
|
@@ -515,4 +518,4 @@ For repos that depend on replay parity, replay at least:
|
|
|
515
518
|
|
|
516
519
|
## Summary
|
|
517
520
|
|
|
518
|
-
The current `0.
|
|
521
|
+
The current `0.9.0` surface keeps the same authority-set and phase-engine architecture, ships both the design-role starter surface and the signal-driven long-running-agent starter surface, keeps the `0.8.7` policy and routing hardening, and now also packages the practical operator recommendations guide inside the release line. 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.
|
|
@@ -38,7 +38,7 @@ The live runtime is organized around explicit modules:
|
|
|
38
38
|
## What It Does
|
|
39
39
|
|
|
40
40
|
- parses wave plans from `docs/plans/waves/`
|
|
41
|
-
- supports transient ad-hoc runs from `.wave/adhoc
|
|
41
|
+
- supports transient ad-hoc runs from project-scoped `.wave/adhoc/<projectId>/runs/` storage on the same runtime substrate, with the implicit default project keeping the legacy layout
|
|
42
42
|
- fans a wave out into one session per `## Agent ...` section
|
|
43
43
|
- supports standing role imports from `docs/agents/*.md`
|
|
44
44
|
- supports optional pre-implementation design stewards that publish design packets before code-owning implementation starts
|
|
@@ -103,9 +103,9 @@ The live runtime is organized around explicit modules:
|
|
|
103
103
|
- `docs/reference/wave-control.md` documents the Wave Control telemetry and analysis plane, including entity types, artifact upload policies, and the local-first reporting contract.
|
|
104
104
|
- `docs/plans/component-cutover-matrix.json` is the canonical machine-readable source for component maturity and per-wave promotion targets.
|
|
105
105
|
- `.wave/install-state.json` records how the workspace was initialized and which package version is installed.
|
|
106
|
-
- `.wave/project-profile.json` (created by `wave project setup`) records planner defaults
|
|
107
|
-
- `.wave/adhoc
|
|
108
|
-
- ad-hoc documentation closure
|
|
106
|
+
- `.wave/project-profile.json` (created by `wave project setup`) records planner defaults for the implicit default project; explicit projects use `.wave/projects/<projectId>/project-profile.json`.
|
|
107
|
+
- `.wave/adhoc/<projectId>/runs/<run-id>/` stores transient ad-hoc request, spec, rendered markdown, and result artifacts for explicit projects, while the implicit default project keeps the legacy layout.
|
|
108
|
+
- ad-hoc documentation closure writes project-scoped report paths under the run directory, but shared-plan deltas still queue the canonical lane shared-plan docs.
|
|
109
109
|
- ad-hoc task ownership inference only accepts repo-local paths; URLs and other external references are ignored.
|
|
110
110
|
- `wave adhoc promote` promotes the stored ad-hoc spec into `docs/plans/waves/` instead of re-reading the current project profile.
|
|
111
111
|
|
|
@@ -7,6 +7,8 @@ summary: "Complete syntax reference for all wave CLI commands, flags, and operat
|
|
|
7
7
|
|
|
8
8
|
Complete syntax for every `wave` command. All commands use `pnpm exec wave` as the entry point.
|
|
9
9
|
|
|
10
|
+
When a command targets lane-scoped runtime state, it also accepts `--project <id>`. Omit it to use `defaultProject` from `wave.config.json`.
|
|
11
|
+
|
|
10
12
|
## Command Families
|
|
11
13
|
|
|
12
14
|
- Runtime:
|
|
@@ -34,6 +36,7 @@ Closure-role bindings do not have a CLI override surface. When a wave file decla
|
|
|
34
36
|
|
|
35
37
|
| Flag | Default | Description |
|
|
36
38
|
|------|---------|-------------|
|
|
39
|
+
| `--project <id>` | config default | Project id |
|
|
37
40
|
| `--lane <name>` | `main` | Lane name |
|
|
38
41
|
| `--start-wave <n>` | `0` | First wave to launch |
|
|
39
42
|
| `--end-wave <n>` | last available | Last wave to launch |
|
|
@@ -74,6 +77,7 @@ wave autonomous [options]
|
|
|
74
77
|
|
|
75
78
|
| Flag | Default | Description |
|
|
76
79
|
|------|---------|-------------|
|
|
80
|
+
| `--project <id>` | config default | Project id |
|
|
77
81
|
| `--lane <name>` | `main` | Lane name |
|
|
78
82
|
| `--executor <id>` | lane config | `codex`, `claude`, or `opencode` (not `local`) |
|
|
79
83
|
| `--codex-sandbox <mode>` | `danger-full-access` | Codex sandbox mode |
|
|
@@ -101,7 +105,7 @@ Read-only view: blocking edges, logical agent state, tasks, dependencies, rerun
|
|
|
101
105
|
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
106
|
|
|
103
107
|
```
|
|
104
|
-
wave control status --lane <lane> --wave <n> [--agent <id>] [--run <id>] [--json]
|
|
108
|
+
wave control status --project <id> --lane <lane> --wave <n> [--agent <id>] [--run <id>] [--json]
|
|
105
109
|
```
|
|
106
110
|
|
|
107
111
|
The JSON payload now includes:
|
|
@@ -118,8 +122,8 @@ Starter repos also include `scripts/wave-status.sh` and `scripts/wave-watch.sh`
|
|
|
118
122
|
Inspect and deliver the local Wave Control event queue.
|
|
119
123
|
|
|
120
124
|
```
|
|
121
|
-
wave control telemetry status --lane <lane> [--run <id>] [--json]
|
|
122
|
-
wave control telemetry flush --lane <lane> [--run <id>] [--json]
|
|
125
|
+
wave control telemetry status --project <id> --lane <lane> [--run <id>] [--json]
|
|
126
|
+
wave control telemetry flush --project <id> --lane <lane> [--run <id>] [--json]
|
|
123
127
|
```
|
|
124
128
|
|
|
125
129
|
### wave control task
|
|
@@ -130,7 +134,7 @@ Operator task surface for coordination records.
|
|
|
130
134
|
|
|
131
135
|
```
|
|
132
136
|
wave control task create \
|
|
133
|
-
--lane <lane> --wave <n> --agent <id> \
|
|
137
|
+
--project <id> --lane <lane> --wave <n> --agent <id> \
|
|
134
138
|
--kind <kind> --summary "<text>" \
|
|
135
139
|
[--detail "<text>"] [--target <agent-or-capability>] \
|
|
136
140
|
[--priority normal|high] [--blocking true|false] \
|
|
@@ -146,20 +150,20 @@ Valid `--kind` values: `request`, `blocker`, `clarification`, `handoff`, `eviden
|
|
|
146
150
|
**List tasks:**
|
|
147
151
|
|
|
148
152
|
```
|
|
149
|
-
wave control task list --lane <lane> --wave <n> [--agent <id>] [--json]
|
|
153
|
+
wave control task list --project <id> --lane <lane> --wave <n> [--agent <id>] [--json]
|
|
150
154
|
```
|
|
151
155
|
|
|
152
156
|
**Get a single task:**
|
|
153
157
|
|
|
154
158
|
```
|
|
155
|
-
wave control task get --lane <lane> --wave <n> --id <task-id> [--json]
|
|
159
|
+
wave control task get --project <id> --lane <lane> --wave <n> --id <task-id> [--json]
|
|
156
160
|
```
|
|
157
161
|
|
|
158
162
|
**Act on a task:**
|
|
159
163
|
|
|
160
164
|
```
|
|
161
165
|
wave control task act <action> \
|
|
162
|
-
--lane <lane> --wave <n> --id <task-id> \
|
|
166
|
+
--project <id> --lane <lane> --wave <n> --id <task-id> \
|
|
163
167
|
[--detail "<text>"] [--operator <name>] [--json]
|
|
164
168
|
```
|
|
165
169
|
|
|
@@ -183,7 +187,7 @@ Actions:
|
|
|
183
187
|
|
|
184
188
|
```bash
|
|
185
189
|
pnpm exec wave control task act answer \
|
|
186
|
-
--lane main --wave 4 --id escalation-clarify-a7-rollout \
|
|
190
|
+
--project app --lane main --wave 4 --id escalation-clarify-a7-rollout \
|
|
187
191
|
--response "The rollout strategy is canary-then-full. Use the Railway MCP health endpoint." \
|
|
188
192
|
--operator ops-lead
|
|
189
193
|
```
|
|
@@ -196,7 +200,7 @@ Targeted rerun intent with agent selection, reuse control, and component invalid
|
|
|
196
200
|
|
|
197
201
|
```
|
|
198
202
|
wave control rerun request \
|
|
199
|
-
--lane <lane> --wave <n> \
|
|
203
|
+
--project <id> --lane <lane> --wave <n> \
|
|
200
204
|
[--agent <id> ...] \
|
|
201
205
|
[--clear-reuse <id> ...] [--preserve-reuse <id> ...] \
|
|
202
206
|
[--invalidate-component <id> ...] \
|
|
@@ -213,13 +217,13 @@ The launcher may also write a rerun request automatically after recoverable fail
|
|
|
213
217
|
**Get active rerun request:**
|
|
214
218
|
|
|
215
219
|
```
|
|
216
|
-
wave control rerun get --lane <lane> --wave <n> [--json]
|
|
220
|
+
wave control rerun get --project <id> --lane <lane> --wave <n> [--json]
|
|
217
221
|
```
|
|
218
222
|
|
|
219
223
|
**Clear rerun request:**
|
|
220
224
|
|
|
221
225
|
```
|
|
222
|
-
wave control rerun clear --lane <lane> --wave <n>
|
|
226
|
+
wave control rerun clear --project <id> --lane <lane> --wave <n>
|
|
223
227
|
```
|
|
224
228
|
|
|
225
229
|
### wave control proof
|
|
@@ -230,7 +234,7 @@ Authoritative proof bundle lifecycle (active → superseded → revoked).
|
|
|
230
234
|
|
|
231
235
|
```
|
|
232
236
|
wave control proof register \
|
|
233
|
-
--lane <lane> --wave <n> --agent <id> \
|
|
237
|
+
--project <id> --lane <lane> --wave <n> --agent <id> \
|
|
234
238
|
--artifact <path> [--artifact <path> ...] \
|
|
235
239
|
[--component <id[:level]> ...] \
|
|
236
240
|
[--authoritative] [--satisfy-owned-components] \
|
|
@@ -241,14 +245,14 @@ wave control proof register \
|
|
|
241
245
|
**Get proof bundles:**
|
|
242
246
|
|
|
243
247
|
```
|
|
244
|
-
wave control proof get --lane <lane> --wave <n> [--agent <id>] [--id <bundle-id>] [--json]
|
|
248
|
+
wave control proof get --project <id> --lane <lane> --wave <n> [--agent <id>] [--id <bundle-id>] [--json]
|
|
245
249
|
```
|
|
246
250
|
|
|
247
251
|
**Supersede a bundle** (register new evidence and mark the old bundle superseded):
|
|
248
252
|
|
|
249
253
|
```
|
|
250
254
|
wave control proof supersede \
|
|
251
|
-
--lane <lane> --wave <n> --id <old-bundle-id> \
|
|
255
|
+
--project <id> --lane <lane> --wave <n> --id <old-bundle-id> \
|
|
252
256
|
--agent <id> --artifact <path> [--artifact <path> ...] \
|
|
253
257
|
[same options as register] [--json]
|
|
254
258
|
```
|
|
@@ -257,7 +261,7 @@ wave control proof supersede \
|
|
|
257
261
|
|
|
258
262
|
```
|
|
259
263
|
wave control proof revoke \
|
|
260
|
-
--lane <lane> --wave <n> --id <bundle-id> \
|
|
264
|
+
--project <id> --lane <lane> --wave <n> --id <bundle-id> \
|
|
261
265
|
[--operator <name>] [--detail "<text>"] [--json]
|
|
262
266
|
```
|
|
263
267
|
|
|
@@ -269,7 +273,7 @@ Coordination log access. Legacy surface; prefer `wave control task` for new work
|
|
|
269
273
|
|
|
270
274
|
```
|
|
271
275
|
wave coord post \
|
|
272
|
-
--lane <lane> --wave <n> --agent <id> \
|
|
276
|
+
--project <id> --lane <lane> --wave <n> --agent <id> \
|
|
273
277
|
--kind <kind> --summary "<text>" \
|
|
274
278
|
[--detail "<text>"] [--target <agent>] \
|
|
275
279
|
[--priority normal|high] [--depends-on <id>] \
|
|
@@ -279,31 +283,31 @@ wave coord post \
|
|
|
279
283
|
**Show materialized coordination state:**
|
|
280
284
|
|
|
281
285
|
```
|
|
282
|
-
wave coord show --lane <lane> --wave <n> [--dry-run] [--json]
|
|
286
|
+
wave coord show --project <id> --lane <lane> --wave <n> [--dry-run] [--json]
|
|
283
287
|
```
|
|
284
288
|
|
|
285
289
|
**Render markdown board from JSONL log:**
|
|
286
290
|
|
|
287
291
|
```
|
|
288
|
-
wave coord render --lane <lane> --wave <n> [--dry-run]
|
|
292
|
+
wave coord render --project <id> --lane <lane> --wave <n> [--dry-run]
|
|
289
293
|
```
|
|
290
294
|
|
|
291
295
|
**Compile shared summary and agent inbox:**
|
|
292
296
|
|
|
293
297
|
```
|
|
294
|
-
wave coord inbox --lane <lane> --wave <n> --agent <id> [--dry-run]
|
|
298
|
+
wave coord inbox --project <id> --lane <lane> --wave <n> --agent <id> [--dry-run]
|
|
295
299
|
```
|
|
296
300
|
|
|
297
301
|
**Explain why blocked or retrying:**
|
|
298
302
|
|
|
299
303
|
```
|
|
300
|
-
wave coord explain --lane <lane> --wave <n> [--agent <id>] [--json]
|
|
304
|
+
wave coord explain --project <id> --lane <lane> --wave <n> [--agent <id>] [--json]
|
|
301
305
|
```
|
|
302
306
|
|
|
303
307
|
**Act on a coordination record:**
|
|
304
308
|
|
|
305
309
|
```
|
|
306
|
-
wave coord act <operation> --lane <lane> --wave <n> --id <id> [options]
|
|
310
|
+
wave coord act <operation> --project <id> --lane <lane> --wave <n> --id <id> [options]
|
|
307
311
|
```
|
|
308
312
|
|
|
309
313
|
| Operation | Extra flags | Effect |
|
|
@@ -325,7 +329,7 @@ Human feedback request queue. Final escalation layer after orchestrator-first tr
|
|
|
325
329
|
|
|
326
330
|
```
|
|
327
331
|
wave feedback ask \
|
|
328
|
-
--lane <lane> --wave <n> --agent <id> \
|
|
332
|
+
--project <id> --lane <lane> --wave <n> --agent <id> \
|
|
329
333
|
--question "<text>" [--context "<text>"] \
|
|
330
334
|
[--orchestrator-id <id>] [--wait] [--timeout-seconds <n>]
|
|
331
335
|
```
|
|
@@ -345,13 +349,13 @@ When the answered request belongs to a live wave or ad-hoc run, `wave feedback r
|
|
|
345
349
|
**List feedback requests:**
|
|
346
350
|
|
|
347
351
|
```
|
|
348
|
-
wave feedback list [--lane <lane>] [--wave <n>] [--agent <id>] [--pending] [--json]
|
|
352
|
+
wave feedback list [--project <id>] [--lane <lane>] [--wave <n>] [--agent <id>] [--pending] [--json]
|
|
349
353
|
```
|
|
350
354
|
|
|
351
355
|
**Watch for new requests:**
|
|
352
356
|
|
|
353
357
|
```
|
|
354
|
-
wave feedback watch [--lane <lane>] [--wave <n>] [--agent <id>] [--pending] [--refresh-ms <n>]
|
|
358
|
+
wave feedback watch [--project <id>] [--lane <lane>] [--wave <n>] [--agent <id>] [--pending] [--refresh-ms <n>]
|
|
355
359
|
```
|
|
356
360
|
|
|
357
361
|
**Show a single request:**
|
|
@@ -370,7 +374,7 @@ Cross-lane dependency management.
|
|
|
370
374
|
|
|
371
375
|
```
|
|
372
376
|
wave dep post \
|
|
373
|
-
--owner-lane <lane> --requester-lane <lane> \
|
|
377
|
+
--owner-project <id> --owner-lane <lane> --requester-project <id> --requester-lane <lane> \
|
|
374
378
|
--owner-wave <n> --requester-wave <n> \
|
|
375
379
|
--agent <id> --summary "<text>" \
|
|
376
380
|
[--detail "<text>"] [--target <agent>] \
|
|
@@ -383,19 +387,19 @@ wave dep post \
|
|
|
383
387
|
**Show dependencies:**
|
|
384
388
|
|
|
385
389
|
```
|
|
386
|
-
wave dep show --lane <lane> [--wave <n>] [--json]
|
|
390
|
+
wave dep show --project <id> --lane <lane> [--wave <n>] [--json]
|
|
387
391
|
```
|
|
388
392
|
|
|
389
393
|
**Resolve a dependency:**
|
|
390
394
|
|
|
391
395
|
```
|
|
392
|
-
wave dep resolve --lane <lane> --id <id> --agent <id> [--detail "<text>"] [--status resolved|closed]
|
|
396
|
+
wave dep resolve --project <id> --lane <lane> --id <id> --agent <id> [--detail "<text>"] [--status resolved|closed]
|
|
393
397
|
```
|
|
394
398
|
|
|
395
399
|
**Render dependency snapshot:**
|
|
396
400
|
|
|
397
401
|
```
|
|
398
|
-
wave dep render --lane <lane> [--wave <n>] [--json]
|
|
402
|
+
wave dep render --project <id> --lane <lane> [--wave <n>] [--json]
|
|
399
403
|
```
|
|
400
404
|
|
|
401
405
|
## wave benchmark
|
|
@@ -417,7 +421,7 @@ wave benchmark show --case <id> [--json]
|
|
|
417
421
|
**Run local benchmark cases:**
|
|
418
422
|
|
|
419
423
|
```
|
|
420
|
-
wave benchmark run [--case <id>] [--family <id>] [--benchmark <id>] [--arm <id>] [--output-dir <path>] [--json]
|
|
424
|
+
wave benchmark run [--project <id>] [--lane <lane>] [--case <id>] [--family <id>] [--benchmark <id>] [--arm <id>] [--output-dir <path>] [--json]
|
|
421
425
|
```
|
|
422
426
|
|
|
423
427
|
**List external adapters:**
|
|
@@ -431,8 +435,8 @@ wave benchmark adapters [--json]
|
|
|
431
435
|
```
|
|
432
436
|
wave benchmark external-list [--adapter <id>] [--json]
|
|
433
437
|
wave benchmark external-show --adapter <id> --manifest <path> [--json]
|
|
434
|
-
wave benchmark external-run --adapter <id> --manifest <path> [--arm <id>] [--model <id>] [options]
|
|
435
|
-
wave benchmark external-pilots --
|
|
438
|
+
wave benchmark external-run --adapter <id> [--project <id>] [--lane <lane>] --manifest <path> [--arm <id>] [--model <id>] [options]
|
|
439
|
+
wave benchmark external-pilots [--project <id>] [--lane <lane>] [--json]
|
|
436
440
|
```
|
|
437
441
|
|
|
438
442
|
## wave retry
|
|
@@ -442,13 +446,13 @@ Legacy retry control. Prefer `wave control rerun`.
|
|
|
442
446
|
**Show active retry override:**
|
|
443
447
|
|
|
444
448
|
```
|
|
445
|
-
wave retry show --lane <lane> --wave <n> [--json]
|
|
449
|
+
wave retry show --project <id> --lane <lane> --wave <n> [--json]
|
|
446
450
|
```
|
|
447
451
|
|
|
448
452
|
**Apply a retry override:**
|
|
449
453
|
|
|
450
454
|
```
|
|
451
|
-
wave retry apply --lane <lane> --wave <n> \
|
|
455
|
+
wave retry apply --project <id> --lane <lane> --wave <n> \
|
|
452
456
|
[--agent <id> ...] \
|
|
453
457
|
[--clear-reuse <id> ...] [--preserve-reuse <id> ...] \
|
|
454
458
|
[--resume-phase <phase>] \
|
|
@@ -460,7 +464,7 @@ Requires either `--agent` or `--resume-phase`.
|
|
|
460
464
|
**Clear retry override:**
|
|
461
465
|
|
|
462
466
|
```
|
|
463
|
-
wave retry clear --lane <lane> --wave <n>
|
|
467
|
+
wave retry clear --project <id> --lane <lane> --wave <n>
|
|
464
468
|
```
|
|
465
469
|
|
|
466
470
|
## wave proof
|
|
@@ -470,13 +474,13 @@ Legacy proof registration. Prefer `wave control proof`.
|
|
|
470
474
|
**Show proof registry:**
|
|
471
475
|
|
|
472
476
|
```
|
|
473
|
-
wave proof show --lane <lane> --wave <n> [--agent <id>] [--json]
|
|
477
|
+
wave proof show --project <id> --lane <lane> --wave <n> [--agent <id>] [--json]
|
|
474
478
|
```
|
|
475
479
|
|
|
476
480
|
**Register proof:**
|
|
477
481
|
|
|
478
482
|
```
|
|
479
|
-
wave proof register --lane <lane> --wave <n> --agent <id> \
|
|
483
|
+
wave proof register --project <id> --lane <lane> --wave <n> --agent <id> \
|
|
480
484
|
--artifact <path> [--artifact <path> ...] \
|
|
481
485
|
[--component <id[:level]> ...] \
|
|
482
486
|
[--authoritative] [--satisfy-owned-components] \
|
|
@@ -497,8 +501,8 @@ wave local --prompt <path> [--log <path>] [--status <path>]
|
|
|
497
501
|
Live dashboard viewer.
|
|
498
502
|
|
|
499
503
|
```
|
|
500
|
-
wave dashboard --dashboard-file <path> [--lane <lane>] [--message-board <path>] [--watch] [--refresh-ms <n>]
|
|
501
|
-
wave dashboard --lane <lane> --attach current|global
|
|
504
|
+
wave dashboard --dashboard-file <path> [--project <id>] [--lane <lane>] [--message-board <path>] [--watch] [--refresh-ms <n>]
|
|
505
|
+
wave dashboard --project <id> --lane <lane> --attach current|global
|
|
502
506
|
```
|
|
503
507
|
|
|
504
508
|
## Workspace Commands
|
|
@@ -538,17 +542,17 @@ wave doctor [--json]
|
|
|
538
542
|
**Setup project profile:**
|
|
539
543
|
|
|
540
544
|
```
|
|
541
|
-
wave project setup
|
|
542
|
-
wave project show [--json]
|
|
545
|
+
wave project setup [--project <id>] [--json]
|
|
546
|
+
wave project show [--project <id>] [--json]
|
|
543
547
|
```
|
|
544
548
|
|
|
545
549
|
**Draft waves:**
|
|
546
550
|
|
|
547
551
|
```
|
|
548
|
-
wave draft --wave <n> [--template implementation|qa|infra|release]
|
|
549
|
-
wave draft --agentic --task "<description>" --from-wave <n>
|
|
552
|
+
wave draft --wave <n> [--project <id>] [--lane <lane>] [--template implementation|qa|infra|release]
|
|
553
|
+
wave draft --agentic --task "<description>" --from-wave <n> [--project <id>] [--lane <lane>]
|
|
550
554
|
wave draft --show-run <run-id>
|
|
551
|
-
wave draft --apply-run <run-id>
|
|
555
|
+
wave draft --apply-run <run-id> [--project <id>]
|
|
552
556
|
```
|
|
553
557
|
|
|
554
558
|
Interactive draft currently offers worker role kinds:
|
|
@@ -561,25 +565,25 @@ Interactive draft currently offers worker role kinds:
|
|
|
561
565
|
- `research`
|
|
562
566
|
- `security`
|
|
563
567
|
|
|
564
|
-
Agentic planner payloads also accept `workerAgents[].roleKind = "design"`. The shipped `0.
|
|
568
|
+
Agentic planner payloads also accept `workerAgents[].roleKind = "design"`. The shipped `0.9.0` 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.
|
|
565
569
|
|
|
566
570
|
## Ad-Hoc Task Commands
|
|
567
571
|
|
|
568
572
|
**Plan and run ad-hoc tasks:**
|
|
569
573
|
|
|
570
574
|
```
|
|
571
|
-
wave adhoc plan --task "<description>"
|
|
572
|
-
wave adhoc run --task "<description>" [--yes] [--executor <id>]
|
|
573
|
-
wave adhoc list [--json]
|
|
575
|
+
wave adhoc plan --task "<description>" [--project <id>] [--lane <lane>]
|
|
576
|
+
wave adhoc run --task "<description>" [--project <id>] [--lane <lane>] [--yes] [--executor <id>]
|
|
577
|
+
wave adhoc list [--project <id>] [--lane <lane>] [--json]
|
|
574
578
|
wave adhoc show --run <id> [--json]
|
|
575
|
-
wave adhoc promote --run <id> --wave <n>
|
|
579
|
+
wave adhoc promote --run <id> [--project <id>] --wave <n>
|
|
576
580
|
```
|
|
577
581
|
|
|
578
582
|
## Common Patterns
|
|
579
583
|
|
|
580
584
|
### Lane and wave targeting
|
|
581
585
|
|
|
582
|
-
Most coordination commands accept `--lane` (default: `main`) and `--wave` (required). For ad-hoc runs, use `--run <id>` which
|
|
586
|
+
Most coordination commands accept `--project` plus `--lane` (default lane: `main`) and `--wave` (required). For ad-hoc runs, use `--run <id>` which resolves the matching project and lane and defaults wave to 0.
|
|
583
587
|
|
|
584
588
|
### JSON output
|
|
585
589
|
|
|
@@ -595,6 +599,6 @@ Flags like `--agent`, `--artifact`, `--component`, `--target`, and `--depends-on
|
|
|
595
599
|
|
|
596
600
|
```bash
|
|
597
601
|
# These are equivalent:
|
|
598
|
-
wave control rerun request --lane main --wave 0 --agent A2 --agent A7
|
|
599
|
-
wave control rerun request --lane main --wave 0 --agent A2,A7
|
|
602
|
+
wave control rerun request --project app --lane main --wave 0 --agent A2 --agent A7
|
|
603
|
+
wave control rerun request --project app --lane main --wave 0 --agent A2,A7
|
|
600
604
|
```
|
|
@@ -134,7 +134,7 @@ Practical rule:
|
|
|
134
134
|
|
|
135
135
|
That means a targeted helper request only blocks while it remains open *and* still has blocking severity in coordination state.
|
|
136
136
|
|
|
137
|
-
For the practical `0.
|
|
137
|
+
For the practical `0.9.0` recommendation on when to keep records blocking versus when to downgrade them to `soft`, `stale`, or `advisory`, see [../guides/recommendations-0.9.0.md](../guides/recommendations-0.9.0.md).
|
|
138
138
|
|
|
139
139
|
This page is documenting runtime semantics first. The important contract is that closure follows the durable coordination state, not that a particular human or agent used one exact command path to mutate it.
|
|
140
140
|
|
|
@@ -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.
|
|
5
|
+
The current `0.9.0` 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.
|
|
51
|
+
5. Push the release commit and release tag, for example `v0.9.0`.
|
|
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.
|