@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.
- package/CHANGELOG.md +53 -3
- package/README.md +81 -506
- package/docs/README.md +53 -0
- package/docs/agents/wave-cont-eval-role.md +36 -0
- package/docs/agents/{wave-evaluator-role.md → wave-cont-qa-role.md} +14 -11
- package/docs/agents/wave-documentation-role.md +1 -1
- package/docs/agents/wave-infra-role.md +1 -1
- package/docs/agents/wave-integration-role.md +3 -3
- package/docs/agents/wave-launcher-role.md +4 -3
- package/docs/agents/wave-security-role.md +40 -0
- package/docs/concepts/context7-vs-skills.md +94 -0
- package/docs/concepts/operating-modes.md +91 -0
- package/docs/concepts/runtime-agnostic-orchestration.md +95 -0
- package/docs/concepts/what-is-a-wave.md +183 -0
- package/docs/evals/README.md +166 -0
- package/docs/evals/benchmark-catalog.json +663 -0
- package/docs/guides/author-and-run-waves.md +135 -0
- package/docs/guides/planner.md +118 -0
- package/docs/guides/terminal-surfaces.md +82 -0
- package/docs/image.png +0 -0
- package/docs/plans/component-cutover-matrix.json +1 -1
- package/docs/plans/component-cutover-matrix.md +1 -1
- package/docs/plans/context7-wave-orchestrator.md +2 -0
- package/docs/plans/current-state.md +29 -1
- package/docs/plans/examples/wave-example-live-proof.md +435 -0
- package/docs/plans/master-plan.md +3 -3
- package/docs/plans/migration.md +46 -3
- package/docs/plans/wave-orchestrator.md +71 -8
- package/docs/plans/waves/wave-0.md +4 -4
- package/docs/reference/live-proof-waves.md +177 -0
- package/docs/reference/migration-0.2-to-0.5.md +26 -19
- package/docs/reference/npmjs-trusted-publishing.md +6 -5
- package/docs/reference/runtime-config/README.md +29 -0
- package/docs/reference/sample-waves.md +87 -0
- package/docs/reference/skills.md +224 -0
- package/docs/research/agent-context-sources.md +130 -11
- package/docs/research/coordination-failure-review.md +266 -0
- package/docs/roadmap.md +164 -564
- package/package.json +3 -2
- package/releases/manifest.json +37 -2
- package/scripts/research/agent-context-archive.mjs +83 -1
- package/scripts/research/manifests/agent-context-expanded-2026-03-22.mjs +811 -0
- package/scripts/wave-orchestrator/adhoc.mjs +1331 -0
- package/scripts/wave-orchestrator/agent-state.mjs +358 -6
- package/scripts/wave-orchestrator/artifact-schemas.mjs +173 -0
- package/scripts/wave-orchestrator/clarification-triage.mjs +10 -3
- package/scripts/wave-orchestrator/config.mjs +65 -12
- package/scripts/wave-orchestrator/context7.mjs +11 -0
- package/scripts/wave-orchestrator/coord-cli.mjs +51 -19
- package/scripts/wave-orchestrator/coordination-store.mjs +26 -4
- package/scripts/wave-orchestrator/coordination.mjs +99 -9
- package/scripts/wave-orchestrator/dashboard-state.mjs +20 -8
- package/scripts/wave-orchestrator/dep-cli.mjs +5 -2
- package/scripts/wave-orchestrator/docs-queue.mjs +8 -2
- package/scripts/wave-orchestrator/evals.mjs +451 -0
- package/scripts/wave-orchestrator/executors.mjs +24 -11
- package/scripts/wave-orchestrator/feedback.mjs +15 -1
- package/scripts/wave-orchestrator/install.mjs +69 -7
- package/scripts/wave-orchestrator/launcher-closure.mjs +281 -0
- package/scripts/wave-orchestrator/launcher-runtime.mjs +334 -0
- package/scripts/wave-orchestrator/launcher.mjs +778 -577
- package/scripts/wave-orchestrator/ledger.mjs +123 -20
- package/scripts/wave-orchestrator/local-executor.mjs +99 -12
- package/scripts/wave-orchestrator/planner.mjs +1463 -0
- package/scripts/wave-orchestrator/project-profile.mjs +190 -0
- package/scripts/wave-orchestrator/replay.mjs +6 -3
- package/scripts/wave-orchestrator/role-helpers.mjs +84 -0
- package/scripts/wave-orchestrator/shared.mjs +77 -11
- package/scripts/wave-orchestrator/skills.mjs +979 -0
- package/scripts/wave-orchestrator/terminals.mjs +16 -0
- package/scripts/wave-orchestrator/traces.mjs +73 -27
- package/scripts/wave-orchestrator/wave-files.mjs +1224 -163
- package/scripts/wave.mjs +20 -0
- package/skills/README.md +202 -0
- package/skills/provider-aws/SKILL.md +117 -0
- package/skills/provider-aws/adapters/claude.md +1 -0
- package/skills/provider-aws/adapters/codex.md +1 -0
- package/skills/provider-aws/references/service-verification.md +39 -0
- package/skills/provider-aws/skill.json +54 -0
- package/skills/provider-custom-deploy/SKILL.md +64 -0
- package/skills/provider-custom-deploy/skill.json +50 -0
- package/skills/provider-docker-compose/SKILL.md +96 -0
- package/skills/provider-docker-compose/adapters/local.md +1 -0
- package/skills/provider-docker-compose/skill.json +53 -0
- package/skills/provider-github-release/SKILL.md +121 -0
- package/skills/provider-github-release/adapters/claude.md +1 -0
- package/skills/provider-github-release/adapters/codex.md +1 -0
- package/skills/provider-github-release/skill.json +55 -0
- package/skills/provider-kubernetes/SKILL.md +143 -0
- package/skills/provider-kubernetes/adapters/claude.md +1 -0
- package/skills/provider-kubernetes/adapters/codex.md +1 -0
- package/skills/provider-kubernetes/references/kubectl-patterns.md +58 -0
- package/skills/provider-kubernetes/skill.json +52 -0
- package/skills/provider-railway/SKILL.md +123 -0
- package/skills/provider-railway/adapters/claude.md +1 -0
- package/skills/provider-railway/adapters/codex.md +1 -0
- package/skills/provider-railway/adapters/local.md +1 -0
- package/skills/provider-railway/adapters/opencode.md +1 -0
- package/skills/provider-railway/references/verification-commands.md +39 -0
- package/skills/provider-railway/skill.json +71 -0
- package/skills/provider-ssh-manual/SKILL.md +97 -0
- package/skills/provider-ssh-manual/skill.json +54 -0
- package/skills/repo-coding-rules/SKILL.md +91 -0
- package/skills/repo-coding-rules/skill.json +34 -0
- package/skills/role-cont-eval/SKILL.md +90 -0
- package/skills/role-cont-eval/adapters/codex.md +1 -0
- package/skills/role-cont-eval/skill.json +36 -0
- package/skills/role-cont-qa/SKILL.md +93 -0
- package/skills/role-cont-qa/adapters/claude.md +1 -0
- package/skills/role-cont-qa/skill.json +36 -0
- package/skills/role-deploy/SKILL.md +96 -0
- package/skills/role-deploy/skill.json +36 -0
- package/skills/role-documentation/SKILL.md +72 -0
- package/skills/role-documentation/skill.json +36 -0
- package/skills/role-implementation/SKILL.md +68 -0
- package/skills/role-implementation/skill.json +36 -0
- package/skills/role-infra/SKILL.md +80 -0
- package/skills/role-infra/skill.json +36 -0
- package/skills/role-integration/SKILL.md +84 -0
- package/skills/role-integration/skill.json +36 -0
- package/skills/role-research/SKILL.md +64 -0
- package/skills/role-research/skill.json +36 -0
- package/skills/role-security/SKILL.md +60 -0
- package/skills/role-security/skill.json +36 -0
- package/skills/runtime-claude/SKILL.md +65 -0
- package/skills/runtime-claude/skill.json +36 -0
- package/skills/runtime-codex/SKILL.md +57 -0
- package/skills/runtime-codex/skill.json +36 -0
- package/skills/runtime-local/SKILL.md +44 -0
- package/skills/runtime-local/skill.json +36 -0
- package/skills/runtime-opencode/SKILL.md +57 -0
- package/skills/runtime-opencode/skill.json +36 -0
- package/skills/wave-core/SKILL.md +114 -0
- package/skills/wave-core/references/marker-syntax.md +62 -0
- package/skills/wave-core/skill.json +35 -0
- 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-
|
|
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,
|
|
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`
|
|
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:
|