@chllming/wave-orchestration 0.5.3 → 0.6.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 (136) hide show
  1. package/CHANGELOG.md +53 -3
  2. package/README.md +81 -506
  3. package/docs/README.md +53 -0
  4. package/docs/agents/wave-cont-eval-role.md +36 -0
  5. package/docs/agents/{wave-evaluator-role.md → wave-cont-qa-role.md} +14 -11
  6. package/docs/agents/wave-documentation-role.md +1 -1
  7. package/docs/agents/wave-infra-role.md +1 -1
  8. package/docs/agents/wave-integration-role.md +3 -3
  9. package/docs/agents/wave-launcher-role.md +4 -3
  10. package/docs/agents/wave-security-role.md +40 -0
  11. package/docs/concepts/context7-vs-skills.md +94 -0
  12. package/docs/concepts/operating-modes.md +91 -0
  13. package/docs/concepts/runtime-agnostic-orchestration.md +95 -0
  14. package/docs/concepts/what-is-a-wave.md +183 -0
  15. package/docs/evals/README.md +166 -0
  16. package/docs/evals/benchmark-catalog.json +663 -0
  17. package/docs/guides/author-and-run-waves.md +135 -0
  18. package/docs/guides/planner.md +118 -0
  19. package/docs/guides/terminal-surfaces.md +82 -0
  20. package/docs/image.png +0 -0
  21. package/docs/plans/component-cutover-matrix.json +1 -1
  22. package/docs/plans/component-cutover-matrix.md +1 -1
  23. package/docs/plans/context7-wave-orchestrator.md +2 -0
  24. package/docs/plans/current-state.md +29 -1
  25. package/docs/plans/examples/wave-example-live-proof.md +435 -0
  26. package/docs/plans/master-plan.md +3 -3
  27. package/docs/plans/migration.md +46 -3
  28. package/docs/plans/wave-orchestrator.md +71 -8
  29. package/docs/plans/waves/wave-0.md +4 -4
  30. package/docs/reference/live-proof-waves.md +177 -0
  31. package/docs/reference/migration-0.2-to-0.5.md +26 -19
  32. package/docs/reference/npmjs-trusted-publishing.md +6 -5
  33. package/docs/reference/runtime-config/README.md +29 -0
  34. package/docs/reference/sample-waves.md +87 -0
  35. package/docs/reference/skills.md +224 -0
  36. package/docs/research/agent-context-sources.md +130 -11
  37. package/docs/research/coordination-failure-review.md +266 -0
  38. package/docs/roadmap.md +164 -564
  39. package/package.json +3 -2
  40. package/releases/manifest.json +37 -2
  41. package/scripts/research/agent-context-archive.mjs +83 -1
  42. package/scripts/research/manifests/agent-context-expanded-2026-03-22.mjs +811 -0
  43. package/scripts/wave-orchestrator/adhoc.mjs +1331 -0
  44. package/scripts/wave-orchestrator/agent-state.mjs +358 -6
  45. package/scripts/wave-orchestrator/artifact-schemas.mjs +173 -0
  46. package/scripts/wave-orchestrator/clarification-triage.mjs +10 -3
  47. package/scripts/wave-orchestrator/config.mjs +65 -12
  48. package/scripts/wave-orchestrator/context7.mjs +11 -0
  49. package/scripts/wave-orchestrator/coord-cli.mjs +51 -19
  50. package/scripts/wave-orchestrator/coordination-store.mjs +26 -4
  51. package/scripts/wave-orchestrator/coordination.mjs +99 -9
  52. package/scripts/wave-orchestrator/dashboard-state.mjs +20 -8
  53. package/scripts/wave-orchestrator/dep-cli.mjs +5 -2
  54. package/scripts/wave-orchestrator/docs-queue.mjs +8 -2
  55. package/scripts/wave-orchestrator/evals.mjs +451 -0
  56. package/scripts/wave-orchestrator/executors.mjs +24 -11
  57. package/scripts/wave-orchestrator/feedback.mjs +15 -1
  58. package/scripts/wave-orchestrator/install.mjs +69 -7
  59. package/scripts/wave-orchestrator/launcher-closure.mjs +281 -0
  60. package/scripts/wave-orchestrator/launcher-runtime.mjs +334 -0
  61. package/scripts/wave-orchestrator/launcher.mjs +778 -577
  62. package/scripts/wave-orchestrator/ledger.mjs +123 -20
  63. package/scripts/wave-orchestrator/local-executor.mjs +99 -12
  64. package/scripts/wave-orchestrator/planner.mjs +1463 -0
  65. package/scripts/wave-orchestrator/project-profile.mjs +190 -0
  66. package/scripts/wave-orchestrator/replay.mjs +6 -3
  67. package/scripts/wave-orchestrator/role-helpers.mjs +84 -0
  68. package/scripts/wave-orchestrator/shared.mjs +77 -11
  69. package/scripts/wave-orchestrator/skills.mjs +979 -0
  70. package/scripts/wave-orchestrator/terminals.mjs +16 -0
  71. package/scripts/wave-orchestrator/traces.mjs +73 -27
  72. package/scripts/wave-orchestrator/wave-files.mjs +1224 -163
  73. package/scripts/wave.mjs +20 -0
  74. package/skills/README.md +202 -0
  75. package/skills/provider-aws/SKILL.md +117 -0
  76. package/skills/provider-aws/adapters/claude.md +1 -0
  77. package/skills/provider-aws/adapters/codex.md +1 -0
  78. package/skills/provider-aws/references/service-verification.md +39 -0
  79. package/skills/provider-aws/skill.json +54 -0
  80. package/skills/provider-custom-deploy/SKILL.md +64 -0
  81. package/skills/provider-custom-deploy/skill.json +50 -0
  82. package/skills/provider-docker-compose/SKILL.md +96 -0
  83. package/skills/provider-docker-compose/adapters/local.md +1 -0
  84. package/skills/provider-docker-compose/skill.json +53 -0
  85. package/skills/provider-github-release/SKILL.md +121 -0
  86. package/skills/provider-github-release/adapters/claude.md +1 -0
  87. package/skills/provider-github-release/adapters/codex.md +1 -0
  88. package/skills/provider-github-release/skill.json +55 -0
  89. package/skills/provider-kubernetes/SKILL.md +143 -0
  90. package/skills/provider-kubernetes/adapters/claude.md +1 -0
  91. package/skills/provider-kubernetes/adapters/codex.md +1 -0
  92. package/skills/provider-kubernetes/references/kubectl-patterns.md +58 -0
  93. package/skills/provider-kubernetes/skill.json +52 -0
  94. package/skills/provider-railway/SKILL.md +123 -0
  95. package/skills/provider-railway/adapters/claude.md +1 -0
  96. package/skills/provider-railway/adapters/codex.md +1 -0
  97. package/skills/provider-railway/adapters/local.md +1 -0
  98. package/skills/provider-railway/adapters/opencode.md +1 -0
  99. package/skills/provider-railway/references/verification-commands.md +39 -0
  100. package/skills/provider-railway/skill.json +71 -0
  101. package/skills/provider-ssh-manual/SKILL.md +97 -0
  102. package/skills/provider-ssh-manual/skill.json +54 -0
  103. package/skills/repo-coding-rules/SKILL.md +91 -0
  104. package/skills/repo-coding-rules/skill.json +34 -0
  105. package/skills/role-cont-eval/SKILL.md +90 -0
  106. package/skills/role-cont-eval/adapters/codex.md +1 -0
  107. package/skills/role-cont-eval/skill.json +36 -0
  108. package/skills/role-cont-qa/SKILL.md +93 -0
  109. package/skills/role-cont-qa/adapters/claude.md +1 -0
  110. package/skills/role-cont-qa/skill.json +36 -0
  111. package/skills/role-deploy/SKILL.md +96 -0
  112. package/skills/role-deploy/skill.json +36 -0
  113. package/skills/role-documentation/SKILL.md +72 -0
  114. package/skills/role-documentation/skill.json +36 -0
  115. package/skills/role-implementation/SKILL.md +68 -0
  116. package/skills/role-implementation/skill.json +36 -0
  117. package/skills/role-infra/SKILL.md +80 -0
  118. package/skills/role-infra/skill.json +36 -0
  119. package/skills/role-integration/SKILL.md +84 -0
  120. package/skills/role-integration/skill.json +36 -0
  121. package/skills/role-research/SKILL.md +64 -0
  122. package/skills/role-research/skill.json +36 -0
  123. package/skills/role-security/SKILL.md +60 -0
  124. package/skills/role-security/skill.json +36 -0
  125. package/skills/runtime-claude/SKILL.md +65 -0
  126. package/skills/runtime-claude/skill.json +36 -0
  127. package/skills/runtime-codex/SKILL.md +57 -0
  128. package/skills/runtime-codex/skill.json +36 -0
  129. package/skills/runtime-local/SKILL.md +44 -0
  130. package/skills/runtime-local/skill.json +36 -0
  131. package/skills/runtime-opencode/SKILL.md +57 -0
  132. package/skills/runtime-opencode/skill.json +36 -0
  133. package/skills/wave-core/SKILL.md +114 -0
  134. package/skills/wave-core/references/marker-syntax.md +62 -0
  135. package/skills/wave-core/skill.json +35 -0
  136. package/wave.config.json +61 -5
