@chllming/wave-orchestration 0.6.3 → 0.7.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.
Files changed (112) hide show
  1. package/CHANGELOG.md +57 -1
  2. package/README.md +39 -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 +48 -11
  39. package/docs/plans/context7-wave-orchestrator.md +20 -0
  40. package/docs/plans/current-state.md +8 -1
  41. package/docs/plans/examples/wave-benchmark-improvement.md +108 -0
  42. package/docs/plans/examples/wave-example-live-proof.md +1 -1
  43. package/docs/plans/examples/wave-example-rollout-fidelity.md +340 -0
  44. package/docs/plans/wave-orchestrator.md +62 -11
  45. package/docs/plans/waves/reviews/wave-1-benchmark-operator.md +118 -0
  46. package/docs/reference/coordination-and-closure.md +436 -0
  47. package/docs/reference/live-proof-waves.md +25 -3
  48. package/docs/reference/npmjs-trusted-publishing.md +3 -3
  49. package/docs/reference/proof-metrics.md +90 -0
  50. package/docs/reference/runtime-config/README.md +61 -0
  51. package/docs/reference/sample-waves.md +29 -18
  52. package/docs/reference/wave-control.md +164 -0
  53. package/docs/reference/wave-planning-lessons.md +131 -0
  54. package/package.json +5 -4
  55. package/releases/manifest.json +18 -0
  56. package/scripts/research/agent-context-archive.mjs +18 -0
  57. package/scripts/research/manifests/agent-context-expanded-2026-03-22.mjs +17 -0
  58. package/scripts/research/sync-planner-context7-bundle.mjs +133 -0
  59. package/scripts/wave-orchestrator/artifact-schemas.mjs +232 -0
  60. package/scripts/wave-orchestrator/autonomous.mjs +7 -0
  61. package/scripts/wave-orchestrator/benchmark-cases.mjs +374 -0
  62. package/scripts/wave-orchestrator/benchmark-external.mjs +1384 -0
  63. package/scripts/wave-orchestrator/benchmark.mjs +972 -0
  64. package/scripts/wave-orchestrator/clarification-triage.mjs +78 -12
  65. package/scripts/wave-orchestrator/config.mjs +175 -0
  66. package/scripts/wave-orchestrator/control-cli.mjs +1123 -0
  67. package/scripts/wave-orchestrator/control-plane.mjs +697 -0
  68. package/scripts/wave-orchestrator/coord-cli.mjs +360 -2
  69. package/scripts/wave-orchestrator/coordination-store.mjs +211 -9
  70. package/scripts/wave-orchestrator/coordination.mjs +84 -0
  71. package/scripts/wave-orchestrator/dashboard-renderer.mjs +38 -3
  72. package/scripts/wave-orchestrator/dashboard-state.mjs +22 -0
  73. package/scripts/wave-orchestrator/evals.mjs +23 -0
  74. package/scripts/wave-orchestrator/executors.mjs +3 -2
  75. package/scripts/wave-orchestrator/feedback.mjs +55 -0
  76. package/scripts/wave-orchestrator/install.mjs +55 -1
  77. package/scripts/wave-orchestrator/launcher-closure.mjs +4 -1
  78. package/scripts/wave-orchestrator/launcher-runtime.mjs +24 -21
  79. package/scripts/wave-orchestrator/launcher.mjs +796 -35
  80. package/scripts/wave-orchestrator/planner-context.mjs +75 -0
  81. package/scripts/wave-orchestrator/planner.mjs +2270 -136
  82. package/scripts/wave-orchestrator/proof-cli.mjs +195 -0
  83. package/scripts/wave-orchestrator/proof-registry.mjs +317 -0
  84. package/scripts/wave-orchestrator/replay.mjs +10 -4
  85. package/scripts/wave-orchestrator/retry-cli.mjs +184 -0
  86. package/scripts/wave-orchestrator/retry-control.mjs +225 -0
  87. package/scripts/wave-orchestrator/shared.mjs +26 -0
  88. package/scripts/wave-orchestrator/swe-bench-pro-task.mjs +1004 -0
  89. package/scripts/wave-orchestrator/traces.mjs +157 -2
  90. package/scripts/wave-orchestrator/wave-control-client.mjs +532 -0
  91. package/scripts/wave-orchestrator/wave-control-schema.mjs +309 -0
  92. package/scripts/wave-orchestrator/wave-files.mjs +17 -5
  93. package/scripts/wave.mjs +27 -0
  94. package/skills/repo-coding-rules/SKILL.md +1 -0
  95. package/skills/role-cont-eval/SKILL.md +1 -0
  96. package/skills/role-cont-qa/SKILL.md +13 -6
  97. package/skills/role-deploy/SKILL.md +1 -0
  98. package/skills/role-documentation/SKILL.md +4 -0
  99. package/skills/role-implementation/SKILL.md +4 -0
  100. package/skills/role-infra/SKILL.md +2 -1
  101. package/skills/role-integration/SKILL.md +15 -8
  102. package/skills/role-planner/SKILL.md +39 -0
  103. package/skills/role-planner/skill.json +21 -0
  104. package/skills/role-research/SKILL.md +1 -0
  105. package/skills/role-security/SKILL.md +2 -2
  106. package/skills/runtime-claude/SKILL.md +2 -1
  107. package/skills/runtime-codex/SKILL.md +1 -0
  108. package/skills/runtime-local/SKILL.md +2 -0
  109. package/skills/runtime-opencode/SKILL.md +1 -0
  110. package/skills/wave-core/SKILL.md +25 -6
  111. package/skills/wave-core/references/marker-syntax.md +16 -8
  112. package/wave.config.json +45 -0
