@chllming/wave-orchestration 0.7.3 → 0.8.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.
Files changed (51) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +14 -13
  3. package/docs/README.md +3 -1
  4. package/docs/agents/wave-cont-qa-role.md +1 -0
  5. package/docs/agents/wave-integration-role.md +1 -0
  6. package/docs/agents/wave-launcher-role.md +4 -1
  7. package/docs/agents/wave-orchestrator-role.md +5 -3
  8. package/docs/concepts/operating-modes.md +1 -1
  9. package/docs/concepts/runtime-agnostic-orchestration.md +5 -4
  10. package/docs/concepts/what-is-a-wave.md +12 -10
  11. package/docs/guides/author-and-run-waves.md +3 -3
  12. package/docs/plans/architecture-hardening-migration.md +206 -0
  13. package/docs/plans/current-state.md +5 -3
  14. package/docs/plans/examples/wave-example-live-proof.md +1 -1
  15. package/docs/plans/master-plan.md +2 -2
  16. package/docs/plans/migration.md +12 -2
  17. package/docs/plans/wave-orchestrator.md +10 -8
  18. package/docs/reference/coordination-and-closure.md +8 -4
  19. package/docs/reference/npmjs-trusted-publishing.md +2 -2
  20. package/docs/reference/sample-waves.md +4 -4
  21. package/docs/reference/skills.md +3 -0
  22. package/docs/reference/wave-control.md +4 -2
  23. package/docs/research/coordination-failure-review.md +4 -4
  24. package/docs/roadmap.md +1 -1
  25. package/package.json +1 -1
  26. package/releases/manifest.json +39 -0
  27. package/scripts/wave-orchestrator/agent-state.mjs +405 -89
  28. package/scripts/wave-orchestrator/contradiction-entity.mjs +487 -0
  29. package/scripts/wave-orchestrator/coord-cli.mjs +6 -2
  30. package/scripts/wave-orchestrator/coordination-store.mjs +3 -1
  31. package/scripts/wave-orchestrator/launcher-gates.mjs +79 -11
  32. package/scripts/wave-orchestrator/launcher-retry.mjs +36 -6
  33. package/scripts/wave-orchestrator/launcher.mjs +163 -2
  34. package/scripts/wave-orchestrator/routing-state.mjs +91 -4
  35. package/scripts/wave-orchestrator/task-entity.mjs +425 -51
  36. package/scripts/wave-orchestrator/wave-control-schema.mjs +2 -0
  37. package/scripts/wave-orchestrator/wave-state-reducer.mjs +260 -111
  38. package/skills/README.md +3 -0
  39. package/skills/repo-coding-rules/SKILL.md +1 -1
  40. package/skills/role-cont-qa/SKILL.md +2 -2
  41. package/skills/role-deploy/SKILL.md +1 -1
  42. package/skills/role-documentation/SKILL.md +1 -1
  43. package/skills/role-implementation/SKILL.md +1 -1
  44. package/skills/role-infra/SKILL.md +1 -1
  45. package/skills/role-integration/SKILL.md +2 -2
  46. package/skills/role-security/SKILL.md +1 -1
  47. package/skills/runtime-claude/SKILL.md +1 -1
  48. package/skills/runtime-codex/SKILL.md +1 -1
  49. package/skills/runtime-opencode/SKILL.md +1 -1
  50. package/skills/wave-core/SKILL.md +14 -6
  51. package/skills/wave-core/references/marker-syntax.md +1 -1
@@ -54,7 +54,7 @@ All three layers are binding. When they conflict, prefer the compiled task promp
54
54
  - Avoid pasting large file contents into reasoning when a targeted Grep or Read with offset suffices.
55
55
  - When context grows large, summarize intermediate findings into a working note rather than re-reading raw sources.
56
56
  - Do not re-read files you have already read in the current session unless the file may have changed.
57
- - Do not edit files under `.tmp/` (coordination logs, control-plane events, proof registries, dashboards, traces). These are managed by the launcher and operator tooling.
57
+ - Do not edit files under `.tmp/` (coordination logs, control-plane events, result artifacts, proof registries, dashboards, traces). These are canonical runtime artifacts or projections managed by the orchestration runtime.
58
58
 
59
59
  ## Customization
60
60
 
@@ -44,7 +44,7 @@ All context is in the prompt and added directories. There is no system prompt la
44
44
  - **No persistent state** -- each session starts clean. Do not rely on artifacts from previous sessions unless they are committed to the repo.
45
45
  - **Filesystem scope** -- write only to paths within the workspace. The sandbox may reject writes outside the project root.
46
46
  - **External APIs** -- avoid calling external APIs unless the task explicitly requires live verification. If network is unavailable, record the gap as a proof limitation.
47
- - **Runtime state** -- do not edit files under `.tmp/` (coordination logs, control-plane events, proof registries, dashboards, traces). These are managed by the launcher and operator tooling. You may read them when they appear in `--add-dir` bundles.
47
+ - **Runtime state** -- do not edit files under `.tmp/` (coordination logs, control-plane events, result artifacts, proof registries, dashboards, traces). These are canonical runtime artifacts or projections managed by the orchestration runtime. You may read them when they appear in `--add-dir` bundles.
48
48
 
49
49
  <!-- CUSTOMIZE: List allowed network targets or external API endpoints for your project here. -->
50
50
 
@@ -46,7 +46,7 @@ Both the agent prompt and injected instructions are authoritative. When they con
46
46
  - When an edit depends on understanding adjacent code, read the relevant context first.