@@ -0,0 +1,135 @@
1
+ # Authoring And Running Waves
2
+
3
+ This is the shortest path from "I need a new wave" to "the launcher is ready to run it."
4
+
5
+ Use this guide first. The narrower planner and terminal-surface pages remain useful when you need extra detail, but most operators should not need to assemble the workflow from multiple docs.
6
+
7
+ ## 1. Set Repo Defaults Once
8
+
9
+ Start by teaching the planner how this repo usually works:
10
+
11
+ ```bash
12
+ pnpm exec wave project setup
13
+ pnpm exec wave project show --json
14
+ ```
15
+
16
+ The saved project profile remembers:
17
+
18
+ - default oversight mode
19
+ - default terminal surface
20
+ - default draft template
21
+ - default lane
22
+ - typed deploy environments
23
+
24
+ That keeps later drafts consistent and removes repeated bootstrap questions.
25
+
26
+ ## 2. Draft The Wave
27
+
28
+ Generate a structured draft:
29
+
30
+ ```bash
31
+ pnpm exec wave draft --wave 1 --template implementation
32
+ ```
33
+
34
+ The planner writes two artifacts:
35
+
36
+ - `docs/plans/waves/specs/wave-<n>.json`
37
+ - `docs/plans/waves/wave-<n>.md`
38
+
39
+ The JSON spec is the planner-owned structured artifact. The markdown wave is still the launcher-owned execution surface.
40
+
41
+ When you review the generated wave, tighten the parts the planner cannot fully infer:
42
+
43
+ - file ownership
44
+ - validation commands
45
+ - proof artifacts
46
+ - `cont-EVAL` targets when needed
47
+ - security review expectations when needed
48
+ - explicit `### Skills` only where defaults are not enough
49
+
50
+ If you want examples of denser hand-authored waves, read [docs/reference/sample-waves.md](../reference/sample-waves.md).
51
+
52
+ ## 3. Choose The Execution Posture
53
+
54
+ Every wave should be authored with an explicit operating posture in mind:
55
+
56
+ - `oversight`
57
+ Best default. Use when a human may need to inspect progress, answer clarifications, or approve risky steps.
58
+ - `dark-factory`
59
+ Use only when environments, validation, rollback, and closure evidence are already explicit enough for routine execution without human intervention.
60
+
61
+ Human feedback is an escalation path, not the operating mode itself. The launcher still tries to resolve clarification inside the orchestration loop before creating a human ticket.
62
+
63
+ ## 4. Choose The Operator Surface
64
+
65
+ Live runs always execute in `tmux`. The terminal surface only decides how you attach:
66
+
67
+ - `vscode`
68
+ VS Code gets temporary attach entries for the live tmux sessions.
69
+ - `tmux`
70
+ Terminal-native operation with no VS Code integration.
71
+ - `none`
72
+ Dry-run only.
73
+
74
+ Recommended defaults:
75
+
76
+ - local interactive work: `vscode`
77
+ - remote shell or devbox: `tmux`
78
+ - CI or validation-only work: `none` with `--dry-run`
79
+
80
+ ## 5. Dry-Run Before Live Execution
81
+
82
+ Treat dry-run as the quality gate for the authored wave:
83
+
84
+ ```bash
85
+ pnpm exec wave launch --lane main --start-wave 1 --end-wave 1 --dry-run --no-dashboard
86
+ ```
87
+
88
+ Check that the dry-run artifacts reflect the wave you meant to author:
89
+
90
+ - resolved executors and overlays look correct
91
+ - ownership is narrow and explicit
92
+ - skills and Context7 inputs are attached where expected
93
+ - proof and closure requirements match the actual task
94
+ - no ambiguous prompts or missing deliverables remain
95
+
96
+ ## 6. Launch Live
97
+
98
+ When the dry-run artifacts look correct, launch the wave with the operator surface you actually want:
99
+
100
+ ```bash
101
+ pnpm exec wave launch --lane main --start-wave 1 --end-wave 1 --terminal-surface vscode
102
+ pnpm exec wave launch --lane main --start-wave 1 --end-wave 1 --terminal-surface tmux --keep-sessions
103
+ ```
104
+
105
+ Useful flags:
106
+
107
+ - `--no-dashboard`
108
+ Skip the dashboard session.
109
+ - `--keep-sessions`
110
+ Preserve tmux sessions for inspection after the wave completes.
111
+ - `--keep-terminals`
112
+ Preserve temporary VS Code terminal entries.
113
+
114
+ ## 7. Understand Closure
115
+
116
+ A wave is not done when an implementation agent says it is done. Closure depends on the combined runtime surfaces:
117
+
118
+ - implementation contracts pass
119
+ - required deliverables exist
120
+ - proof artifacts exist when the wave requires them
121
+ - dependencies and helper assignments are resolved
122
+ - `cont-EVAL` satisfies declared targets when present
123
+ - security review publishes its report and final marker when present
124
+ - integration, docs, and `cont-QA` all pass
125
+
126
+ For the detailed execution model, read [docs/concepts/what-is-a-wave.md](../concepts/what-is-a-wave.md).
127
+
128
+ ## Supporting Detail
129
+
130
+ Use these pages when you need deeper detail rather than the main workflow:
131
+
132
+ - [docs/guides/planner.md](./planner.md)
133
+ - [docs/guides/terminal-surfaces.md](./terminal-surfaces.md)
134
+ - [docs/concepts/operating-modes.md](../concepts/operating-modes.md)
135
+ - [docs/reference/runtime-config/README.md](../reference/runtime-config/README.md)
@@ -0,0 +1,118 @@
1
+ # Planner Guide
2
+
3
+ The planner foundation is the first structured authoring layer on top of the existing wave runtime.
4
+
5
+ If you want the full author-to-launch workflow, start with [author-and-run-waves.md](./author-and-run-waves.md). This page stays focused on planner-specific behavior.
6
+
7
+ It reduces repeated setup questions, stores project defaults, and generates wave specs plus markdown that already fit the launcher.
8
+
9
+ ## What Ships Today
10
+
11
+ - `wave project setup`
12
+ - `wave project show`
13
+ - `wave draft`
14
+ - persistent project memory in `.wave/project-profile.json`
15
+ - JSON specs in `docs/plans/waves/specs/wave-<n>.json`
16
+ - rendered markdown waves in `docs/plans/waves/wave-<n>.md`
17
+ - component matrix updates for promoted components
18
+
19
+ ## What The Planner Does Not Yet Ship
20
+
21
+ - ad hoc transient runs
22
+ - forward replanning of later waves
23
+ - separate runtime enforcement for oversight vs dark-factory
24
+
25
+ Those remain roadmap work. The planner foundation is about better structured authoring, not a second execution engine.
26
+
27
+ ## Project Profile
28
+
29
+ Run:
30
+
31
+ ```bash
32
+ pnpm exec wave project setup
33
+ pnpm exec wave project show --json
34
+ ```
35
+
36
+ The saved profile remembers:
37
+
38
+ - whether the repo is a new project
39
+ - default oversight mode
40
+ - default terminal surface for live runs (`vscode` or `tmux`; `none` remains dry-run only)
41
+ - default draft template
42
+ - default lane
43
+ - typed deploy environments
44
+
45
+ This lets later drafts inherit repo-specific defaults instead of asking the same bootstrap questions every time.
46
+
47
+ ## Drafting A Wave
48
+
49
+ Run:
50
+
51
+ ```bash
52
+ pnpm exec wave draft --wave 1 --template implementation
53
+ ```
54
+
55
+ Supported templates today:
56
+
57
+ - `implementation`
58
+ - `qa`
59
+ - `infra`
60
+ - `release`
61
+
62
+ The planner writes:
63
+
64
+ - `docs/plans/waves/specs/wave-<n>.json`
65
+ - `docs/plans/waves/wave-<n>.md`
66
+
67
+ The JSON spec is the canonical planner artifact. The markdown wave remains the launcher-compatible execution surface.
68
+
69
+ ## What The Planner Asks For
70
+
71
+ The draft flow asks for structured inputs such as:
72
+
73
+ - wave title and commit message
74
+ - sequencing notes and reference rules
75
+ - oversight mode
76
+ - deploy environments in scope
77
+ - component promotions and target levels
78
+ - worker count and worker roles
79
+ - executor profiles
80
+ - file ownership
81
+ - Context7 defaults and per-agent bundles
82
+ - validation commands
83
+ - exit contracts
84
+
85
+ That gives you a wave that is much closer to launch-ready than a blank markdown template.
86
+
87
+ ## Planner And Skills
88
+
89
+ The planner does not auto-discover every possible skill bundle yet, but it supports explicit per-agent `### Skills` in the rendered output.
90
+
91
+ The more important interaction is indirect:
92
+
93
+ - project profile remembers deploy environments
94
+ - planner-generated waves carry `## Deploy environments`
95
+ - deploy-kind skill attachment uses the wave's default deploy environment kind
96
+
97
+ So planner structure and skill resolution already reinforce each other.
98
+
99
+ ## Recommended Workflow
100
+
101
+ 1. Run `pnpm exec wave project setup` once for the repo.
102
+ 2. Use `pnpm exec wave draft --wave <n> --template <template>`.
103
+ 3. Review the generated JSON spec and markdown wave.
104
+ 4. Adjust repo-specific prompts, file ownership, skills, and validation commands.
105
+ 5. Run `pnpm exec wave launch --lane <lane> --start-wave <n> --end-wave <n> --dry-run --no-dashboard`.
106
+ 6. Only launch live once the dry-run artifacts look correct.
107
+
108
+ If you want concrete authored examples after the planner baseline, see [docs/reference/sample-waves.md](../reference/sample-waves.md).
109
+
110
+ ## Best Practices
111
+
112
+ - Treat the generated draft as a strong starting point, not untouchable output.
113
+ - Tighten validation commands before launch.
114
+ - Keep file ownership narrow and explicit.
115
+ - Add explicit `### Skills` only when the lane, role, runtime, and deploy-kind defaults are not enough.
116
+ - Use the component matrix as a planning contract, not just a reporting surface.
117
+ - Prefer updating the project profile when the same answers recur across waves.
118
+ - Use [docs/reference/sample-waves.md](../reference/sample-waves.md) when you want examples of denser human-authored waves that combine multiple modern surfaces such as `cont-EVAL`, delegated benchmark families, or proof-first live validation.
@@ -0,0 +1,82 @@
1
+ # Terminal Surfaces And Dashboards
2
+
3
+ If you want the end-to-end drafting and live-run workflow, start with [author-and-run-waves.md](./author-and-run-waves.md). This page stays focused on terminal-surface details.
4
+
5
+ Wave has separate concepts for execution substrate and operator surface.
6
+
7
+ The important detail is:
8
+
9
+ - live runs use `tmux` sessions
10
+ - terminal surfaces control how operators attach to those sessions
11
+
12
+ ## The Three Terminal Surfaces
13
+
14
+ - `vscode`
15
+ The launcher writes temporary entries to `.vscode/terminals.json` so VS Code can attach to the tmux sessions.
16
+ - `tmux`
17
+ The launcher uses tmux only and never touches `.vscode/terminals.json`.
18
+ - `none`
19
+ Dry-run only. No live terminal surface is allowed in this mode.
20
+
21
+ ## What `vscode` Really Means
22
+
23
+ `vscode` is not a second process host. It is a convenience attachment surface.
24
+
25
+ The actual live sessions still run in tmux. The VS Code terminal registry just exposes stable attach commands for those tmux sessions.
26
+
27
+ Use `vscode` when:
28
+
29
+ - your main operator flow is inside VS Code
30
+ - you want one-click attach behavior for agent sessions and dashboards
31
+ - touching `.vscode/terminals.json` is acceptable in the repo
32
+
33
+ ## What `tmux` Really Means
34
+
35
+ `tmux` is the cleanest fully terminal-native operator surface.
36
+
37
+ Use `tmux` when:
38
+
39
+ - you are on a remote shell or devbox
40
+ - you want zero VS Code coupling
41
+ - you want a headless or low-friction terminal operator workflow
42
+ - the repo should never be mutated with temporary VS Code terminal entries
43
+
44
+ ## Dashboard Behavior
45
+
46
+ By default the launcher can start per-wave dashboard sessions in tmux.
47
+
48
+ Important flags:
49
+
50
+ - `--no-dashboard`
51
+ Disable the per-wave tmux dashboard session.
52
+ - `--cleanup-sessions`
53
+ Kill lane tmux sessions after each wave. This is the default.
54
+ - `--keep-sessions`
55
+ Preserve tmux sessions after the wave for inspection.
56
+ - `--keep-terminals`
57
+ Keep temporary VS Code terminal entries instead of cleaning them up.
58
+
59
+ ## Best Practices
60
+
61
+ - Use `vscode` for local interactive operator work when the temporary terminal registry is useful.
62
+ - Use `tmux` for remote, CI-like, or editor-independent operation.
63
+ - Use `none` only with `--dry-run`.
64
+ - Pair `--keep-sessions` with incident review or deep debugging, not as a default steady-state mode.
65
+ - Pair `--no-dashboard` with scripted dry-runs or when the board and summaries are sufficient.
66
+
67
+ ## Suggested Defaults
68
+
69
+ - Local development:
70
+ `vscode`
71
+ - Remote shell or devbox:
72
+ `tmux`
73
+ - CI validation:
74
+ `none` with `--dry-run`
75
+
76
+ ## Example Commands
77
+
78
+ ```bash
79
+ pnpm exec wave launch --lane main --start-wave 2 --end-wave 2 --terminal-surface vscode
80
+ pnpm exec wave launch --lane main --start-wave 2 --end-wave 2 --terminal-surface tmux --keep-sessions
81
+ pnpm exec wave launch --lane main --start-wave 2 --end-wave 2 --dry-run --no-dashboard --terminal-surface none
82
+ ```
package/docs/image.png ADDED
Binary file
@@ -49,7 +49,7 @@
49
49
  "title": "Closure sweep and role gates",