@@ -44,6 +44,7 @@ All context is in the prompt and added directories. There is no system prompt la
44
44
  - **No persistent state** -- each session starts clean. Do not rely on artifacts from previous sessions unless they are committed to the repo.
45
45
  - **Filesystem scope** -- write only to paths within the workspace. The sandbox may reject writes outside the project root.
46
46
  - **External APIs** -- avoid calling external APIs unless the task explicitly requires live verification. If network is unavailable, record the gap as a proof limitation.
47
+ - **Runtime state** -- do not edit files under `.tmp/` (coordination logs, control-plane events, proof registries, dashboards, traces). These are managed by the launcher and operator tooling. You may read them when they appear in `--add-dir` bundles.
47
48
 
48
49
  <!-- CUSTOMIZE: List allowed network targets or external API endpoints for your project here. -->
49
50
 
@@ -31,6 +31,8 @@ When running a local smoke validation, verify each of the following:
31
31
  5. **Skill resolution** -- all skills referenced in the wave definition resolve to existing skill directories with valid `skill.json` and `SKILL.md` files.
32
32
  6. **Context bundle integrity** -- if overlays or context bundles are generated, they exist at the declared paths and are non-empty.
33
33
  7. **Role assignment consistency** -- each agent has exactly one role, and the role matches a known role skill.
34
+ 8. **Proof artifact declarations** -- if the wave declares `### Proof artifacts`, verify the paths are concrete and plausible. Local smoke cannot verify artifact content but can validate declaration structure.
35
+ 9. **Control-plane readiness** -- verify the control-plane directory structure exists. Local smoke validates directory layout, not event content.
34
36
 
35
37
  Report each check as pass, fail, or skip with a one-line reason.
36
38
 
@@ -46,6 +46,7 @@ Both the agent prompt and injected instructions are authoritative. When they con
46
46
  - When an edit depends on understanding adjacent code, read the relevant context first.
47
47
  - If a needed change falls outside your ownership, record it as a follow-up request naming the owning agent, the file, and the change.
48
48
  - Generated overlays (context bundles, summaries) are read-only reference. Do not edit overlay files.
49
+ - Do not edit files under `.tmp/` (coordination logs, control-plane events, proof registries, dashboards, traces). These are managed by the launcher and operator tooling.
49
50
 
50
51
  ## Customization
51
52
 
@@ -14,7 +14,7 @@
14
14
 
15
15
  ## Coordination Protocol
16
16
 
17
- 1. Read the shared summary and your inbox at the start of every major step.
17
+ 1. Read the shared summary and your inbox at the start of every major step. Summaries and inboxes may refresh during execution, so re-read before major decisions.
18
18
  2. Post a coordination record when any of these occur:
19
19
  - meaningful progress on an exit contract deliverable
20
20
  - a blocker is discovered or resolved
@@ -26,7 +26,21 @@
26
26
  4. Do not batch coordination. Post records as events occur so downstream agents see them promptly.
27
27
  5. When a record references another agent, name that agent explicitly.
28
28
  6. Coordination records are append-only. Do not edit or delete previous records; post corrections as new records.
