@chllming/wave-orchestration 0.6.3 → 0.7.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.
Files changed (118) hide show
  1. package/CHANGELOG.md +82 -1
  2. package/README.md +40 -7
  3. package/docs/agents/wave-orchestrator-role.md +50 -0
  4. package/docs/agents/wave-planner-role.md +39 -0
  5. package/docs/context7/bundles.json +9 -0
  6. package/docs/context7/planner-agent/README.md +25 -0
  7. package/docs/context7/planner-agent/manifest.json +83 -0
  8. package/docs/context7/planner-agent/papers/cooperbench-why-coding-agents-cannot-be-your-teammates-yet.md +3283 -0
  9. package/docs/context7/planner-agent/papers/dova-deliberation-first-multi-agent-orchestration-for-autonomous-research-automation.md +1699 -0
  10. package/docs/context7/planner-agent/papers/dpbench-large-language-models-struggle-with-simultaneous-coordination.md +2251 -0
  11. package/docs/context7/planner-agent/papers/incremental-planning-to-control-a-blackboard-based-problem-solver.md +1729 -0
  12. package/docs/context7/planner-agent/papers/silo-bench-a-scalable-environment-for-evaluating-distributed-coordination-in-multi-agent-llm-systems.md +3747 -0
  13. package/docs/context7/planner-agent/papers/todoevolve-learning-to-architect-agent-planning-systems.md +1675 -0
  14. package/docs/context7/planner-agent/papers/verified-multi-agent-orchestration-a-plan-execute-verify-replan-framework-for-complex-query-resolution.md +1173 -0
  15. package/docs/context7/planner-agent/papers/why-do-multi-agent-llm-systems-fail.md +5211 -0
  16. package/docs/context7/planner-agent/topics/planning-and-orchestration.md +24 -0
  17. package/docs/evals/README.md +96 -1
  18. package/docs/evals/arm-templates/README.md +13 -0
  19. package/docs/evals/arm-templates/full-wave.json +15 -0
  20. package/docs/evals/arm-templates/single-agent.json +15 -0
  21. package/docs/evals/benchmark-catalog.json +7 -0
  22. package/docs/evals/cases/README.md +47 -0
  23. package/docs/evals/cases/wave-blackboard-inbox-targeting.json +73 -0
  24. package/docs/evals/cases/wave-contradiction-conflict.json +104 -0
  25. package/docs/evals/cases/wave-expert-routing-preservation.json +69 -0
  26. package/docs/evals/cases/wave-hidden-profile-private-evidence.json +81 -0
  27. package/docs/evals/cases/wave-premature-closure-guard.json +71 -0
  28. package/docs/evals/cases/wave-silo-cross-agent-state.json +77 -0
  29. package/docs/evals/cases/wave-simultaneous-lockstep.json +92 -0
  30. package/docs/evals/cooperbench/real-world-mitigation.md +341 -0
  31. package/docs/evals/external-benchmarks.json +85 -0
  32. package/docs/evals/external-command-config.sample.json +9 -0
  33. package/docs/evals/external-command-config.swe-bench-pro.json +8 -0
  34. package/docs/evals/pilots/README.md +47 -0
  35. package/docs/evals/pilots/swe-bench-pro-public-full-wave-review-10.json +64 -0
  36. package/docs/evals/pilots/swe-bench-pro-public-pilot.json +111 -0
  37. package/docs/evals/wave-benchmark-program.md +302 -0
  38. package/docs/guides/planner.md +67 -11
  39. package/docs/guides/terminal-surfaces.md +12 -0
  40. package/docs/plans/context7-wave-orchestrator.md +20 -0
  41. package/docs/plans/current-state.md +8 -1
  42. package/docs/plans/examples/wave-benchmark-improvement.md +108 -0
  43. package/docs/plans/examples/wave-example-live-proof.md +1 -1
  44. package/docs/plans/examples/wave-example-rollout-fidelity.md +340 -0
  45. package/docs/plans/migration.md +26 -0
  46. package/docs/plans/wave-orchestrator.md +60 -12
  47. package/docs/plans/waves/reviews/wave-1-benchmark-operator.md +118 -0
  48. package/docs/reference/cli-reference.md +547 -0
  49. package/docs/reference/coordination-and-closure.md +436 -0
  50. package/docs/reference/live-proof-waves.md +25 -3
  51. package/docs/reference/npmjs-trusted-publishing.md +3 -3
  52. package/docs/reference/proof-metrics.md +90 -0
  53. package/docs/reference/runtime-config/README.md +63 -2
  54. package/docs/reference/runtime-config/codex.md +2 -1
  55. package/docs/reference/sample-waves.md +29 -18
  56. package/docs/reference/wave-control.md +164 -0
  57. package/docs/reference/wave-planning-lessons.md +131 -0
  58. package/package.json +5 -4
  59. package/releases/manifest.json +40 -0
  60. package/scripts/research/agent-context-archive.mjs +18 -0
  61. package/scripts/research/manifests/agent-context-expanded-2026-03-22.mjs +17 -0
  62. package/scripts/research/sync-planner-context7-bundle.mjs +133 -0
  63. package/scripts/wave-orchestrator/agent-state.mjs +11 -2
  64. package/scripts/wave-orchestrator/artifact-schemas.mjs +232 -0
  65. package/scripts/wave-orchestrator/autonomous.mjs +7 -0
  66. package/scripts/wave-orchestrator/benchmark-cases.mjs +374 -0
  67. package/scripts/wave-orchestrator/benchmark-external.mjs +1384 -0
  68. package/scripts/wave-orchestrator/benchmark.mjs +972 -0
  69. package/scripts/wave-orchestrator/clarification-triage.mjs +78 -12
  70. package/scripts/wave-orchestrator/config.mjs +175 -0
  71. package/scripts/wave-orchestrator/control-cli.mjs +1216 -0
  72. package/scripts/wave-orchestrator/control-plane.mjs +697 -0
  73. package/scripts/wave-orchestrator/coord-cli.mjs +360 -2
  74. package/scripts/wave-orchestrator/coordination-store.mjs +211 -9
  75. package/scripts/wave-orchestrator/coordination.mjs +84 -0
  76. package/scripts/wave-orchestrator/dashboard-renderer.mjs +120 -5
  77. package/scripts/wave-orchestrator/dashboard-state.mjs +22 -0
  78. package/scripts/wave-orchestrator/evals.mjs +23 -0
  79. package/scripts/wave-orchestrator/executors.mjs +3 -2
  80. package/scripts/wave-orchestrator/feedback.mjs +55 -0
  81. package/scripts/wave-orchestrator/install.mjs +151 -2
  82. package/scripts/wave-orchestrator/launcher-closure.mjs +4 -1
  83. package/scripts/wave-orchestrator/launcher-runtime.mjs +33 -30
  84. package/scripts/wave-orchestrator/launcher.mjs +884 -36
  85. package/scripts/wave-orchestrator/planner-context.mjs +75 -0
  86. package/scripts/wave-orchestrator/planner.mjs +2270 -136
  87. package/scripts/wave-orchestrator/proof-cli.mjs +195 -0
  88. package/scripts/wave-orchestrator/proof-registry.mjs +317 -0
  89. package/scripts/wave-orchestrator/replay.mjs +10 -4
  90. package/scripts/wave-orchestrator/retry-cli.mjs +184 -0
  91. package/scripts/wave-orchestrator/retry-control.mjs +225 -0
  92. package/scripts/wave-orchestrator/shared.mjs +26 -0
  93. package/scripts/wave-orchestrator/swe-bench-pro-task.mjs +1004 -0
  94. package/scripts/wave-orchestrator/terminals.mjs +1 -1
  95. package/scripts/wave-orchestrator/traces.mjs +157 -2
  96. package/scripts/wave-orchestrator/wave-control-client.mjs +532 -0
  97. package/scripts/wave-orchestrator/wave-control-schema.mjs +309 -0
  98. package/scripts/wave-orchestrator/wave-files.mjs +144 -23
  99. package/scripts/wave.mjs +27 -0
  100. package/skills/repo-coding-rules/SKILL.md +1 -0
  101. package/skills/role-cont-eval/SKILL.md +1 -0
  102. package/skills/role-cont-qa/SKILL.md +13 -6
  103. package/skills/role-deploy/SKILL.md +1 -0
  104. package/skills/role-documentation/SKILL.md +4 -0
  105. package/skills/role-implementation/SKILL.md +4 -0
  106. package/skills/role-infra/SKILL.md +2 -1
  107. package/skills/role-integration/SKILL.md +15 -8
  108. package/skills/role-planner/SKILL.md +39 -0
  109. package/skills/role-planner/skill.json +21 -0
  110. package/skills/role-research/SKILL.md +1 -0
  111. package/skills/role-security/SKILL.md +2 -2
  112. package/skills/runtime-claude/SKILL.md +2 -1
  113. package/skills/runtime-codex/SKILL.md +1 -0
  114. package/skills/runtime-local/SKILL.md +2 -0
  115. package/skills/runtime-opencode/SKILL.md +1 -0
  116. package/skills/wave-core/SKILL.md +25 -6
  117. package/skills/wave-core/references/marker-syntax.md +16 -8
  118. package/wave.config.json +45 -0