47
47
  - If a needed change falls outside your ownership, record it as a follow-up request naming the owning agent, the file, and the change.
48
48
  - Generated overlays (context bundles, summaries) are read-only reference. Do not edit overlay files.
49
- - Do not edit files under `.tmp/` (coordination logs, control-plane events, proof registries, dashboards, traces). These are managed by the launcher and operator tooling.
49
+ - Do not edit files under `.tmp/` (coordination logs, control-plane events, result artifacts, proof registries, dashboards, traces). These are canonical runtime artifacts or projections managed by the orchestration runtime.
50
50
 
51
51
  ## Customization
52
52
 
@@ -5,6 +5,7 @@
5
5
  ## Core Rules
6
6
 
7
7
  - Re-read the compiled shared summary, inbox, and board projection before major decisions and before final output.
8
+ - Treat those summaries and projections as convenience views over canonical state, not as the only closure authority.
8
9
  - Treat file ownership, exit contracts, and structured markers as hard requirements.
9
10
  - Post coordination records for meaningful progress, blockers, decisions, and handoffs.
10
11
  - Make gaps explicit with exact files, exact fields, and exact follow-up owners.
@@ -30,9 +31,16 @@
30
31
 
31
32
  ## Coordination State
32
33
 
33
- The canonical coordination state is the JSONL log under `.tmp/<lane>-wave-launcher/coordination/`. The markdown board is a generated projection for human reading, not the scheduler truth.
34
+ The canonical authority set for a wave is:
34
35
 
35
- Operator tasks, rerun requests, proof bundles, and attempt lifecycle are tracked in a separate control-plane event log under `.tmp/<lane>-wave-launcher/control-plane/`. Proof registries and retry overrides under `proof/` and `control/` are projections from this log.
36
+ - wave definitions under `docs/plans/waves/`
37
+ - the coordination JSONL log under `.tmp/<lane>-wave-launcher/coordination/`
38
+ - the control-plane event log under `.tmp/<lane>-wave-launcher/control-plane/`
39
+ - immutable attempt-scoped result artifacts under `.tmp/<lane>-wave-launcher/results/`
40
+
41
+ The markdown board, shared summary, inboxes, ledgers, proof registries, retry overrides, and dashboards are projections over that state.
42
+
43
+ Operator tasks, rerun requests, proof bundles, attempt lifecycle, contradictions, facts, and human-input workflow state are tracked in the control-plane event log. Proof registries and retry overrides under `proof/` and `control/` are projections from this log.
36
44
 
37
45
  Operators interact through `wave control`:
38
46
  - `wave control status` — why the wave is blocked or retrying.
@@ -74,8 +82,8 @@ A wave is closable only when all nine conditions are satisfied:
74
82
  5. **Dependency tickets resolved** -- all inbound cross-lane dependency tickets are resolved or explicitly deferred.
75
83
  6. **Clarification follow-ups resolved** -- every routed clarification chain has a linked follow-up that is closed.
76
84
  7. **cont-EVAL satisfies targets** -- if the wave includes cont-EVAL, the eval marker shows `satisfied` with matching target and benchmark ids.
77
- 8. **Integration recommends closure** -- the integration marker shows `ready-for-doc-closure` and is not contradicted by later evidence.
78
- 9. **Documentation and cont-QA pass** -- doc closure marker is `closed` or `no-change`, and the cont-QA verdict is `PASS` with a matching gate marker.
85
+ 8. **Integration recommends closure** -- the integration result is `ready-for-doc-closure` and is not contradicted by later evidence.
86
+ 9. **Documentation and cont-QA pass** -- documentation closure is `closed` or `no-change`, and the cont-QA verdict is `PASS` with a matching gate result.
79
87
 
80
88
  If any condition is not met, the wave remains open. Do not approximate closure.
81
89
 
@@ -89,7 +97,7 @@ Closure runs in staged order:
89
97
 
90
98
  Do not skip stages. Each stage depends on the prior stage completing.
91
99
 
92
- An active rerun request blocks closure until consumed. If the operator has filed a rerun via `wave control rerun request`, the launcher applies it on the next retry and clears it afterward.
100
+ An active rerun request blocks closure until consumed. If the operator has filed a rerun via `wave control rerun request`, the retry engine applies it on the next retry and clears it afterward.
93
101
 
94
102
  ## Structured Markers Reference
95
103
 
@@ -119,7 +127,7 @@ Marker ownership:
119
127
  | `[infra-status]` | Infra role |
120
128
  | `[deploy-status]` | Deploy role |
121
129
 
122
- When you encounter a marker in the coordination log, treat it as the authoritative state from that role. If a role emits multiple markers during a wave, the last one supersedes earlier ones.
130
+ When you encounter a marker in the coordination log or a role report, treat it as a role-owned closure output and compatibility surface. If it conflicts with landed code, canonical state, or typed result artifacts, escalate the contradiction instead of treating the marker text as unchallengeable authority.
123
131
 
124
132
  <!-- CUSTOMIZE: Add project-specific marker types or extend existing formats here. -->
125
133
 
@@ -67,4 +67,4 @@ Example:
67
67
  - Field values must not contain spaces; use hyphens for compound values.
68
68
  - Markers are machine-parsed; do not add extra fields or change field order.
69
69
  - Each closure role emits exactly one final marker per wave attempt.
70
- - Markers in agent output are the authoritative proof surface for orchestrator validation.
70
+ - Markers in agent output are role-owned compatibility and review surfaces. Live gate evaluation should prefer canonical state and typed result artifacts when they are available.