29
- 7. When you receive an inbox message that requires action, acknowledge it with a coordination record before proceeding.
29
+ 7. When you receive an inbox message that requires action, acknowledge it with a coordination record before proceeding. Unacknowledged requests become overdue and may be rerouted.
30
+
31
+ ## Coordination State
32
+
33
+ The canonical coordination state is the JSONL log under `.tmp/<lane>-wave-launcher/coordination/`. The markdown board is a generated projection for human reading, not the scheduler truth.
34
+
35
+ Operator tasks, rerun requests, proof bundles, and attempt lifecycle are tracked in a separate control-plane event log under `.tmp/<lane>-wave-launcher/control-plane/`. Proof registries and retry overrides under `proof/` and `control/` are projections from this log.
36
+
37
+ Operators interact through `wave control`:
38
+ - `wave control status` — why the wave is blocked or retrying.
39
+ - `wave control task` — create, list, and act on coordination tasks.
40
+ - `wave control rerun` — targeted retry intent.
41
+ - `wave control proof` — authoritative proof bundle lifecycle.
42
+
43
+ Legacy `wave coord`, `wave retry`, and `wave proof` remain available as compatibility surfaces.
30
44
 
31
45
  ## Ownership & Boundaries
32
46
 
@@ -46,6 +60,8 @@
46
60
  - Runtime-facing proof must be real evidence (logs, health checks, build output), not future-work notes.
47
61
  - Proof must be durable. Transient output (terminal scrollback, ephemeral logs) is not proof unless captured into a file.
48
62
  - When proof cannot be produced within the wave, record the gap explicitly with the reason and the follow-up owner.
63
+ - When the wave declares `### Proof artifacts`, those machine-visible local artifacts are required for closure in addition to deliverables and structured markers.
64
+ - Operators may register authoritative proof bundles via `wave control proof register`. Registered proof has lifecycle state: `active`, `superseded`, or `revoked`. Only active bundles satisfy closure. Do not rely on proof that has been revoked or superseded.
49
65
 
50
66
  ## Closure Checklist
51
67
 
@@ -65,13 +81,16 @@ If any condition is not met, the wave remains open. Do not approximate closure.
65
81
 
66
82
  Closure runs in staged order:
67
83
  1. Implementation and proof (all implementation agents).
68
- 2. cont-EVAL (if present) -- must report `satisfied` before integration runs.
69
- 3. Integration -- must report `ready-for-doc-closure` before documentation and cont-QA run.
70
- 4. Documentation -- must report `closed` or `no-change`.
71
- 5. cont-QA -- final verdict. Only PASS allows the wave to close.
84
+ 2. Optional security review -- must report `clear` or `concerns` before integration.
85
+ 3. cont-EVAL (if present) -- must report `satisfied` before integration runs.
86
+ 4. Integration -- must report `ready-for-doc-closure` before documentation and cont-QA run.
87
+ 5. Documentation -- must report `closed` or `no-change`.
88
+ 6. cont-QA -- final verdict. Only PASS allows the wave to close.
72
89
 
73
90
  Do not skip stages. Each stage depends on the prior stage completing.
74
91
 
92
+ An active rerun request blocks closure until consumed. If the operator has filed a rerun via `wave control rerun request`, the launcher applies it on the next retry and clears it afterward.
93
+
75
94
  ## Structured Markers Reference
76
95
 
77
96
  Emit markers exactly as shown. Parsers depend on the format.
@@ -17,34 +17,42 @@ Example:
17
17
  ## wave-eval (cont-EVAL closure)
18
18
  Emitted by: cont-EVAL agent (E0)
19
19
  Format:
20
- `[wave-eval] state=<satisfied|needs-more-work|blocked> target_ids=<comma-separated-ids> benchmark_ids=<comma-separated-ids> detail=<short-note>`
20
+ `[wave-eval] state=<satisfied|needs-more-work|blocked> targets=<n> benchmarks=<n> regressions=<n> target_ids=<comma-separated-ids> benchmark_ids=<comma-separated-ids> detail=<short-note>`
21
21
 
22
22
  Example:
23
- `[wave-eval] state=satisfied target_ids=prompt-quality,response-accuracy benchmark_ids=bench-01,bench-02 detail=all-targets-within-threshold`
23
+ `[wave-eval] state=satisfied targets=2 benchmarks=2 regressions=0 target_ids=prompt-quality,response-accuracy benchmark_ids=bench-01,bench-02 detail=all-targets-within-threshold`
24
24
 
25
25
  ## wave-integration (integration closure)
26
26
  Emitted by: Integration steward (A8)
27
27
  Format:
28
- `[wave-integration] state=<ready-for-doc-closure|needs-more-work> blockers=<count> detail=<short-note>`
28
+ `[wave-integration] state=<ready-for-doc-closure|needs-more-work> claims=<n> conflicts=<n> blockers=<n> detail=<short-note>`
29
29
 
30
30
  Example:
31
- `[wave-integration] state=ready-for-doc-closure blockers=0 detail=all-agents-coherent-no-contradictions`
31
+ `[wave-integration] state=ready-for-doc-closure claims=0 conflicts=0 blockers=0 detail=all-agents-coherent-no-contradictions`
32
32
 