50
50
  "canonicalDocs": [
51
51
  "docs/plans/wave-orchestrator.md",
52
- "docs/agents/wave-evaluator-role.md",
52
+ "docs/agents/wave-cont-qa-role.md",
53
53
  "docs/agents/wave-documentation-role.md"
54
54
  ],
55
55
  "currentLevel": "repo-landed",
@@ -20,7 +20,7 @@ The starter entries reflect the snapshot shipped in this repository. Replace the
20
20
 
21
21
  - `wave-parser-and-launcher`: parser, manifest, launcher, and dry-run execution flow
22
22
  - `executor-abstraction-and-prompt-transport`: executor selection, prompt overlays, and transport into `codex`, `claude`, `opencode`, or `local`
23
- - `closure-sweep-and-role-gates`: documentation steward, evaluator, and post-implementation closure logic
23
+ - `closure-sweep-and-role-gates`: documentation steward, cont-QA, and post-implementation closure logic
24
24
  - `context7-scope-and-prefetch`: Context7 bundle resolution, prefetch, cache, and prompt injection
25
25
  - `state-artifacts-and-feedback`: status summaries, dashboards, logs, message boards, and human feedback queue
26
26
  - `starter-docs-and-adoption-guidance`: starter README, shared-plan docs, and adoption instructions
