@chllming/wave-orchestration 0.5.4 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +52 -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 +14 -4
- 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 +35 -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,62 @@
|
|
|
1
|
+
# Structured Marker Syntax Reference
|
|
2
|
+
|
|
3
|
+
This reference documents the exact format for all structured markers used in wave coordination.
|
|
4
|
+
|
|
5
|
+
## wave-gate (cont-QA closure)
|
|
6
|
+
Emitted by: cont-QA agent (A0)
|
|
7
|
+
Format:
|
|
8
|
+
`[wave-gate] architecture=<pass|concerns|blocked> integration=<pass|concerns|blocked> durability=<pass|concerns|blocked> live=<pass|concerns|blocked> docs=<pass|concerns|blocked> detail=<short-note>`
|
|
9
|
+
|
|
10
|
+
Must be accompanied by a verdict line:
|
|
11
|
+
`Verdict: PASS` or `Verdict: CONCERNS` or `Verdict: BLOCKED`
|
|
12
|
+
|
|
13
|
+
Example:
|
|
14
|
+
`[wave-gate] architecture=pass integration=pass durability=pass live=pass docs=pass detail=all-exit-contracts-met`
|
|
15
|
+
`Verdict: PASS`
|
|
16
|
+
|
|
17
|
+
## wave-eval (cont-EVAL closure)
|
|
18
|
+
Emitted by: cont-EVAL agent (E0)
|
|
19
|
+
Format:
|
|
20
|
+
`[wave-eval] state=<satisfied|needs-more-work|blocked> target_ids=<comma-separated-ids> benchmark_ids=<comma-separated-ids> detail=<short-note>`
|
|
21
|
+
|
|
22
|
+
Example:
|
|
23
|
+
`[wave-eval] state=satisfied target_ids=prompt-quality,response-accuracy benchmark_ids=bench-01,bench-02 detail=all-targets-within-threshold`
|
|
24
|
+
|
|
25
|
+
## wave-integration (integration closure)
|
|
26
|
+
Emitted by: Integration steward (A8)
|
|
27
|
+
Format:
|
|
28
|
+
`[wave-integration] state=<ready-for-doc-closure|needs-more-work> blockers=<count> detail=<short-note>`
|
|
29
|
+
|
|
30
|
+
Example:
|
|
31
|
+
`[wave-integration] state=ready-for-doc-closure blockers=0 detail=all-agents-coherent-no-contradictions`
|
|
32
|
+
|
|
33
|
+
## wave-doc-closure (documentation closure)
|
|
34
|
+
Emitted by: Documentation steward (A9)
|
|
35
|
+
Format:
|
|
36
|
+
`[wave-doc-closure] state=<closed|no-change|needs-work> affected=<comma-separated-file-list> detail=<short-note>`
|
|
37
|
+
|
|
38
|
+
Example:
|
|
39
|
+
`[wave-doc-closure] state=closed affected=docs/plans/current-state.md,docs/plans/component-cutover-matrix.md detail=status-and-ownership-updated`
|
|
40
|
+
|
|
41
|
+
## infra-status (infrastructure verification)
|
|
42
|
+
Emitted by: Infra agent
|
|
43
|
+
Format:
|
|
44
|
+
`[infra-status] kind=<conformance|role-drift|dependency|identity|admission|action> surface=<name> state=<pass|warn|fail> detail=<short-note>`
|
|
45
|
+
|
|
46
|
+
Example:
|
|
47
|
+
`[infra-status] kind=dependency surface=node-22 state=pass detail=node-v22.15.0-confirmed`
|
|
48
|
+
|
|
49
|
+
## deploy-status (deployment verification)
|
|
50
|
+
Emitted by: Deploy agent
|
|
51
|
+
Format:
|
|
52
|
+
`[deploy-status] state=<deploying|healthy|failed|rolled-back> service=<name> detail=<short-note>`
|
|
53
|
+
|
|
54
|
+
Example:
|
|
55
|
+
`[deploy-status] state=healthy service=api-server detail=health-endpoint-200-latency-under-50ms`
|
|
56
|
+
|
|
57
|
+
## Rules
|
|
58
|
+
- Markers must appear on a single line, not wrapped across lines.
|
|
59
|
+
- Field values must not contain spaces; use hyphens for compound values.
|
|
60
|
+
- Markers are machine-parsed; do not add extra fields or change field order.
|
|
61
|
+
- Each closure role emits exactly one final marker per wave attempt.
|
|
62
|
+
- Markers in agent output are the authoritative proof surface for orchestrator validation.
|
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "wave-core",
|
|
3
3
|
"title": "Wave Core",
|
|
4
|
-
"description": "
|
|
4
|
+
"description": "Ensures every agent follows coordination protocol, respects ownership boundaries, produces durable proof, and meets closure requirements before claiming done.",
|
|
5
|
+
"activation": {
|
|
6
|
+
"when": "Attach to every agent to enforce Wave coordination, proof, and closure protocol.",
|
|
7
|
+
"roles": [],
|
|
8
|
+
"runtimes": [],
|
|
9
|
+
"deployKinds": []
|
|
10
|
+
},
|
|
11
|
+
"termination": "Stop when ownership boundaries, proof obligations, and required Wave markers are satisfied or explicitly handed off.",
|
|
12
|
+
"permissions": {
|
|
13
|
+
"network": [],
|
|
14
|
+
"shell": [],
|
|
15
|
+
"mcpServers": []
|
|
16
|
+
},
|
|
17
|
+
"trust": {
|
|
18
|
+
"tier": "repo-owned"
|
|
19
|
+
},
|
|
20
|
+
"evalCases": [
|
|
21
|
+
{
|
|
22
|
+
"id": "implementation-codex",
|
|
23
|
+
"role": "implementation",
|
|
24
|
+
"runtime": "codex",
|
|
25
|
+
"expectActive": true
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"id": "documentation-opencode",
|
|
29
|
+
"role": "documentation",
|
|
30
|
+
"runtime": "opencode",
|
|
31
|
+
"deployKind": "railway-cli",
|
|
32
|
+
"expectActive": true
|
|
33
|
+
}
|
|
34
|
+
]
|
|
5
35
|
}
|
package/wave.config.json
CHANGED
|
@@ -9,17 +9,21 @@
|
|
|
9
9
|
"orchestratorStateDir": ".tmp/wave-orchestrator",
|
|
10
10
|
"terminalsPath": ".vscode/terminals.json",
|
|
11
11
|
"context7BundleIndexPath": "docs/context7/bundles.json",
|
|
12
|
+
"benchmarkCatalogPath": "docs/evals/benchmark-catalog.json",
|
|
12
13
|
"componentCutoverMatrixDocPath": "docs/plans/component-cutover-matrix.md",
|
|
13
14
|
"componentCutoverMatrixJsonPath": "docs/plans/component-cutover-matrix.json"
|
|
14
15
|
},
|
|
15
16
|
"roles": {
|
|
16
17
|
"rolePromptDir": "docs/agents",
|
|
17
|
-
"
|
|
18
|
+
"contQaAgentId": "A0",
|
|
19
|
+
"contEvalAgentId": "E0",
|
|
18
20
|
"integrationAgentId": "A8",
|
|
19
21
|
"documentationAgentId": "A9",
|
|
20
|
-
"
|
|
22
|
+
"contQaRolePromptPath": "docs/agents/wave-cont-qa-role.md",
|
|
23
|
+
"contEvalRolePromptPath": "docs/agents/wave-cont-eval-role.md",
|
|
21
24
|
"integrationRolePromptPath": "docs/agents/wave-integration-role.md",
|
|
22
|
-
"documentationRolePromptPath": "docs/agents/wave-documentation-role.md"
|
|
25
|
+
"documentationRolePromptPath": "docs/agents/wave-documentation-role.md",
|
|
26
|
+
"securityRolePromptPath": "docs/agents/wave-security-role.md"
|
|
23
27
|
},
|
|
24
28
|
"executors": {
|
|
25
29
|
"default": "codex",
|
|
@@ -40,6 +44,14 @@
|
|
|
40
44
|
"minutes": 30
|
|
41
45
|
}
|
|
42
46
|
},
|
|
47
|
+
"eval-tuning": {
|
|
48
|
+
"id": "codex",
|
|
49
|
+
"tags": ["eval", "tuning"],
|
|
50
|
+
"budget": {
|
|
51
|
+
"turns": 14,
|
|
52
|
+
"minutes": 45
|
|
53
|
+
}
|
|
54
|
+
},
|
|
43
55
|
"docs-pass": {
|
|
44
56
|
"id": "claude",
|
|
45
57
|
"tags": ["documentation"],
|
|
@@ -48,6 +60,17 @@
|
|
|
48
60
|
"minutes": 20
|
|
49
61
|
}
|
|
50
62
|
},
|
|
63
|
+
"security-review": {
|
|
64
|
+
"id": "claude",
|
|
65
|
+
"tags": ["security", "review"],
|
|
66
|
+
"budget": {
|
|
67
|
+
"turns": 8,
|
|
68
|
+
"minutes": 20
|
|
69
|
+
},
|
|
70
|
+
"claude": {
|
|
71
|
+
"allowedTools": ["Read", "Edit", "Write", "Bash", "Grep", "Glob"]
|
|
72
|
+
}
|
|
73
|
+
},
|
|
51
74
|
"ops-triage": {
|
|
52
75
|
"id": "opencode",
|
|
53
76
|
"tags": ["ops", "research"],
|
|
@@ -78,7 +101,9 @@
|
|
|
78
101
|
"implementation": ["role-implementation"],
|
|
79
102
|
"integration": ["role-integration"],
|
|
80
103
|
"documentation": ["role-documentation"],
|
|
81
|
-
"
|
|
104
|
+
"cont-qa": ["role-cont-qa"],
|
|
105
|
+
"cont-eval": ["role-cont-eval"],
|
|
106
|
+
"security": ["role-security"],
|
|
82
107
|
"infra": ["role-infra"],
|
|
83
108
|
"deploy": ["role-deploy"],
|
|
84
109
|
"research": ["role-research"]
|
|
@@ -94,6 +119,8 @@
|
|
|
94
119
|
"railway-mcp": ["provider-railway"],
|
|
95
120
|
"docker-compose": ["provider-docker-compose"],
|
|
96
121
|
"kubernetes": ["provider-kubernetes"],
|
|
122
|
+
"aws": ["provider-aws"],
|
|
123
|
+
"github-release": ["provider-github-release"],
|
|
97
124
|
"ssh-manual": ["provider-ssh-manual"],
|
|
98
125
|
"custom": ["provider-custom-deploy"]
|
|
99
126
|
}
|
|
@@ -123,14 +150,16 @@
|
|
|
123
150
|
"runtimePolicy": {
|
|
124
151
|
"runtimeMixTargets": {
|
|
125
152
|
"codex": 3,
|
|
126
|
-
"claude":
|
|
153
|
+
"claude": 4,
|
|
127
154
|
"opencode": 2
|
|
128
155
|
},
|
|
129
156
|
"defaultExecutorByRole": {
|
|
130
157
|
"implementation": "codex",
|
|
131
158
|
"integration": "claude",
|
|
132
159
|
"documentation": "claude",
|
|
133
|
-
"
|
|
160
|
+
"cont-qa": "claude",
|
|
161
|
+
"cont-eval": "codex",
|
|
162
|
+
"security": "claude",
|
|
134
163
|
"research": "opencode",
|
|
135
164
|
"infra": "opencode",
|
|
136
165
|
"deploy": "opencode"
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
# Evaluator Role
|
|
2
|
-
|
|
3
|
-
- Judge the wave on landed evidence, not on effort or intent.
|
|
4
|
-
- Require coherence across implementation, integration, documentation, and runtime proof before PASS.
|
|
5
|
-
- Keep the final verdict and gate markers authoritative and internally consistent.
|
|
6
|
-
- Call out the smallest set of blocking issues that must change before the next wave can proceed safely.
|