33
33
  ## wave-doc-closure (documentation closure)
34
34
  Emitted by: Documentation steward (A9)
35
35
  Format:
36
- `[wave-doc-closure] state=<closed|no-change|needs-work> affected=<comma-separated-file-list> detail=<short-note>`
36
+ `[wave-doc-closure] state=<closed|no-change|delta> paths=<comma-separated-file-list> detail=<short-note>`
37
37
 
38
38
  Example:
39
- `[wave-doc-closure] state=closed affected=docs/plans/current-state.md,docs/plans/component-cutover-matrix.md detail=status-and-ownership-updated`
39
+ `[wave-doc-closure] state=closed paths=docs/plans/current-state.md,docs/plans/component-cutover-matrix.md detail=status-and-ownership-updated`
40
+
41
+ ## wave-security (security review)
42
+ Emitted by: Security reviewer
43
+ Format:
44
+ `[wave-security] state=<clear|concerns|blocked> findings=<n> approvals=<n> detail=<short-note>`
45
+
46
+ Example:
47
+ `[wave-security] state=clear findings=0 approvals=0 detail=no-blocking-security-findings`
40
48
 
41
49
  ## infra-status (infrastructure verification)
42
50
  Emitted by: Infra agent
43
51
  Format:
44
- `[infra-status] kind=<conformance|role-drift|dependency|identity|admission|action> surface=<name> state=<pass|warn|fail> detail=<short-note>`
52
+ `[infra-status] kind=<conformance|role-drift|dependency|identity|admission|action> target=<surface> state=<checking|setup-required|setup-in-progress|conformant|drift|blocked|failed|action-required|action-approved|action-complete> detail=<short-note>`
45
53
 
46
54
  Example:
47
- `[infra-status] kind=dependency surface=node-22 state=pass detail=node-v22.15.0-confirmed`
55
+ `[infra-status] kind=dependency target=node-22 state=conformant detail=node-v22.15.0-confirmed`
48
56
 
49
57
  ## deploy-status (deployment verification)
50
58
  Emitted by: Deploy agent
package/wave.config.json CHANGED
@@ -60,6 +60,20 @@
60
60
  "minutes": 20
61
61
  }
62
62
  },
63
+ "planning-readonly": {
64
+ "id": "codex",
65
+ "model": "gpt-5-codex",
66
+ "tags": ["planning", "review"],
67
+ "budget": {
68
+ "minutes": 30
69
+ },
70
+ "codex": {
71
+ "search": true,
72
+ "json": true,
73
+ "sandbox": "read-only",
74
+ "config": ["model_reasoning_effort=high"]
75
+ }
76
+ },
63
77
  "security-review": {
64
78
  "id": "claude",
65
79
  "tags": ["security", "review"],
@@ -125,6 +139,37 @@
125
139
  "custom": ["provider-custom-deploy"]
126
140
  }
127
141
  },
142
+ "planner": {
143
+ "agentic": {
144
+ "executorProfile": "planning-readonly",
145
+ "defaultMaxWaves": 3,
146
+ "maxReplanIterations": 1,
147
+ "context7Bundle": "planner-agentic",
148
+ "context7Query": "Wave planning best practices, maturity alignment, closure gates, proof surfaces, rollout evidence, and coordination failure prevention",
149
+ "coreContextPaths": [
150
+ "AGENTS.md",
151
+ "wave.config.json",
152
+ "docs/roadmap.md",
153
+ "docs/plans/current-state.md",
154
+ "docs/plans/master-plan.md",
155
+ "docs/plans/wave-orchestrator.md",
156
+ "docs/reference/sample-waves.md",
157
+ "docs/plans/examples/wave-example-rollout-fidelity.md",
158
+ "docs/plans/examples/wave-example-live-proof.md",
159
+ "docs/reference/live-proof-waves.md",
160
+ "docs/plans/component-cutover-matrix.md",
161
+ "docs/plans/component-cutover-matrix.json",
162
+ "docs/reference/wave-planning-lessons.md",
163
+ "docs/research/coordination-failure-review.md"
164
+ ],
165
+ "lessonsPaths": [
166
+ "docs/reference/wave-planning-lessons.md"
167
+ ],
168
+ "researchTopicPaths": [
169
+ "docs/context7/planner-agent/topics/planning-and-orchestration.md"
170
+ ]
171
+ }
172
+ },
128
173
  "sharedPlanDocs": [
129
174
  "docs/plans/current-state.md",
130
175
  "docs/plans/master-plan.md",