@@ -1,5 +1,7 @@
1
1
  # Context7 and Wave Orchestrator
2
2
 
3
+ See also [concepts/context7-vs-skills.md](../concepts/context7-vs-skills.md) for how Context7 differs from the repo-owned skill system.
4
+
3
5
  Context7 is for external library truth. Repository docs and source are for repository truth.
4
6
 
5
7
  ## Rules
@@ -1,10 +1,28 @@
1
1
  # Current State
2
2
 
3
+ - The starter workspace in this source repo reflects the `0.6.0` package release surface.
3
4
  - The repository contains the published `@chllming/wave-orchestration` package plus the starter scaffold used by `wave init`.
4
5
  - The runtime is package-first and non-destructive for adopting repos: `wave init --adopt-existing` records existing repo-owned plans, waves, prompts, and config without overwriting them, and `wave upgrade` writes only `.wave/install-state.json` plus `.wave/upgrade-history/`.
5
6
  - This source repo is itself kept as an adopted Wave workspace, so `node scripts/wave.mjs doctor --json` should pass from the repo root.
6
7
  - The default lane is `main`.
8
+ - Planner foundation is now shipped:
9
+ - `.wave/project-profile.json` stores default oversight mode, terminal surface, draft template, lane, and deploy-environment memory
10
+ - `wave project setup|show` manage that profile
11
+ - `wave draft` writes planner JSON specs plus launcher-compatible markdown waves
12
+ - Ad-hoc task runs are now first-class:
13
+ - `wave adhoc plan|run|list|show|promote` manage transient operator-driven work
14
+ - requests, generated specs, rendered markdown, and final results live under `.wave/adhoc/runs/<run-id>/`
15
+ - runtime state stays isolated under `.tmp/<lane>-wave-launcher/adhoc/<run-id>/`
16
+ - ad-hoc runs always keep integration, documentation, and cont-QA closure, while `cont-EVAL` and security review are synthesized only when the request needs them
17
+ - documentation closure still queues canonical shared-plan docs when a run reports a shared-plan delta, alongside the ad-hoc closure report
18
+ - `wave adhoc promote` copies the stored ad-hoc spec into numbered roadmap artifacts instead of re-deriving it from the current project profile
19
+ - repo-local path hints become owned paths; external references such as URLs are ignored
7
20
  - The harness supports `codex`, `claude`, `opencode`, and `local` executors.
