@chllming/wave-orchestration 0.5.4 → 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 +46 -3
- package/README.md +33 -5
- package/docs/README.md +18 -4
- 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 +1 -1
- package/docs/concepts/what-is-a-wave.md +56 -6
- 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 +5 -0
- package/docs/guides/terminal-surfaces.md +2 -0
- package/docs/plans/component-cutover-matrix.json +1 -1
- package/docs/plans/component-cutover-matrix.md +1 -1
- package/docs/plans/current-state.md +19 -1
- package/docs/plans/examples/wave-example-live-proof.md +435 -0
- package/docs/plans/migration.md +42 -0
- package/docs/plans/wave-orchestrator.md +46 -7
- 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 +13 -3
- package/docs/reference/sample-waves.md +87 -0
- package/docs/reference/skills.md +110 -42
- package/docs/research/agent-context-sources.md +130 -11
- package/docs/research/coordination-failure-review.md +266 -0
- package/docs/roadmap.md +6 -2
- package/package.json +2 -2
- package/releases/manifest.json +20 -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 +48 -12
- package/scripts/wave-orchestrator/context7.mjs +2 -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 +83 -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/feedback.mjs +15 -1
- package/scripts/wave-orchestrator/install.mjs +32 -9
- package/scripts/wave-orchestrator/launcher-closure.mjs +281 -0
- package/scripts/wave-orchestrator/launcher-runtime.mjs +334 -0
- package/scripts/wave-orchestrator/launcher.mjs +709 -601
- package/scripts/wave-orchestrator/ledger.mjs +123 -20
- package/scripts/wave-orchestrator/local-executor.mjs +99 -12
- package/scripts/wave-orchestrator/planner.mjs +177 -42
- package/scripts/wave-orchestrator/replay.mjs +6 -3
- package/scripts/wave-orchestrator/role-helpers.mjs +84 -0
- package/scripts/wave-orchestrator/shared.mjs +75 -11
- package/scripts/wave-orchestrator/skills.mjs +637 -106
- package/scripts/wave-orchestrator/traces.mjs +71 -48
- package/scripts/wave-orchestrator/wave-files.mjs +947 -101
- package/scripts/wave.mjs +9 -0
- package/skills/README.md +202 -0
- package/skills/provider-aws/SKILL.md +111 -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 +50 -1
- package/skills/provider-custom-deploy/SKILL.md +59 -0
- package/skills/provider-custom-deploy/skill.json +46 -1
- package/skills/provider-docker-compose/SKILL.md +90 -0
- package/skills/provider-docker-compose/adapters/local.md +1 -0
- package/skills/provider-docker-compose/skill.json +49 -1
- package/skills/provider-github-release/SKILL.md +116 -1
- 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 +51 -1
- package/skills/provider-kubernetes/SKILL.md +137 -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 +48 -1
- package/skills/provider-railway/SKILL.md +118 -1
- package/skills/provider-railway/references/verification-commands.md +39 -0
- package/skills/provider-railway/skill.json +67 -1
- package/skills/provider-ssh-manual/SKILL.md +91 -0
- package/skills/provider-ssh-manual/skill.json +50 -1
- package/skills/repo-coding-rules/SKILL.md +84 -0
- package/skills/repo-coding-rules/skill.json +30 -1
- 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 +90 -0
- package/skills/role-deploy/skill.json +32 -1
- package/skills/role-documentation/SKILL.md +66 -0
- package/skills/role-documentation/skill.json +32 -1
- package/skills/role-implementation/SKILL.md +62 -0
- package/skills/role-implementation/skill.json +32 -1
- package/skills/role-infra/SKILL.md +74 -0
- package/skills/role-infra/skill.json +32 -1
- package/skills/role-integration/SKILL.md +79 -1
- package/skills/role-integration/skill.json +32 -1
- package/skills/role-research/SKILL.md +58 -0
- package/skills/role-research/skill.json +32 -1
- package/skills/role-security/SKILL.md +60 -0
- package/skills/role-security/skill.json +36 -0
- package/skills/runtime-claude/SKILL.md +60 -1
- package/skills/runtime-claude/skill.json +32 -1
- package/skills/runtime-codex/SKILL.md +52 -1
- package/skills/runtime-codex/skill.json +32 -1
- package/skills/runtime-local/SKILL.md +39 -0
- package/skills/runtime-local/skill.json +32 -1
- package/skills/runtime-opencode/SKILL.md +51 -0
- package/skills/runtime-opencode/skill.json +32 -1
- package/skills/wave-core/SKILL.md +107 -0
- package/skills/wave-core/references/marker-syntax.md +62 -0
- package/skills/wave-core/skill.json +31 -1
- package/wave.config.json +35 -6
- package/skills/role-evaluator/SKILL.md +0 -6
- package/skills/role-evaluator/skill.json +0 -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)
|
package/docs/guides/planner.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
The planner foundation is the first structured authoring layer on top of the existing wave runtime.
|
|
4
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
|
+
|
|
5
7
|
It reduces repeated setup questions, stores project defaults, and generates wave specs plus markdown that already fit the launcher.
|
|
6
8
|
|
|
7
9
|
## What Ships Today
|
|
@@ -103,6 +105,8 @@ So planner structure and skill resolution already reinforce each other.
|
|
|
103
105
|
5. Run `pnpm exec wave launch --lane <lane> --start-wave <n> --end-wave <n> --dry-run --no-dashboard`.
|
|
104
106
|
6. Only launch live once the dry-run artifacts look correct.
|
|
105
107
|
|
|
108
|
+
If you want concrete authored examples after the planner baseline, see [docs/reference/sample-waves.md](../reference/sample-waves.md).
|
|
109
|
+
|
|
106
110
|
## Best Practices
|
|
107
111
|
|
|
108
112
|
- Treat the generated draft as a strong starting point, not untouchable output.
|
|
@@ -111,3 +115,4 @@ So planner structure and skill resolution already reinforce each other.
|
|
|
111
115
|
- Add explicit `### Skills` only when the lane, role, runtime, and deploy-kind defaults are not enough.
|
|
112
116
|
- Use the component matrix as a planning contract, not just a reporting surface.
|
|
113
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.
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Terminal Surfaces And Dashboards
|
|
2
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
|
+
|
|
3
5
|
Wave has separate concepts for execution substrate and operator surface.
|
|
4
6
|
|
|
5
7
|
The important detail is:
|
|
@@ -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,6 @@
|
|
|
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.
|
|
@@ -8,6 +9,14 @@
|
|
|
8
9
|
- `.wave/project-profile.json` stores default oversight mode, terminal surface, draft template, lane, and deploy-environment memory
|
|
9
10
|
- `wave project setup|show` manage that profile
|
|
10
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
|
|
11
20
|
- The harness supports `codex`, `claude`, `opencode`, and `local` executors.
|
|
12
21
|
- Cross-runtime skills are now first-class:
|
|
13
22
|
- canonical bundles live under `skills/`
|
|
@@ -21,13 +30,18 @@
|
|
|
21
30
|
- a per-wave ledger
|
|
22
31
|
- docs queues
|
|
23
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
|
|
24
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
|
|
25
36
|
- an internal, read-only replay validator for trace bundles, with legacy `traceVersion: 1` bundles kept in best-effort warning mode
|
|
26
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
|
|
27
40
|
- Runtime executor support now includes:
|
|
28
41
|
- Codex `exec` profile, inline config, search, image, add-dir, JSON, and ephemeral flags
|
|
29
42
|
- Claude settings overlay merging for inline settings and hooks
|
|
30
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-*`
|
|
31
45
|
- dry-run prompt and executor-preview materialization under `.tmp/<lane>-wave-launcher/dry-run/`
|
|
32
46
|
- operator-selectable terminal surfaces: `vscode`, `tmux`, or `none` for dry-run only
|
|
33
47
|
- Full runtime configuration reference pages now ship under `docs/reference/runtime-config/`.
|
|
@@ -37,11 +51,15 @@
|
|
|
37
51
|
- hard runtime mix targets
|
|
38
52
|
- retry-time fallback order
|
|
39
53
|
- generic runtime budgets
|
|
54
|
+
- sticky retry policy for proof-centric owners unless fallback is explicitly enabled
|
|
40
55
|
- Capability routing is now first-class:
|
|
41
56
|
- open capability-targeted requests become explicit helper assignments
|
|
42
57
|
- helper assignments are written into coordination state, the ledger, summaries, and traces
|
|
43
58
|
- helper assignments remain blocking until the linked follow-up resolves
|
|
44
|
-
- 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.
|
|
45
63
|
- Routed clarifications remain blocking until the linked follow-up request or escalation is fully resolved.
|
|
46
64
|
- Required inbound cross-lane dependency tickets under `.tmp/wave-orchestrator/dependencies/` block both autonomous wave launch and lane finalization while they remain unresolved.
|
|
47
65
|
- Cross-lane dependency workflows now include:
|
|
@@ -0,0 +1,435 @@
|
|
|
1
|
+
# Wave 14 - Example Full Modern Release Surface
|
|
2
|
+
|
|
3
|
+
This is a showcase-first sample wave.
|
|
4
|
+
|
|
5
|
+
Use it as the single reference example for the current `0.6.0` Wave surface.
|
|
6
|
+
|
|
7
|
+
It intentionally combines more sections than a normal production wave so one file can demonstrate:
|
|
8
|
+
|
|
9
|
+
- standard closure roles (`A0`, `E0`, `A8`, `A9`)
|
|
10
|
+
- `## Eval targets` with delegated and pinned benchmark selection
|
|
11
|
+
- richer `### Executor` blocks, budgets, and sticky retry
|
|
12
|
+
- `### Skills`
|
|
13
|
+
- `### Capabilities`
|
|
14
|
+
- `### Deliverables`
|
|
15
|
+
- `### Exit contract`
|
|
16
|
+
- proof-first live validation with `### Proof artifacts`
|
|
17
|
+
- `## Deploy environments`
|
|
18
|
+
- infra and deploy-verifier specialists
|
|
19
|
+
|
|
20
|
+
This example is intentionally denser than a launch-minimal wave. Its job is to teach the full authored surface in one place.
|
|
21
|
+
|
|
22
|
+
**Commit message**: `Docs: add full modern sample wave`
|
|
23
|
+
|
|
24
|
+
## Component promotions
|
|
25
|
+
|
|
26
|
+
- learning-memory-action-plane: pilot-live
|
|
27
|
+
- executor-abstraction-and-prompt-transport: baseline-proved
|
|
28
|
+
|
|
29
|
+
## Deploy environments
|
|
30
|
+
|
|
31
|
+
- prod: kubernetes default (primary production cluster)
|
|
32
|
+
- staging: custom-deploy (manual preflight and recovery flow)
|
|
33
|
+
|
|
34
|
+
## Eval targets
|
|
35
|
+
|
|
36
|
+
- id: live-proof-fidelity | selection: delegated | benchmark-family: blackboard-fidelity | objective: Preserve machine-visible live proof through summaries, inboxes, and integration closure | threshold: Critical live-proof facts remain visible through final closure
|
|
37
|
+
- id: contradiction-recovery | selection: pinned | benchmarks: claim-conflict-detection,evidence-based-repair | objective: Surface and repair conflicting live claims before PASS | threshold: Material contradictions become explicit repair work before final closure
|
|
38
|
+
- id: silo-escape | selection: delegated | benchmark-family: silo-escape | objective: Reconstruct the correct global state from distributed live and repo evidence | threshold: Integration closure reflects the full cross-agent state instead of partial local views
|
|
39
|
+
|
|
40
|
+
## Context7 defaults
|
|
41
|
+
|
|
42
|
+
- bundle: node-typescript
|
|
43
|
+
- query: "Orchestration state machines, retry policy, summary fidelity, and durable validation for coding agents"
|
|
44
|
+
|
|
45
|
+
## Agent A0: cont-QA
|
|
46
|
+
|
|
47
|
+
### Role prompts
|
|
48
|
+
|
|
49
|
+
- docs/agents/wave-cont-qa-role.md
|
|
50
|
+
|
|
51
|
+
### Executor
|
|
52
|
+
|
|
53
|
+
- id: claude
|
|
54
|
+
- model: claude-sonnet-4-6
|
|
55
|
+
- claude.allowed_tools: Read,Glob
|
|
56
|
+
|
|
57
|
+
### Context7
|
|
58
|
+
|
|
59
|
+
- bundle: none
|
|
60
|
+
|
|
61
|
+
### Prompt
|
|
62
|
+
|
|
63
|
+
```text
|
|
64
|
+
Primary goal:
|
|
65
|
+
- Treat live proof as a real closure input, not as a narrative claim.
|
|
66
|
+
|
|
67
|
+
Required context before coding:
|
|
68
|
+
- Read docs/reference/repository-guidance.md.
|
|
69
|
+
- Read docs/research/agent-context-sources.md.
|
|
70
|
+
- Read docs/reference/live-proof-waves.md.
|
|
71
|
+
- Read docs/plans/master-plan.md, docs/plans/current-state.md, and docs/plans/migration.md.
|
|
72
|
+
|
|
73
|
+
Specific expectations:
|
|
74
|
+
- do not PASS unless the declared proof artifacts exist locally
|
|
75
|
+
- do not infer host truth from stale repo-local snapshots
|
|
76
|
+
- rely on the declared proof bundle, integration summary, and doc closure state
|
|
77
|
+
|
|
78
|
+
File ownership (only touch these paths):
|
|
79
|
+
- docs/plans/waves/reviews/wave-14-cont-qa.md
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Agent E0: cont-EVAL
|
|
83
|
+
|
|
84
|
+
### Role prompts
|
|
85
|
+
|
|
86
|
+
- docs/agents/wave-cont-eval-role.md
|
|
87
|
+
|
|
88
|
+
### Executor
|
|
89
|
+
|
|
90
|
+
- id: claude
|
|
91
|
+
- model: claude-sonnet-4-6
|
|
92
|
+
- claude.allowed_tools: Read,Glob
|
|
93
|
+
- claude.output_format: json
|
|
94
|
+
|
|
95
|
+
### Context7
|
|
96
|
+
|
|
97
|
+
- bundle: none
|
|
98
|
+
|
|
99
|
+
### Skills
|
|
100
|
+
|
|
101
|
+
- role-cont-eval
|
|
102
|
+
|
|
103
|
+
### Prompt
|
|
104
|
+
|
|
105
|
+
```text
|
|
106
|
+
Primary goal:
|
|
107
|
+
- Evaluate whether the wave actually preserves, integrates, and repairs distributed live-proof evidence before closure.
|
|
108
|
+
|
|
109
|
+
Required context before coding:
|
|
110
|
+
- Read docs/reference/repository-guidance.md.
|
|
111
|
+
- Read docs/research/agent-context-sources.md.
|
|
112
|
+
- Read docs/evals/README.md.
|
|
113
|
+
- Read docs/reference/live-proof-waves.md.
|
|
114
|
+
- Read docs/plans/master-plan.md, docs/plans/current-state.md, and docs/plans/migration.md.
|
|
115
|
+
|
|
116
|
+
Specific expectations:
|
|
117
|
+
- for delegated targets, choose the smallest benchmark set that genuinely exercises the failure mode
|
|
118
|
+
- for pinned targets, run the exact benchmark ids named in the wave contract
|
|
119
|
+
- record the exact selected target ids and benchmark ids in the append-only report
|
|
120
|
+
|
|
121
|
+
File ownership (only touch these paths):
|
|
122
|
+
- docs/plans/waves/reviews/wave-14-cont-eval.md
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Agent A8: Integration Steward
|
|
126
|
+
|
|
127
|
+
### Role prompts
|
|
128
|
+
|
|
129
|
+
- docs/agents/wave-integration-role.md
|
|
130
|
+
|
|
131
|
+
### Executor
|
|
132
|
+
|
|
133
|
+
- id: claude
|
|
134
|
+
- model: claude-sonnet-4-6
|
|
135
|
+
|
|
136
|
+
### Context7
|
|
137
|
+
|
|
138
|
+
- bundle: none
|
|
139
|
+
|
|
140
|
+
### Capabilities
|
|
141
|
+
|
|
142
|
+
- integration
|
|
143
|
+
- live-proof-reconciliation
|
|
144
|
+
- contradiction-recovery
|
|
145
|
+
- blackboard-fidelity
|
|
146
|
+
|
|
147
|
+
### Prompt
|
|
148
|
+
|
|
149
|
+
```text
|
|
150
|
+
Primary goal:
|
|
151
|
+
- Reconcile repo changes, proof artifacts, infra state, and deploy-verifier evidence into one closure-ready decision.
|
|
152
|
+
|
|
153
|
+
Required context before coding:
|
|
154
|
+
- Read docs/reference/repository-guidance.md.
|
|
155
|
+
- Read docs/research/agent-context-sources.md.
|
|
156
|
+
- Read docs/reference/live-proof-waves.md.
|
|
157
|
+
- Read docs/plans/master-plan.md and docs/plans/current-state.md.
|
|
158
|
+
|
|
159
|
+
Specific expectations:
|
|
160
|
+
- treat missing proof artifacts as blocking
|
|
161
|
+
- prefer explicit follow-up requests over vague warnings
|
|
162
|
+
- call out stale or contradictory live-proof claims
|
|
163
|
+
- use the `cont-EVAL` report and exact benchmark ids as evidence, not as a suggestion
|
|
164
|
+
|
|
165
|
+
File ownership (only touch these paths):
|
|
166
|
+
- .tmp/main-wave-launcher/integration/wave-14.md
|
|
167
|
+
- .tmp/main-wave-launcher/integration/wave-14.json
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## Agent A9: Documentation Steward
|
|
171
|
+
|
|
172
|
+
### Role prompts
|
|
173
|
+
|
|
174
|
+
- docs/agents/wave-documentation-role.md
|
|
175
|
+
|
|
176
|
+
### Executor
|
|
177
|
+
|
|
178
|
+
- profile: docs-pass
|
|
179
|
+
|
|
180
|
+
### Context7
|
|
181
|
+
|
|
182
|
+
- bundle: none
|
|
183
|
+
|
|
184
|
+
### Prompt
|
|
185
|
+
|
|
186
|
+
```text
|
|
187
|
+
Primary goal:
|
|
188
|
+
- Keep shared-plan docs and release-facing notes aligned with the proof-first live workflow.
|
|
189
|
+
|
|
190
|
+
Required context before coding:
|
|
191
|
+
- Read docs/reference/repository-guidance.md.
|
|
192
|
+
- Read docs/research/agent-context-sources.md.
|
|
193
|
+
- Read docs/reference/live-proof-waves.md.
|
|
194
|
+
- Read docs/plans/master-plan.md, docs/plans/current-state.md, and docs/plans/migration.md.
|
|
195
|
+
|
|
196
|
+
File ownership (only touch these paths):
|
|
197
|
+
- docs/plans/current-state.md
|
|
198
|
+
- docs/plans/master-plan.md
|
|
199
|
+
- docs/plans/migration.md
|
|
200
|
+
- docs/evals/README.md
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## Agent A1: Runtime And Summary Hardening
|
|
204
|
+
|
|
205
|
+
### Executor
|
|
206
|
+
|
|
207
|
+
- profile: implement-fast
|
|
208
|
+
- model: gpt-5-codex
|
|
209
|
+
- codex.config: model_reasoning_effort=high
|
|
210
|
+
- codex.search: true
|
|
211
|
+
- codex.json: true
|
|
212
|
+
- codex.add_dirs: docs,scripts,test
|
|
213
|
+
- fallbacks: claude, opencode
|
|
214
|
+
- budget.minutes: 45
|
|
215
|
+
|
|
216
|
+
### Context7
|
|
217
|
+
|
|
218
|
+
- bundle: node-typescript
|
|
219
|
+
- query: "Retry orchestration, summary integrity, validation rules, and Vitest coverage for agent systems"
|
|
220
|
+
|
|
221
|
+
### Skills
|
|
222
|
+
|
|
223
|
+
- role-implementation
|
|
224
|
+
- runtime-codex
|
|
225
|
+
- repo-coding-rules
|
|
226
|
+
|
|
227
|
+
### Components
|
|
228
|
+
|
|
229
|
+
- executor-abstraction-and-prompt-transport
|
|
230
|
+
|
|
231
|
+
### Capabilities
|
|
232
|
+
|
|
233
|
+
- status-reconciliation
|
|
234
|
+
- benchmark-integration
|
|
235
|
+
- summary-fidelity
|
|
236
|
+
|
|
237
|
+
### Exit contract
|
|
238
|
+
|
|
239
|
+
- completion: integrated
|
|
240
|
+
- durability: durable
|
|
241
|
+
- proof: integration
|
|
242
|
+
- doc-impact: owned
|
|
243
|
+
|
|
244
|
+
### Deliverables
|
|
245
|
+
|
|
246
|
+
- scripts/wave-orchestrator/launcher.mjs
|
|
247
|
+
- scripts/wave-orchestrator/coordination-store.mjs
|
|
248
|
+
- test/wave-orchestrator/launcher.test.ts
|
|
249
|
+
- test/wave-orchestrator/coordination-store.test.ts
|
|
250
|
+
|
|
251
|
+
### Prompt
|
|
252
|
+
|
|
253
|
+
```text
|
|
254
|
+
Primary goal:
|
|
255
|
+
- Tighten the runtime's handling of retries, summaries, and benchmark-facing evidence so proof-centric closure stays machine-visible.
|
|
256
|
+
|
|
257
|
+
Required context before coding:
|
|
258
|
+
- Read docs/reference/repository-guidance.md.
|
|
259
|
+
- Read docs/research/agent-context-sources.md.
|
|
260
|
+
- Read docs/evals/README.md.
|
|
261
|
+
- Read docs/reference/live-proof-waves.md.
|
|
262
|
+
- Read docs/plans/current-state.md and docs/plans/wave-orchestrator.md.
|
|
263
|
+
|
|
264
|
+
Specific expectations:
|
|
265
|
+
- preserve prompt-hash-based reuse safety
|
|
266
|
+
- keep distributed evidence visible through the shared summary and inbox layers
|
|
267
|
+
- add or update regression coverage for any retry or summary behavior you change
|
|
268
|
+
|
|
269
|
+
File ownership (only touch these paths):
|
|
270
|
+
- scripts/wave-orchestrator/launcher.mjs
|
|
271
|
+
- scripts/wave-orchestrator/coordination-store.mjs
|
|
272
|
+
- test/wave-orchestrator/launcher.test.ts
|
|
273
|
+
- test/wave-orchestrator/coordination-store.test.ts
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
## Agent A6: Learning Plane Live Validation
|
|
277
|
+
|
|
278
|
+
### Executor
|
|
279
|
+
|
|
280
|
+
- id: codex
|
|
281
|
+
- retry-policy: sticky
|
|
282
|
+
- budget.minutes: 30
|
|
283
|
+
- codex.search: true
|
|
284
|
+
- codex.json: true
|
|
285
|
+
|
|
286
|
+
### Context7
|
|
287
|
+
|
|
288
|
+
- bundle: none
|
|
289
|
+
|
|
290
|
+
### Skills
|
|
291
|
+
|
|
292
|
+
- role-infra
|
|
293
|
+
- provider-kubernetes
|
|
294
|
+
- provider-custom-deploy
|
|
295
|
+
|
|
296
|
+
### Components
|
|
297
|
+
|
|
298
|
+
- learning-memory-action-plane
|
|
299
|
+
|
|
300
|
+
### Capabilities
|
|
301
|
+
|
|
302
|
+
- live-proof
|
|
303
|
+
- restart-safety
|
|
304
|
+
- deploy-validation
|
|
305
|
+
|
|
306
|
+
### Exit contract
|
|
307
|
+
|
|
308
|
+
- completion: live
|
|
309
|
+
- durability: durable
|
|
310
|
+
- proof: live
|
|
311
|
+
- doc-impact: owned
|
|
312
|
+
|
|
313
|
+
### Deliverables
|
|
314
|
+
|
|
315
|
+
- docs/plans/waves/reviews/wave-14-live-proof.md
|
|
316
|
+
|
|
317
|
+
### Proof artifacts
|
|
318
|
+
|
|
319
|
+
- path: .tmp/wave-14-learning-proof/learning-dry-run-status.json | kind: live-status | required-for: pilot-live
|
|
320
|
+
- path: .tmp/wave-14-learning-proof/learning-plane-before-restart.json | kind: live-status | required-for: pilot-live
|
|
321
|
+
- path: .tmp/wave-14-learning-proof/learning-plane-after-restart.json | kind: restart-check | required-for: pilot-live
|
|
322
|
+
- path: .tmp/wave-14-learning-proof/learning-vector-manifest.json | kind: manifest | required-for: pilot-live
|
|
323
|
+
|
|
324
|
+
### Prompt
|
|
325
|
+
|
|
326
|
+
```text
|
|
327
|
+
Primary goal:
|
|
328
|
+
- Capture restart-safe learning-plane proof as a local machine-visible bundle and write the review note that closure roles will trust.
|
|
329
|
+
|
|
330
|
+
Required context before coding:
|
|
331
|
+
- Read docs/reference/repository-guidance.md.
|
|
332
|
+
- Read docs/research/agent-context-sources.md.
|
|
333
|
+
- Read docs/reference/live-proof-waves.md.
|
|
334
|
+
- Read docs/plans/current-state.md and docs/plans/wave-orchestrator.md.
|
|
335
|
+
|
|
336
|
+
Operator command sequence:
|
|
337
|
+
- leapctl learning status --json > .tmp/wave-14-learning-proof/learning-plane-before-restart.json
|
|
338
|
+
- leapctl learning dry-run --json > .tmp/wave-14-learning-proof/learning-dry-run-status.json
|
|
339
|
+
- leapctl learning restart --env prod
|
|
340
|
+
- leapctl learning status --json > .tmp/wave-14-learning-proof/learning-plane-after-restart.json
|
|
341
|
+
- leapctl learning manifest --json > .tmp/wave-14-learning-proof/learning-vector-manifest.json
|
|
342
|
+
|
|
343
|
+
Specific expectations:
|
|
344
|
+
- closure only counts when the declared proof artifacts exist locally
|
|
345
|
+
- if live host state and cached state disagree, prefer current control-plane truth and log the discrepancy explicitly
|
|
346
|
+
- if proof arrives after a failed attempt, expect a targeted rerun on the same executor instead of generic fallback
|
|
347
|
+
- post exact artifact paths and machine-visible evidence through coordination instead of assuming closure agents will rediscover host state
|
|
348
|
+
|
|
349
|
+
File ownership (only touch these paths):
|
|
350
|
+
- .tmp/wave-14-learning-proof/
|
|
351
|
+
- docs/plans/waves/reviews/wave-14-live-proof.md
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
## Agent A7: Infra Proof Steward
|
|
355
|
+
|
|
356
|
+
### Role prompts
|
|
357
|
+
|
|
358
|
+
- docs/agents/wave-infra-role.md
|
|
359
|
+
|
|
360
|
+
### Executor
|
|
361
|
+
|
|
362
|
+
- id: opencode
|
|
363
|
+
- opencode.format: json
|
|
364
|
+
- opencode.steps: 12
|
|
365
|
+
|
|
366
|
+
### Context7
|
|
367
|
+
|
|
368
|
+
- bundle: none
|
|
369
|
+
|
|
370
|
+
### Skills
|
|
371
|
+
|
|
372
|
+
- role-infra
|
|
373
|
+
- provider-kubernetes
|
|
374
|
+
|
|
375
|
+
### Prompt
|
|
376
|
+
|
|
377
|
+
```text
|
|
378
|
+
Primary goal:
|
|
379
|
+
- Verify infra and workload identity assumptions around the live proof owner's commands.
|
|
380
|
+
|
|
381
|
+
Required context before coding:
|
|
382
|
+
- Read docs/reference/repository-guidance.md.
|
|
383
|
+
- Read docs/research/agent-context-sources.md.
|
|
384
|
+
- Read docs/reference/live-proof-waves.md.
|
|
385
|
+
|
|
386
|
+
Specific expectations:
|
|
387
|
+
- emit infra markers instead of vague prose
|
|
388
|
+
- call out drift or setup-required states explicitly
|
|
389
|
+
- open targeted follow-up work if the live proof owner depends on unresolved infra setup
|
|
390
|
+
|
|
391
|
+
File ownership (only touch these paths):
|
|
392
|
+
- .tmp/main-wave-launcher/logs/wave-14-a7.log
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
## Agent D1: Deploy Verifier
|
|
396
|
+
|
|
397
|
+
### Role prompts
|
|
398
|
+
|
|
399
|
+
- docs/agents/wave-deploy-verifier-role.md
|
|
400
|
+
|
|
401
|
+
### Executor
|
|
402
|
+
|
|
403
|
+
- id: opencode
|
|
404
|
+
- opencode.format: json
|
|
405
|
+
- opencode.steps: 10
|
|
406
|
+
|
|
407
|
+
### Context7
|
|
408
|
+
|
|
409
|
+
- bundle: none
|
|
410
|
+
|
|
411
|
+
### Skills
|
|
412
|
+
|
|
413
|
+
- role-deploy
|
|
414
|
+
- provider-kubernetes
|
|
415
|
+
- provider-custom-deploy
|
|
416
|
+
|
|
417
|
+
### Prompt
|
|
418
|
+
|
|
419
|
+
```text
|
|
420
|
+
Primary goal:
|
|
421
|
+
- Verify that the rollout associated with the live proof owner is healthy enough to preserve the `pilot-live` claim.
|
|
422
|
+
|
|
423
|
+
Required context before coding:
|
|
424
|
+
- Read docs/reference/repository-guidance.md.
|
|
425
|
+
- Read docs/research/agent-context-sources.md.
|
|
426
|
+
- Read docs/reference/live-proof-waves.md.
|
|
427
|
+
|
|
428
|
+
Specific expectations:
|
|
429
|
+
- use explicit deploy status markers for healthy, failed, or rolled-over states
|
|
430
|
+
- do not sign off on implied host health
|
|
431
|
+
- if rollout evidence is incomplete, leave an explicit deploy-risk trail for integration and cont-QA
|
|
432
|
+
|
|
433
|
+
File ownership (only touch these paths):
|
|
434
|
+
- .tmp/main-wave-launcher/logs/wave-14-d1.log
|
|
435
|
+
```
|