@@ -0,0 +1,547 @@
1
+ ---
2
+ title: "CLI Reference"
3
+ summary: "Complete syntax reference for all wave CLI commands, flags, and operator surfaces."
4
+ ---
5
+
6
+ # CLI Reference
7
+
8
+ Complete syntax for every `wave` command. All commands use `pnpm exec wave` as the entry point.
9
+
10
+ ## wave launch
11
+
12
+ Launch waves for execution.
13
+
14
+ ```
15
+ wave launch [options]
16
+ ```
17
+
18
+ | Flag | Default | Description |
19
+ |------|---------|-------------|
20
+ | `--lane <name>` | `main` | Lane name |
21
+ | `--start-wave <n>` | `0` | First wave to launch |
22
+ | `--end-wave <n>` | last available | Last wave to launch |
23
+ | `--auto-next` | off | Start from next unfinished wave and continue |
24
+ | `--resume-control-state` | off | Preserve the prior auto-generated relaunch plan instead of treating the launch as a fresh wave start |
25
+ | `--executor <id>` | lane config | Default executor: `codex`, `claude`, `opencode`, `local` |
26
+ | `--codex-sandbox <mode>` | `danger-full-access` | Codex sandbox isolation level |
27
+ | `--timeout-minutes <n>` | `60` | Max minutes to wait per wave |
28
+ | `--max-retries-per-wave <n>` | `3` | Relaunch failed agents per wave |
29
+ | `--agent-rate-limit-retries <n>` | `3` | Per-agent retries for 429 errors |
30
+ | `--agent-rate-limit-base-delay-seconds <n>` | `1` | Base exponential backoff for 429 |
31
+ | `--agent-rate-limit-max-delay-seconds <n>` | `60` | Max backoff delay for 429 |
32
+ | `--agent-launch-stagger-ms <n>` | `250` | Delay between agent launches |
33
+ | `--terminal-surface <mode>` | configured | `tmux`, `vscode`, or `none` |
34
+ | `--no-dashboard` | off | Disable per-wave tmux dashboard |
35
+ | `--cleanup-sessions` | on | Kill lane tmux sessions after each wave |
36
+ | `--keep-sessions` | off | Keep lane tmux sessions |
37
+ | `--keep-terminals` | off | Keep temporary terminal entries |
38
+ | `--orchestrator-id <id>` | generated | Stable orchestrator identity |
39
+ | `--resident-orchestrator` | off | Launch long-running non-owning orchestrator session |
40
+ | `--no-telemetry` | off | Disable Wave Control event publication |
41
+ | `--no-context7` | off | Disable Context7 prefetch |
42
+ | `--dry-run` | off | Parse and validate only; do not execute |
43
+ | `--reconcile-status` | off | Reconcile run-state from status files and exit |
44
+ | `--state-file <path>` | default | Path to run-state JSON |
45
+ | `--manifest-out <path>` | default | Write parsed manifest JSON |
46
+
47
+ ## wave autonomous
48
+
49
+ Continuous wave execution without manual wave-by-wave invocation.
50
+
51
+ ```
52
+ wave autonomous [options]
53
+ ```
54
+
55
+ | Flag | Default | Description |
56
+ |------|---------|-------------|
57
+ | `--lane <name>` | `main` | Lane name |
58
+ | `--executor <id>` | lane config | `codex`, `claude`, or `opencode` (not `local`) |
59
+ | `--codex-sandbox <mode>` | `danger-full-access` | Codex sandbox mode |
60
+ | `--timeout-minutes <n>` | `60` | Per-wave timeout passed to launcher |
61
+ | `--max-retries-per-wave <n>` | `3` | Per-wave relaunches inside launcher |
62
+ | `--max-attempts-per-wave <n>` | `1` | External attempts per wave |
63
+ | `--agent-rate-limit-retries <n>` | `3` | Per-agent 429 retries |
64
+ | `--agent-rate-limit-base-delay-seconds <n>` | `1` | Base 429 backoff |
65
+ | `--agent-rate-limit-max-delay-seconds <n>` | `60` | Max 429 backoff |
66
+ | `--agent-launch-stagger-ms <n>` | `250` | Delay between agent launches |
67
+ | `--orchestrator-id <id>` | `<lane>-autonomous` | Orchestrator identity |
68
+ | `--resident-orchestrator` | off | Launch resident orchestrator for each wave |
69
+ | `--dashboard` | off | Enable dashboards |
70
+ | `--keep-sessions` | off | Keep tmux sessions between waves |
71
+ | `--keep-terminals` | off | Keep terminal entries between waves |
72
+
73
+ ## wave control
74
+
75
+ Unified operator control surface. Preferred over legacy `wave coord`, `wave retry`, and `wave proof`.
76
+
77
+ ### wave control status
78
+
79
+ Read-only view: blocking edges, logical agent state, tasks, dependencies, rerun intent, proof bundles, and next timers.
80
+
81
+ 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.
82
+
83
+ ```
84
+ wave control status --lane <lane> --wave <n> [--agent <id>] [--run <id>] [--json]
85
+ ```
86
+
87
+ ### wave control telemetry
88
+
89
+ Inspect and deliver the local Wave Control event queue.
90
+
91
+ ```
92
+ wave control telemetry status --lane <lane> [--run <id>] [--json]
93
+ wave control telemetry flush --lane <lane> [--run <id>] [--json]
94
+ ```
95
+
96
+ ### wave control task
97
+
98
+ Operator task surface for coordination records.
99
+
100
+ **Create a task:**
101
+
102
+ ```
103
+ wave control task create \
104
+ --lane <lane> --wave <n> --agent <id> \
105
+ --kind <kind> --summary "<text>" \
106
+ [--detail "<text>"] [--target <agent-or-capability>] \
107
+ [--priority normal|high] [--depends-on <id>] \
108
+ [--artifact <ref>] [--operator <name>] [--json]
109
+ ```
110
+
111
+ Valid `--kind` values: `request`, `blocker`, `clarification`, `handoff`, `evidence`, `claim`, `decision`, `human-input`.
112
+
113
+ Only `request`, `blocker`, `clarification`, `human-input`, and `escalation` are treated as blocking edges by `wave control status`. The rest (`handoff`, `evidence`, `claim`, `decision`) are informational.
114
+
115
+ **List tasks:**
116
+
117
+ ```
118
+ wave control task list --lane <lane> --wave <n> [--agent <id>] [--json]
119
+ ```
120
+
121
+ **Get a single task:**
122
+
123
+ ```
124
+ wave control task get --lane <lane> --wave <n> --id <task-id> [--json]
125
+ ```
126
+
127
+ **Act on a task:**
128
+
129
+ ```
130
+ wave control task act <action> \
131
+ --lane <lane> --wave <n> --id <task-id> \
132
+ [--detail "<text>"] [--operator <name>] [--json]
133
+ ```
134
+
135
+ Actions:
136
+
137
+ | Action | Extra flags | Effect |
138
+ |--------|------------|--------|
139
+ | `start` | — | Mark task in-progress |
140
+ | `resolve` | `[--detail]` | Close the task as resolved |
141
+ | `dismiss` | `[--detail]` | Close the task as not applicable |
142
+ | `cancel` | `[--detail]` | Cancel the task |
143
+ | `reassign` | `--to <agent>` | Supersede the original, reroute to a new agent |
144
+ | `answer` | `--response "<text>"` | Answer a human-input or escalation task |
145
+ | `escalate` | `[--detail]` | Escalate to human feedback queue |
146
+
147
+ **Operator answer example** (responding to a human-input escalation):
148
+
149
+ ```bash
150
+ pnpm exec wave control task act answer \
151
+ --lane main --wave 4 --id escalation-clarify-a7-rollout \
152
+ --response "The rollout strategy is canary-then-full. Use the Railway MCP health endpoint." \
153
+ --operator ops-lead
154
+ ```
155
+
156
+ ### wave control rerun
157
+
158
+ Targeted rerun intent with agent selection, reuse control, and component invalidation.
159
+
160
+ **Request a rerun:**
161
+
162
+ ```
163
+ wave control rerun request \
164
+ --lane <lane> --wave <n> \
165
+ [--agent <id> ...] \
166
+ [--clear-reuse <id> ...] [--preserve-reuse <id> ...] \
167
+ [--invalidate-component <id> ...] \
168
+ [--resume-cursor <cursor>] \
169
+ [--reuse-attempt <id> ...] [--reuse-proof <id> ...] \
170
+ [--reuse-derived-summaries true|false] \
171
+ [--requested-by <name>] [--reason "<text>"] [--json]
172
+ ```
173
+
174
+ `--agent` is repeatable or comma-separated. At least one of `--agent` or `--resume-cursor` is required.
175
+
176
+ **Get active rerun request:**
177
+
178
+ ```
179
+ wave control rerun get --lane <lane> --wave <n> [--json]
180
+ ```
181
+
182
+ **Clear rerun request:**
183
+
184
+ ```
185
+ wave control rerun clear --lane <lane> --wave <n>
186
+ ```
187
+
188
+ ### wave control proof
189
+
190
+ Authoritative proof bundle lifecycle (active → superseded → revoked).
191
+
192
+ **Register a proof bundle:**
193
+
194
+ ```
195
+ wave control proof register \
196
+ --lane <lane> --wave <n> --agent <id> \
197
+ --artifact <path> [--artifact <path> ...] \
198
+ [--component <id[:level]> ...] \
199
+ [--authoritative] [--satisfy-owned-components] \
200
+ [--completion <level>] [--durability <level>] [--proof-level <level>] \
201
+ [--doc-delta <state>] [--operator <name>] [--detail "<text>"] [--json]
202
+ ```
203
+
204
+ **Get proof bundles:**
205
+
206
+ ```
207
+ wave control proof get --lane <lane> --wave <n> [--agent <id>] [--id <bundle-id>] [--json]
208
+ ```
209
+
210
+ **Supersede a bundle** (register new evidence and mark the old bundle superseded):
211
+
212
+ ```
213
+ wave control proof supersede \
214
+ --lane <lane> --wave <n> --id <old-bundle-id> \
215
+ --agent <id> --artifact <path> [--artifact <path> ...] \
216
+ [same options as register] [--json]
217
+ ```
218
+
219
+ **Revoke a bundle:**
220
+
221
+ ```
222
+ wave control proof revoke \
223
+ --lane <lane> --wave <n> --id <bundle-id> \
224
+ [--operator <name>] [--detail "<text>"] [--json]
225
+ ```
226
+
227
+ ## wave coord
228
+
229
+ Coordination log access. Legacy surface; prefer `wave control task` for new work.
230
+
231
+ **Post a coordination record:**
232
+
233
+ ```
234
+ wave coord post \
235
+ --lane <lane> --wave <n> --agent <id> \
236
+ --kind <kind> --summary "<text>" \
237
+ [--detail "<text>"] [--target <agent>] \
238
+ [--priority normal|high] [--depends-on <id>] \
239
+ [--artifact <ref>] [--status <status>] [--dry-run]
240
+ ```
241
+
242
+ **Show materialized coordination state:**
243
+
244
+ ```
245
+ wave coord show --lane <lane> --wave <n> [--dry-run] [--json]
246
+ ```
247
+
248
+ **Render markdown board from JSONL log:**
249
+
250
+ ```
251
+ wave coord render --lane <lane> --wave <n> [--dry-run]
252
+ ```
253
+
254
+ **Compile shared summary and agent inbox:**
255
+
256
+ ```
257
+ wave coord inbox --lane <lane> --wave <n> --agent <id> [--dry-run]
258
+ ```
259
+
260
+ **Explain why blocked or retrying:**
261
+
262
+ ```
263
+ wave coord explain --lane <lane> --wave <n> [--agent <id>] [--json]
264
+ ```
265
+
266
+ **Act on a coordination record:**
267
+
268
+ ```
269
+ wave coord act <operation> --lane <lane> --wave <n> --id <id> [options]
270
+ ```
271
+
272
+ | Operation | Extra flags | Effect |
273
+ |-----------|------------|--------|
274
+ | `resolve` | `[--detail]` | Resolve the record |
275
+ | `dismiss` | `[--detail]` | Dismiss the record |
276
+ | `reroute` | `--to <agent>` | Reroute to another agent |
277
+ | `reassign` | `--to <agent>` | Reassign to another agent |
278
+ | `escalate` | `[--detail]` | Escalate to human feedback |
279
+ | `answer-human` | `--response "<text>"` | Answer a human feedback request |
280
+
281
+ All `wave coord` subcommands accept `--run <id>` as a shorthand that sets the lane and wave to 0 for ad-hoc runs.
282
+
283
+ ## wave feedback
284
+
285
+ Human feedback request queue. Final escalation layer after orchestrator-first triage.
286
+
287
+ **Create a feedback request:**
288
+
289
+ ```
290
+ wave feedback ask \
291
+ --lane <lane> --wave <n> --agent <id> \
292
+ --question "<text>" [--context "<text>"] \
293
+ [--orchestrator-id <id>] [--wait] [--timeout-seconds <n>]
294
+ ```
295
+
296
+ **Respond to a feedback request:**
297
+
298
+ ```
299
+ wave feedback respond \
300
+ --id <request-id> --response "<text>" \
301
+ [--operator <name>] [--force]
302
+ ```
303
+
304
+ `--force` overrides a previously answered request.
305
+
306
+ **List feedback requests:**
307
+
308
+ ```
309
+ wave feedback list [--lane <lane>] [--wave <n>] [--agent <id>] [--pending] [--json]
310
+ ```
311
+
312
+ **Watch for new requests:**
313
+
314
+ ```
315
+ wave feedback watch [--lane <lane>] [--wave <n>] [--agent <id>] [--pending] [--refresh-ms <n>]
316
+ ```
317
+
318
+ **Show a single request:**
319
+
320
+ ```
321
+ wave feedback show --id <request-id>
322
+ ```
323
+
324
+ ## wave dep
325
+
326
+ Cross-lane dependency management.
327
+
328
+ **Post a dependency ticket:**
329
+
330
+ ```
331
+ wave dep post \
332
+ --owner-lane <lane> --requester-lane <lane> \
333
+ --owner-wave <n> --requester-wave <n> \
334
+ --agent <id> --summary "<text>" \
335
+ [--detail "<text>"] [--target <agent>] \
336
+ [--artifact <ref>] [--priority normal|high] \
337
+ [--closure-condition "<text>"] [--required] [--json]
338
+ ```
339
+
340
+ `--required` means the dependency blocks autonomous launch and lane finalization.
341
+
342
+ **Show dependencies:**
343
+
344
+ ```
345
+ wave dep show --lane <lane> [--wave <n>] [--json]
346
+ ```
347
+
348
+ **Resolve a dependency:**
349
+
350
+ ```
351
+ wave dep resolve --lane <lane> --id <id> --agent <id> [--detail "<text>"] [--status resolved|closed]
352
+ ```
353
+
354
+ **Render dependency snapshot:**
355
+
356
+ ```
357
+ wave dep render --lane <lane> [--wave <n>] [--json]
358
+ ```
359
+
360
+ ## wave benchmark
361
+
362
+ Local and external benchmark execution.
363
+
364
+ **List local cases:**
365
+
366
+ ```
367
+ wave benchmark list [--json]
368
+ ```
369
+
370
+ **Show a case definition:**
371
+
372
+ ```
373
+ wave benchmark show --case <id> [--json]
374
+ ```
375
+
376
+ **Run local benchmark cases:**
377
+
378
+ ```
379
+ wave benchmark run [--case <id>] [--family <id>] [--benchmark <id>] [--arm <id>] [--output-dir <path>] [--json]
380
+ ```
381
+
382
+ **List external adapters:**
383
+
384
+ ```
385
+ wave benchmark adapters [--json]
386
+ ```
387
+
388
+ **External benchmark commands:**
389
+
390
+ ```
391
+ wave benchmark external-list [--adapter <id>] [--json]
392
+ wave benchmark external-show --adapter <id> --manifest <path> [--json]
393
+ wave benchmark external-run --adapter <id> --manifest <path> [--arm <id>] [--model <id>] [options]
394
+ wave benchmark external-pilots --adapter <id> [--json]
395
+ ```
396
+
397
+ ## wave retry
398
+
399
+ Legacy retry control. Prefer `wave control rerun`.
400
+
401
+ **Show active retry override:**
402
+
403
+ ```
404
+ wave retry show --lane <lane> --wave <n> [--json]
405
+ ```
406
+
407
+ **Apply a retry override:**
408
+
409
+ ```
410
+ wave retry apply --lane <lane> --wave <n> \
411
+ [--agent <id> ...] \
412
+ [--clear-reuse <id> ...] [--preserve-reuse <id> ...] \
413
+ [--resume-phase <phase>] \
414
+ [--requested-by <name>] [--reason "<text>"] [--json]
415
+ ```
416
+
417
+ Requires either `--agent` or `--resume-phase`.
418
+
419
+ **Clear retry override:**
420
+
421
+ ```
422
+ wave retry clear --lane <lane> --wave <n>
423
+ ```
424
+
425
+ ## wave proof
426
+
427
+ Legacy proof registration. Prefer `wave control proof`.
428
+
429
+ **Show proof registry:**
430
+
431
+ ```
432
+ wave proof show --lane <lane> --wave <n> [--agent <id>] [--json]
433
+ ```
434
+
435
+ **Register proof:**
436
+
437
+ ```
438
+ wave proof register --lane <lane> --wave <n> --agent <id> \
439
+ --artifact <path> [--artifact <path> ...] \
440
+ [--component <id[:level]> ...] \
441
+ [--authoritative] [--satisfy-owned-components] \
442
+ [--completion <level>] [--durability <level>] [--proof-level <level>] \
443
+ [--doc-delta <state>] [--operator <name>] [--detail "<text>"] [--json]
444
+ ```
445
+
446
+ ## wave local
447
+
448
+ Smoke executor for testing prompt generation and closure signal extraction.
449
+
450
+ ```
451
+ wave local --prompt <path> [--log <path>] [--status <path>]
452
+ ```
453
+
454
+ ## wave dashboard
455
+
456
+ Live dashboard viewer.
457
+
458
+ ```
459
+ wave dashboard --dashboard-file <path> [--lane <lane>] [--message-board <path>] [--watch] [--refresh-ms <n>]
460
+ wave dashboard --lane <lane> --attach current|global
461
+ ```
462
+
463
+ ## Workspace Commands
464
+
465
+ **Initialize workspace:**
466
+
467
+ ```
468
+ wave init [--adopt-existing]
469
+ ```
470
+
471
+ **Upgrade workspace after package update:**
472
+
473
+ ```
474
+ wave upgrade
475
+ ```
476
+
477
+ **One-command package update:**
478
+
479
+ ```
480
+ wave self-update
481
+ ```
482
+
483
+ **Show changelog since installed version:**
484
+
485
+ ```
486
+ wave changelog [--since-installed]
487
+ ```
488
+
489
+ **Health check:**
490
+
491
+ ```
492
+ wave doctor [--json]
493
+ ```
494
+
495
+ ## Planner Commands
496
+
497
+ **Setup project profile:**
498
+
499
+ ```
500
+ wave project setup
501
+ wave project show [--json]
502
+ ```
503
+
504
+ **Draft waves:**
505
+
506
+ ```
507
+ wave draft --wave <n> [--template implementation|qa|infra|release]
508
+ wave draft --agentic --task "<description>" --from-wave <n>
509
+ wave draft --show-run <run-id>
510
+ wave draft --apply-run <run-id>
511
+ ```
512
+
513
+ ## Ad-Hoc Task Commands
514
+
515
+ **Plan and run ad-hoc tasks:**
516
+
517
+ ```
518
+ wave adhoc plan --task "<description>"
519
+ wave adhoc run --task "<description>" [--yes] [--executor <id>]
520
+ wave adhoc list [--json]
521
+ wave adhoc show --run <id> [--json]
522
+ wave adhoc promote --run <id> --wave <n>
523
+ ```
524
+
525
+ ## Common Patterns
526
+
527
+ ### Lane and wave targeting
528
+
529
+ Most coordination commands accept `--lane` (default: `main`) and `--wave` (required). For ad-hoc runs, use `--run <id>` which sets the lane and defaults wave to 0.
530
+
531
+ ### JSON output
532
+
533
+ Most commands accept `--json` for machine-readable output.
534
+
535
+ ### Operator attribution
536
+
537
+ Commands that modify state accept `--operator <name>` (default: `human-operator`) for audit trails.
538
+
539
+ ### Repeatable flags
540
+
541
+ Flags like `--agent`, `--artifact`, `--component`, `--target`, and `--depends-on` can be repeated or comma-separated:
542
+
543
+ ```bash
544
+ # These are equivalent:
545
+ wave control rerun request --lane main --wave 0 --agent A2 --agent A7
546
+ wave control rerun request --lane main --wave 0 --agent A2,A7
547
+ ```