21
+ - Cross-runtime skills are now first-class:
22
+ - canonical bundles live under `skills/`
23
+ - lane config can attach skills by base, role, runtime, and deploy kind
24
+ - wave agents can add explicit `### Skills`
25
+ - runtime projections are generated for Codex, Claude, OpenCode, and local execution
8
26
  - The runtime now includes:
9
27
  - a canonical coordination JSONL log
10
28
  - a generated markdown board projection
@@ -12,14 +30,20 @@
12
30
  - a per-wave ledger
13
31
  - docs queues
14
32
  - explicit integration summaries with actionable claim, interface, proof, docs, and deploy-risk evidence
33
+ - versioned runtime artifact contracts for manifests, dashboards, relaunch plans, helper-assignment snapshots, dependency snapshots, and run-state
34
+ - append-only `run-state.json` history with per-wave current state, compatibility `completedWaves`, and causal completion or blocker evidence
15
35
  - hermetic `traceVersion: 2` per-attempt trace bundles with copied launched-agent summaries, copied component matrices for promoted waves, a hashed `outcome.json` replay baseline, run metadata, and cumulative quality metrics
16
36
  - an internal, read-only replay validator for trace bundles, with legacy `traceVersion: 1` bundles kept in best-effort warning mode
17
37
  - orchestrator-first clarification triage plus human escalation artifacts
38
+ - persisted relaunch plans under `.tmp/<lane>-wave-launcher/status/` so targeted retry intent can survive a launcher restart
39
+ - a thinner launcher entrypoint that now delegates session launch or wait and closure-sweep orchestration to dedicated modules while preserving the existing CLI surface
18
40
  - Runtime executor support now includes:
19
41
  - Codex `exec` profile, inline config, search, image, add-dir, JSON, and ephemeral flags
20
42
  - Claude settings overlay merging for inline settings and hooks
21
43
  - OpenCode merged config overlays plus multi-file attachments
44
+ - per-agent 429/rate-limit retries for Codex, Claude Code, and OpenCode via `--agent-rate-limit-*`
22
45
  - dry-run prompt and executor-preview materialization under `.tmp/<lane>-wave-launcher/dry-run/`
46
+ - operator-selectable terminal surfaces: `vscode`, `tmux`, or `none` for dry-run only
23
47
  - Full runtime configuration reference pages now ship under `docs/reference/runtime-config/`.
24
48
  - Lane runtime policy is active through `wave.config.json`:
25
49
  - role-based default executors
@@ -27,11 +51,15 @@
27
51
  - hard runtime mix targets
28
52
  - retry-time fallback order
29
53
  - generic runtime budgets
54
+ - sticky retry policy for proof-centric owners unless fallback is explicitly enabled
30
55
  - Capability routing is now first-class:
31
56
  - open capability-targeted requests become explicit helper assignments
32
57
  - helper assignments are written into coordination state, the ledger, summaries, and traces
33
58
  - helper assignments remain blocking until the linked follow-up resolves
34
- - Closure now runs in staged order: implementation and proof, then `A8` integration, then `A9` documentation, then `A0` evaluator.
59
+ - Closure now runs in staged order: implementation and proof, then optional `E0` cont-EVAL, then optional security review, then `A8` integration, then `A9` documentation, then `A0` cont-QA.
60
+ - `E0` is hybrid: planner-generated waves keep it report-only, while hand-authored waves may assign explicit tuning files and thereby make `E0` participate in implementation proof gating.
61
+ - Live closure is strict: `cont-EVAL` must prove the declared eval contract with exact target and benchmark ids, and `cont-QA` must provide both final verdict and final gate artifacts. Legacy evaluator-era shapes remain replay-only compatibility inputs.
62
+ - Proof-centric waves can now declare `### Proof artifacts`, and implementation proof validation can require those machine-visible local artifacts in addition to deliverables and structured proof markers.
35
63
  - Routed clarifications remain blocking until the linked follow-up request or escalation is fully resolved.
36
64
  - Required inbound cross-lane dependency tickets under `.tmp/wave-orchestrator/dependencies/` block both autonomous wave launch and lane finalization while they remain unresolved.
37
65
  - Cross-lane dependency workflows now include: