@chllming/wave-orchestration 0.9.1 → 0.9.2
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 +30 -1
- package/LICENSE.md +21 -0
- package/README.md +18 -6
- package/docs/README.md +8 -4
- package/docs/agents/wave-security-role.md +1 -0
- package/docs/architecture/README.md +1 -1
- package/docs/concepts/operating-modes.md +1 -1
- package/docs/guides/author-and-run-waves.md +1 -1
- package/docs/guides/planner.md +2 -2
- package/docs/guides/{recommendations-0.9.1.md → recommendations-0.9.2.md} +7 -7
- package/docs/guides/sandboxed-environments.md +2 -2
- package/docs/plans/current-state.md +8 -2
- package/docs/plans/end-state-architecture.md +1 -1
- package/docs/plans/examples/wave-example-design-handoff.md +1 -1
- package/docs/plans/examples/wave-example-live-proof.md +1 -1
- package/docs/plans/migration.md +42 -18
- package/docs/reference/cli-reference.md +1 -1
- package/docs/reference/coordination-and-closure.md +18 -1
- package/docs/reference/corridor.md +225 -0
- package/docs/reference/npmjs-token-publishing.md +2 -2
- package/docs/reference/package-publishing-flow.md +11 -11
- package/docs/reference/runtime-config/README.md +61 -3
- package/docs/reference/sample-waves.md +5 -5
- package/docs/reference/skills.md +1 -1
- package/docs/reference/wave-control.md +358 -27
- package/docs/roadmap.md +12 -19
- package/package.json +1 -1
- package/releases/manifest.json +22 -3
- package/scripts/wave-cli-bootstrap.mjs +52 -1
- package/scripts/wave-orchestrator/config.mjs +199 -3
- package/scripts/wave-orchestrator/context7.mjs +231 -29
- package/scripts/wave-orchestrator/coordination.mjs +14 -0
- package/scripts/wave-orchestrator/corridor.mjs +363 -0
- package/scripts/wave-orchestrator/derived-state-engine.mjs +38 -1
- package/scripts/wave-orchestrator/gate-engine.mjs +20 -0
- package/scripts/wave-orchestrator/install.mjs +34 -1
- package/scripts/wave-orchestrator/launcher-runtime.mjs +111 -7
- package/scripts/wave-orchestrator/planner.mjs +1 -0
- package/scripts/wave-orchestrator/projection-writer.mjs +23 -0
- package/scripts/wave-orchestrator/provider-runtime.mjs +104 -0
- package/scripts/wave-orchestrator/shared.mjs +1 -0
- package/scripts/wave-orchestrator/traces.mjs +25 -0
- package/scripts/wave-orchestrator/wave-control-client.mjs +14 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,18 +2,47 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 0.9.2 - 2026-03-29
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- A dedicated Corridor reference at `docs/reference/corridor.md` covering `direct`, `broker`, and `hybrid` provider modes, implementation-owned path matching, generated `wave-<n>-corridor.json` artifacts, and the way Corridor can fail closure before integration.
|
|
10
|
+
- Full shipped-surface documentation for owned `wave-control` deployments, including Stack-backed browser access, Wave-managed approval states and provider grants, PATs, service tokens, encrypted per-user credential storage, runtime credential leasing, and the separate `services/wave-control-web` frontend.
|
|
11
|
+
- Starter-surface coverage for the renamed operating guide `docs/guides/recommendations-0.9.2.md`, including install seeding and regression coverage so fresh adopted workspaces receive the current recommendations guide path.
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
|
|
15
|
+
- Promoted the current packaged surface to `0.9.2` so the documented Corridor, Wave Control auth and security model, release manifest, tracked install-state fixtures, and package publishing docs can be tagged and published cleanly without reusing the existing `0.9.1` npm release and git tag.
|
|
16
|
+
- README, migration guidance, current-state notes, runtime-config docs, coordination docs, roadmap notes, package publishing docs, Wave Control docs, the new Corridor reference, and the tracked install-state fixtures now all point at the `0.9.2` surface and describe the same shipped security and control-plane model consistently.
|
|
17
|
+
- `services/wave-control/README.md` and `docs/reference/wave-control.md` now document the current control-plane contract and the updated `wave-control-web` frontend surface instead of the older narrower auth description.
|
|
18
|
+
|
|
19
|
+
### Fixed And Hardened
|
|
20
|
+
|
|
21
|
+
- `scripts/wave-orchestrator/install.mjs` now seeds the current linked reference set, including `docs/reference/corridor.md`, `docs/reference/wave-control.md`, and `docs/reference/coordination-and-closure.md`, so fresh `wave init` workspaces do not miss the new release docs.
|
|
22
|
+
- Release-surface fixtures now advance together to `0.9.2`, including `releases/manifest.json`, `.wave/install-state.json`, and the tracked `.wave/upgrade-history/` report for `0.9.1 -> 0.9.2`, which keeps repo-owned validation aligned with the packaged version.
|
|
23
|
+
- The versioned recommendations guide rename now propagates through install coverage, package publishing docs, and release regression checks so future package cuts do not drift from the shipped file name.
|
|
24
|
+
|
|
25
|
+
### Testing And Validation
|
|
26
|
+
|
|
27
|
+
- `pnpm exec vitest run --config vitest.config.ts test/wave-orchestrator/install.test.ts`
|
|
28
|
+
- `pnpm exec vitest run --config vitest.config.ts test/wave-orchestrator/release-surface.test.ts`
|
|
29
|
+
- `node scripts/wave.mjs doctor --json`
|
|
30
|
+
- `node scripts/wave.mjs launch --lane main --dry-run --no-dashboard`
|
|
31
|
+
- `pnpm test -- test/wave-orchestrator/release-surface.test.ts`
|
|
32
|
+
|
|
5
33
|
## 0.9.1 - 2026-03-29
|
|
6
34
|
|
|
7
35
|
### Added
|
|
8
36
|
|
|
9
37
|
- A dedicated sandbox setup guide at `docs/guides/sandboxed-environments.md` covering LEAPclaw/OpenClaw-style short-lived exec sandboxes, Nemoshell, and Docker or containerized operator setups.
|
|
10
38
|
- Starter-surface and install coverage for the renamed recommendations guide `docs/guides/recommendations-0.9.1.md`, plus seeded docs that now point fresh workspaces at the sandbox-safe submit or supervise path.
|
|
39
|
+
- A dedicated Corridor reference at `docs/reference/corridor.md` covering direct, brokered, and hybrid provider modes, owned-path matching, generated security artifacts, and closure-stage blocking behavior.
|
|
11
40
|
|
|
12
41
|
### Changed
|
|
13
42
|
|
|
14
43
|
- Live agent execution now defaults to detached process runners instead of per-agent tmux execution sessions. Tmux remains an optional dashboard and operator projection surface only, which reduces session churn and lowers memory pressure during wider fan-outs.
|
|
15
44
|
- The sandbox-facing runtime path is now `wave submit`, `wave supervise`, `wave status`, `wave wait`, and `wave attach`, with read-side reconciliation and log-follow attach behavior designed for short-lived clients and long-running daemon ownership.
|
|
16
|
-
- README, migration guidance, current-state notes, coordination docs,
|
|
45
|
+
- README, migration guidance, current-state notes, runtime-config docs, coordination docs, Wave Control docs, the new Corridor reference, package publishing docs, roadmap notes, install fixtures, and the versioned recommendations guide now all point at the `0.9.1` surface and describe the current authenticated Wave Control plus security surface consistently.
|
|
17
46
|
|
|
18
47
|
### Fixed And Hardened
|
|
19
48
|
|
package/LICENSE.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 chllming
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -107,17 +107,19 @@ Wave is built to mitigate those failures with a canonical authority set, generat
|
|
|
107
107
|
|
|
108
108
|
Current release:
|
|
109
109
|
|
|
110
|
-
- `@chllming/wave-orchestration@0.9.
|
|
111
|
-
- Release tag: [`v0.9.
|
|
110
|
+
- `@chllming/wave-orchestration@0.9.2`
|
|
111
|
+
- Release tag: [`v0.9.2`](https://github.com/chllming/agent-wave-orchestrator/releases/tag/v0.9.2)
|
|
112
112
|
- Public install path: npmjs
|
|
113
113
|
- Authenticated fallback: GitHub Packages
|
|
114
114
|
|
|
115
|
-
Highlights in `0.9.
|
|
115
|
+
Highlights in `0.9.2`:
|
|
116
116
|
|
|
117
117
|
- Live agent execution now uses detached process runners by default, which reduces tmux churn and memory pressure during wider orchestration bursts. Tmux is now optional and dashboard-only.
|
|
118
118
|
- The sandbox-safe runtime path is now `wave submit`, `wave supervise`, `wave status`, `wave wait`, and `wave attach`, which behaves better under short-lived exec clients such as LEAPclaw, OpenClaw, and Nemoshell.
|
|
119
119
|
- Supervisor recovery, launcher progress journaling, and exact-context reads are now hardier for multi-wave runs, reruns, and daemon/client loss in containerized or sandboxed environments.
|
|
120
|
-
-
|
|
120
|
+
- Owned Wave Control deployments now support Stack-authenticated browser access, Wave-managed approval states and provider grants, personal access tokens, dedicated service tokens, encrypted per-user credential leasing, and the separate `services/wave-control-web` operator frontend.
|
|
121
|
+
- Corridor is now documented as a first-class security input: it can run direct or through an owned Wave Control broker, materialize per-wave security context on implementation-owned paths, and block closure before integration when fetches fail or matched findings cross the configured threshold.
|
|
122
|
+
- Release docs, migration guidance, runtime-config and closure references, Wave Control docs, the new Corridor reference, the manifest, and the tracked install-state fixtures now all point at the `0.9.2` surface.
|
|
121
123
|
|
|
122
124
|
Requirements:
|
|
123
125
|
|
|
@@ -126,7 +128,8 @@ Requirements:
|
|
|
126
128
|
- optional: `tmux` on `PATH` for dashboarded runs
|
|
127
129
|
- at least one executor on `PATH`: `codex`, `claude`, or `opencode`
|
|
128
130
|
- optional: `CONTEXT7_API_KEY` for launcher-side prefetch
|
|
129
|
-
- optional: `
|
|
131
|
+
- optional: `WAVE_API_TOKEN` for owned Wave Control reporting, brokered provider access, and runtime credential leasing
|
|
132
|
+
- compatibility fallback: `WAVE_CONTROL_AUTH_TOKEN`
|
|
130
133
|
|
|
131
134
|
Telemetry defaults:
|
|
132
135
|
|
|
@@ -135,6 +138,13 @@ Telemetry defaults:
|
|
|
135
138
|
- default identity fields include `projectId`, `lane`, `wave`, `runKind`, and related benchmark ids
|
|
136
139
|
- opt out explicitly with `waveControl.enabled: false`, `waveControl.reportMode: "disabled"`, or `wave launch --no-telemetry`
|
|
137
140
|
|
|
141
|
+
Owned Wave Control and security features:
|
|
142
|
+
|
|
143
|
+
- the packaged default endpoint is metadata-first and intentionally rejects provider-broker and credential-leasing routes
|
|
144
|
+
- owned deployments can add the authenticated `wave-control` app surface: Stack-backed browser sign-in, Wave-managed approval states, provider grants, PATs, service tokens, and encrypted per-user credential leasing
|
|
145
|
+
- `externalProviders.corridor` can run in `direct`, `broker`, or `hybrid` mode, writes `.tmp/<lane>-wave-launcher/security/wave-<n>-corridor.json`, and can fail closure on fetch errors or matched blocking findings when `requiredAtClosure` stays enabled
|
|
146
|
+
- see [docs/reference/wave-control.md](./docs/reference/wave-control.md), [docs/reference/corridor.md](./docs/reference/corridor.md), and [docs/reference/coordination-and-closure.md](./docs/reference/coordination-and-closure.md)
|
|
147
|
+
|
|
138
148
|
## Recommended Setup
|
|
139
149
|
|
|
140
150
|
The easiest way to set up Wave in any repo is:
|
|
@@ -202,6 +212,7 @@ Useful docs:
|
|
|
202
212
|
- `docs/guides/monorepo-projects.md`
|
|
203
213
|
- `docs/guides/planner.md`
|
|
204
214
|
- `docs/reference/runtime-config/README.md`
|
|
215
|
+
- `docs/reference/corridor.md`
|
|
205
216
|
- `docs/reference/wave-control.md`
|
|
206
217
|
```
|
|
207
218
|
|
|
@@ -355,7 +366,8 @@ codex mcp list
|
|
|
355
366
|
- [docs/plans/architecture-hardening-migration.md](./docs/plans/architecture-hardening-migration.md): historical record of the completed architecture hardening stages
|
|
356
367
|
- [docs/plans/context7-wave-orchestrator.md](./docs/plans/context7-wave-orchestrator.md): Context7 setup and bundle authoring
|
|
357
368
|
- [docs/reference/runtime-config/README.md](./docs/reference/runtime-config/README.md): executor, runtime, and skill-projection configuration
|
|
358
|
-
- [docs/reference/
|
|
369
|
+
- [docs/reference/corridor.md](./docs/reference/corridor.md): direct, brokered, and hybrid Corridor security context plus closure semantics
|
|
370
|
+
- [docs/reference/wave-control.md](./docs/reference/wave-control.md): local-first telemetry contract, owned deployment model, auth surfaces, and credential/broker routes
|
|
359
371
|
- [docs/reference/package-publishing-flow.md](./docs/reference/package-publishing-flow.md): end-to-end package publishing flow, workflows, and lifecycle scripts
|
|
360
372
|
- [docs/reference/proof-metrics.md](./docs/reference/proof-metrics.md): README failure cases mapped to concrete telemetry and benchmark evidence
|
|
361
373
|
- [docs/reference/skills.md](./docs/reference/skills.md): skill bundle format, resolution order, and runtime projection
|
package/docs/README.md
CHANGED
|
@@ -38,19 +38,23 @@ The useful path is journey-first:
|
|
|
38
38
|
- Setting up multiple projects in one monorepo:
|
|
39
39
|
Read [guides/monorepo-projects.md](./guides/monorepo-projects.md) for `defaultProject`, `projects.<projectId>`, project-scoped state paths, and telemetry defaults.
|
|
40
40
|
- Adding an optional pre-implementation design steward:
|
|
41
|
-
Read [guides/author-and-run-waves.md](./guides/author-and-run-waves.md), then the standing prompt in [agents/wave-design-role.md](./agents/wave-design-role.md). The shipped `0.9.
|
|
41
|
+
Read [guides/author-and-run-waves.md](./guides/author-and-run-waves.md), then the standing prompt in [agents/wave-design-role.md](./agents/wave-design-role.md). The shipped `0.9.2` surface includes `role-design` plus `tui-design`, with docs-first design stewards by default and explicit hybrid design stewards when a wave also gives that same agent code ownership.
|
|
42
42
|
- Running in LEAPclaw, OpenClaw, Nemoshell, Docker, or another short-lived sandbox:
|
|
43
43
|
Read [guides/sandboxed-environments.md](./guides/sandboxed-environments.md) first for the submit or supervise pattern, persistent-state expectations, and dashboard guidance, then use [plans/sandbox-end-state-architecture.md](./plans/sandbox-end-state-architecture.md) for the deeper runtime design.
|
|
44
44
|
- Want signal-driven automation or long-running watcher loops:
|
|
45
45
|
Read [guides/signal-wrappers.md](./guides/signal-wrappers.md). It covers the seeded `wave-status.sh` and `wave-watch.sh` wrappers, the versioned signal snapshot files, and the ack-loop contract behind `signal-hygiene`.
|
|
46
46
|
- Adding a security review pass:
|
|
47
|
-
Read [plans/wave-orchestrator.md](./plans/wave-orchestrator.md)
|
|
47
|
+
Read [plans/wave-orchestrator.md](./plans/wave-orchestrator.md), the standing reviewer prompt in [agents/wave-security-role.md](./agents/wave-security-role.md), and [reference/corridor.md](./reference/corridor.md) if the lane also wants provider-backed security context.
|
|
48
|
+
- Running or self-hosting the control plane:
|
|
49
|
+
Read [reference/wave-control.md](./reference/wave-control.md) for the local-first telemetry contract plus the owned-deployment auth, broker, PAT, service-token, and credential-leasing model.
|
|
50
|
+
- Using Corridor-backed security context:
|
|
51
|
+
Read [reference/corridor.md](./reference/corridor.md) for the direct, broker, and hybrid modes, then [reference/coordination-and-closure.md](./reference/coordination-and-closure.md) for how Corridor interacts with human security review and closure ordering.
|
|
48
52
|
- Upgrading an existing repo:
|
|
49
53
|
Read [plans/migration.md](./plans/migration.md), then review the release notes in [../CHANGELOG.md](../CHANGELOG.md) before running `pnpm exec wave upgrade`.
|
|
50
54
|
- Publishing the package:
|
|
51
55
|
Read [reference/package-publishing-flow.md](./reference/package-publishing-flow.md) for the end-to-end release path, the GitHub publish workflows, the lifecycle scripts, and the verification or repair flow.
|
|
52
|
-
- Want the practical `0.9.
|
|
53
|
-
Read [guides/recommendations-0.9.
|
|
56
|
+
- Want the practical `0.9.2` operating stance:
|
|
57
|
+
Read [guides/recommendations-0.9.2.md](./guides/recommendations-0.9.2.md) for the recommended default around relaxed blocker states, advisory turn budgets, and targeted recovery.
|
|
54
58
|
- Want the concrete runtime module map:
|
|
55
59
|
Read [plans/end-state-architecture.md](./plans/end-state-architecture.md) for the engine-by-engine architecture and artifact ownership model.
|
|
56
60
|
- Want the CLI surface map:
|
|
@@ -16,6 +16,7 @@ Your job is to review the landed change set before integration closure, identify
|
|
|
16
16
|
|
|
17
17
|
Operating rules:
|
|
18
18
|
- Re-read the compiled shared summary, your inbox, the generated wave board projection, and the owned reports before major decisions.
|
|
19
|
+
- If a Corridor artifact path is present in your prompt, read it before final disposition and reconcile its matched findings with your report. Do not ignore a blocking Corridor result without explaining why it is not relevant to the implementation-owned paths for this wave.
|
|
19
20
|
- Do a threat-model pass before finalizing conclusions. Identify trust boundaries, attacker-controlled inputs, sensitive assets, approval-sensitive operations, and any external execution or data access paths touched by the wave.
|
|
20
21
|
- Prefer exact findings and exact requested fixes over vague warnings.
|
|
21
22
|
- Route fixes to the owning agent when the required change is outside your report path.
|
|
@@ -1357,7 +1357,7 @@ The `wave-control-schema.mjs` module normalizes these entity types:
|
|
|
1357
1357
|
"enabled": true,
|
|
1358
1358
|
"endpoint": "https://wave-control.up.railway.app/api/v1",
|
|
1359
1359
|
"reportMode": "metadata-only",
|
|
1360
|
-
"
|
|
1360
|
+
"authTokenEnvVar": "WAVE_API_TOKEN"
|
|
1361
1361
|
}
|
|
1362
1362
|
}
|
|
1363
1363
|
```
|
|
@@ -88,4 +88,4 @@ The current roadmap is a release-direction document, not a backlog of planner ph
|
|
|
88
88
|
- typed values in planner output
|
|
89
89
|
- better environment modeling
|
|
90
90
|
|
|
91
|
-
The stricter execution semantics are still future work, not a hidden already-finished feature in `0.9.
|
|
91
|
+
The stricter execution semantics are still future work, not a hidden already-finished feature in `0.9.2`.
|
|
@@ -74,7 +74,7 @@ Good fits:
|
|
|
74
74
|
- multi-owner waves where downstream implementers need the same decisions and assumptions
|
|
75
75
|
- ambiguous tasks where open questions should become explicit before code owners fan out
|
|
76
76
|
|
|
77
|
-
The starter contract in `0.9.
|
|
77
|
+
The starter contract in `0.9.2` is:
|
|
78
78
|
|
|
79
79
|
- import `docs/agents/wave-design-role.md`
|
|
80
80
|
- own one packet such as `docs/plans/waves/design/wave-<n>-<agentId>.md`
|
package/docs/guides/planner.md
CHANGED
|
@@ -6,7 +6,7 @@ If you want the full author-to-launch workflow, start with [author-and-run-waves
|
|
|
6
6
|
|
|
7
7
|
It reduces repeated setup questions, stores project defaults, and generates wave specs plus markdown that already fit the launcher.
|
|
8
8
|
|
|
9
|
-
The published `0.9.
|
|
9
|
+
The published `0.9.2` package already includes the optional `design` worker role for pre-implementation design packets. This guide calls out where that affects drafting.
|
|
10
10
|
|
|
11
11
|
## What Ships Today
|
|
12
12
|
|
|
@@ -48,7 +48,7 @@ pnpm exec wave launch --lane main --dry-run --no-dashboard
|
|
|
48
48
|
- forward replanning of later waves
|
|
49
49
|
- separate runtime enforcement for oversight vs dark-factory
|
|
50
50
|
|
|
51
|
-
Those remain future work outside the current `0.9.
|
|
51
|
+
Those remain future work outside the current `0.9.2` release line. The planner foundation is about better structured authoring, not a second execution engine.
|
|
52
52
|
|
|
53
53
|
## Project Profile
|
|
54
54
|
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "0.9.
|
|
3
|
-
summary: "How to use 0.9.
|
|
2
|
+
title: "0.9.2 Recommendations"
|
|
3
|
+
summary: "How to use 0.9.2's softer blocker states, advisory turn budgets, and targeted recovery without weakening proof and closure."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# 0.9.
|
|
6
|
+
# 0.9.2 Recommendations
|
|
7
7
|
|
|
8
|
-
Use this guide when you are adopting `0.9.
|
|
8
|
+
Use this guide when you are adopting `0.9.2` and want one practical operating stance for the softer blocker states, advisory turn-budget behavior, and targeted recovery flow that the current package line ships.
|
|
9
9
|
|
|
10
10
|
## Recommended Default
|
|
11
11
|
|
|
12
|
-
For most repos, the safest `0.9.
|
|
12
|
+
For most repos, the safest `0.9.2` default is:
|
|
13
13
|
|
|
14
14
|
- bound work with `budget.minutes`
|
|
15
15
|
- leave generic `budget.turns` as advisory metadata
|
|
@@ -76,7 +76,7 @@ Only set a hard runtime ceiling when you deliberately want the runtime itself to
|
|
|
76
76
|
|
|
77
77
|
## 2. Softer Coordination States
|
|
78
78
|
|
|
79
|
-
`0.9.
|
|
79
|
+
`0.9.2` keeps “still visible” separate from “still blocking”.
|
|
80
80
|
|
|
81
81
|
Use these states intentionally:
|
|
82
82
|
|
|
@@ -112,7 +112,7 @@ If the current wave cannot truthfully close without the answer, keep it blocking
|
|
|
112
112
|
|
|
113
113
|
## 4. Recovery Recommendation
|
|
114
114
|
|
|
115
|
-
My recommendation after reviewing the current `0.9.
|
|
115
|
+
My recommendation after reviewing the current `0.9.2` code path is:
|
|
116
116
|
|
|
117
117
|
- let timeout, max-turn, rate-limit, and missing-status failures go through the built-in targeted recovery path first
|
|
118
118
|
- inspect the queued rerun or resume request before manually relaunching the whole wave
|
|
@@ -8,7 +8,7 @@ Typical examples:
|
|
|
8
8
|
- Nemoshell or similar hosted terminal sandboxes
|
|
9
9
|
- Docker or devcontainer setups where the client process is disposable but the workspace and state volume persist
|
|
10
10
|
|
|
11
|
-
The core rule in `0.9.
|
|
11
|
+
The core rule in `0.9.2` is simple:
|
|
12
12
|
|
|
13
13
|
- clients should be short-lived
|
|
14
14
|
- supervision should be long-lived
|
|
@@ -94,7 +94,7 @@ If the sandbox only gives you short exec windows, `wave autonomous` should not b
|
|
|
94
94
|
|
|
95
95
|
## Docker And Containerized Setups
|
|
96
96
|
|
|
97
|
-
Docker works well with the `0.9.
|
|
97
|
+
Docker works well with the `0.9.2` process-backed runner model, but only if the state directories survive container restarts.
|
|
98
98
|
|
|
99
99
|
Recommended container posture:
|
|
100
100
|
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
# Current State
|
|
2
2
|
|
|
3
|
-
- The published package is `0.9.
|
|
3
|
+
- The published package is `0.9.2`; that release keeps the shipped monorepo, design-role, and signal-hygiene surfaces, but now also moves live agent execution to detached process runners, reduces tmux and memory pressure during wide orchestration bursts, hardens the sandbox-safe supervisor path for LEAPclaw, OpenClaw, Nemoshell, Docker, and similar short-lived exec environments, and documents the current authenticated Wave Control plus Corridor-backed security surface that already ships in this repo.
|
|
4
4
|
- The canonical shipped runtime architecture is documented in `docs/plans/end-state-architecture.md`; the sandbox-runtime companion is `docs/plans/sandbox-end-state-architecture.md`; historical cutover notes remain in `docs/plans/architecture-hardening-migration.md`.
|
|
5
5
|
- The repository contains the published `@chllming/wave-orchestration` package plus the starter scaffold used by `wave init`.
|
|
6
6
|
- 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/`.
|
|
7
|
-
- The recommended `0.9.
|
|
7
|
+
- The recommended `0.9.2` operating stance is documented in `docs/guides/recommendations-0.9.2.md`: keep proof and closure strict, keep generic `budget.turns` advisory, and use softer coordination states only for non-proof follow-up.
|
|
8
8
|
- Sandbox-safe setup guidance now ships in `docs/guides/sandboxed-environments.md`: use `wave submit/supervise/status/wait/attach` for short-lived clients, keep `tmux` optional and dashboard-only, and preserve `.tmp/` plus `.wave/` when running inside Nemoshell or Docker.
|
|
9
9
|
- Runtime launch entrypoints now perform a best-effort npmjs version check, cache the result under `.wave/package-update-check.json`, and point operators at `pnpm exec wave self-update` when a newer published package exists.
|
|
10
|
+
- The companion control plane now ships in two packages:
|
|
11
|
+
- `services/wave-control/` is the backend for typed telemetry, Stack-authenticated app users, Wave-managed approval states and provider grants, PATs, dedicated service tokens, encrypted per-user credential storage, runtime env leasing, and owned broker routes for Context7 or Corridor
|
|
12
|
+
- `services/wave-control-web/` is the Vite/Lit browser frontend that signs in through Stack, persists the browser session, exposes overview/runs/benchmarks/tokens, and adds superuser-only user, provider-grant, and write-only credential management
|
|
10
13
|
- This source repo is itself kept as an adopted Wave workspace, so `node scripts/wave.mjs doctor --json` should pass from the repo root.
|
|
11
14
|
- The default lane is `main`.
|
|
12
15
|
- Planner foundation is now shipped:
|
|
@@ -55,6 +58,9 @@
|
|
|
55
58
|
- authoritative proof registries projected to `.tmp/<lane>-wave-launcher/proof/` for compatibility, while preserving proof bundle lifecycle state so revoked or superseded operator evidence cannot keep satisfying closure
|
|
56
59
|
- optional Wave Control telemetry under `.tmp/<lane>-wave-launcher/control-plane/telemetry/` for the implicit default project, or `.tmp/projects/<projectId>/<lane>-wave-launcher/control-plane/telemetry/` for explicit projects
|
|
57
60
|
- packaged telemetry defaults now point at `https://wave-control.up.railway.app/api/v1` with `reportMode: metadata-only`, and repos must opt out explicitly if they do not want default project/lane/wave metadata delivery
|
|
61
|
+
- an optional `externalProviders.corridor` surface with `direct`, `broker`, and `hybrid` modes that writes `.tmp/<lane>-wave-launcher/security/wave-<n>-corridor.json` for the implicit default project, or `.tmp/projects/<projectId>/<lane>-wave-launcher/security/wave-<n>-corridor.json` for explicit projects
|
|
62
|
+
- closure-stage Corridor gating that can fail as `corridor-fetch-failed` or `corridor-blocked` before integration when the provider fetch fails or matched implementation-owned findings meet the configured threshold
|
|
63
|
+
- security and integration summaries that keep matched Corridor findings visible alongside the human security review instead of replacing the reviewer with provider output
|
|
58
64
|
- reducer-driven live state snapshots plus persisted machine-readable shadow diffs for helper-assignment, blocker, contradiction, closure, and retry slices
|
|
59
65
|
- reducer-authoritative helper-assignment blocking, retry target selection, and resume planning, with live gate and closure reads now driven from validated result envelopes
|
|
60
66
|
- optional design agents that publish validated design packets under `docs/plans/waves/design/wave-<n>-<agent>.md`, gate implementation through `designGate`, and run before code-owning implementation agents
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# End-State Architecture
|
|
2
2
|
|
|
3
|
-
This document describes the canonical architecture for the current Wave runtime. It is the authoritative reference for the engine boundaries, canonical authority set, and artifact ownership model that the shipped `0.9.
|
|
3
|
+
This document describes the canonical architecture for the current Wave runtime. It is the authoritative reference for the engine boundaries, canonical authority set, and artifact ownership model that the shipped `0.9.2` surface now follows.
|
|
4
4
|
|
|
5
5
|
For the sandbox-specific execution model, including async supervisor ownership, daemon adoption goals, and forwarded closure-gap behavior, read [sandbox-end-state-architecture.md](./sandbox-end-state-architecture.md).
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Wave 12 - Optional Design Steward Handoff
|
|
2
2
|
|
|
3
|
-
This is a showcase-first sample wave for the shipped `design` worker role in `0.9.
|
|
3
|
+
This is a showcase-first sample wave for the shipped `design` worker role in `0.9.2`.
|
|
4
4
|
|
|
5
5
|
This example demonstrates the docs-first design-steward path where a design packet is published before code-owning implementation begins.
|
|
6
6
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
This is a showcase-first sample wave.
|
|
4
4
|
|
|
5
|
-
Use it as the single reference example for the current `0.9.
|
|
5
|
+
Use it as the single reference example for the current `0.9.2` Wave surface.
|
|
6
6
|
|
|
7
7
|
It intentionally combines more sections than a normal production wave so one file can demonstrate:
|
|
8
8
|
|
package/docs/plans/migration.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Migration
|
|
2
2
|
|
|
3
|
-
This page is the practical repo-upgrade guide for the current `0.9.
|
|
3
|
+
This page is the practical repo-upgrade guide for the current `0.9.2` surface.
|
|
4
4
|
|
|
5
5
|
Use it when you are:
|
|
6
6
|
|
|
@@ -12,22 +12,24 @@ For the completed internal architecture cutover record, see [architecture-harden
|
|
|
12
12
|
|
|
13
13
|
For the sandbox-specific long-running execution target, including async `submit/status/wait` semantics and daemon ownership goals, see [sandbox-end-state-architecture.md](./sandbox-end-state-architecture.md).
|
|
14
14
|
|
|
15
|
-
## What `0.9.
|
|
15
|
+
## What `0.9.2` Changes
|
|
16
16
|
|
|
17
|
-
The current `0.9.
|
|
17
|
+
The current `0.9.2` surface keeps the packaged operator-guidance alignment, monorepo project support, and project-aware default telemetry from `0.9.0`, but adds a more sandbox-friendly execution model and lower-overhead live orchestration.
|
|
18
18
|
|
|
19
19
|
The practical changes are:
|
|
20
20
|
|
|
21
21
|
- live agent execution now uses detached process runners instead of per-agent tmux execution sessions, which reduces tmux churn and lowers memory pressure during broader fan-out
|
|
22
22
|
- `wave submit`, `wave supervise`, `wave status`, `wave wait`, and `wave attach` are now the preferred path for short-lived clients and sandbox automation
|
|
23
23
|
- supervisor recovery now reconciles launcher status and progress more conservatively, preserves the correct remaining wave range during multi-wave reruns, and keeps read-side status/wait calls aligned even after daemon loss
|
|
24
|
+
- the packaged docs now cover the actual shipped owned-deployment Wave Control surface: Stack-authenticated browser access, Wave-managed approval states and provider grants, PATs, service tokens, encrypted per-user credentials, runtime env leasing, and the separate `services/wave-control-web` frontend
|
|
25
|
+
- Corridor is now documented as a first-class security input, including direct versus broker versus hybrid mode, implementation-owned path matching, generated artifact paths, and the closure-gate interaction with the human security reviewer
|
|
24
26
|
- a dedicated setup guide now ships for LEAPclaw, OpenClaw, Nemoshell, Docker, and similar constrained environments
|
|
25
27
|
- the `0.9.0` monorepo and project-aware state layout remains part of the release surface, including `defaultProject`, `projects.<projectId>`, project-scoped state roots, and project-aware CLI routing
|
|
26
|
-
- the current release surface and tracked install-state fixtures now all move together on `0.9.
|
|
28
|
+
- the current release surface and tracked install-state fixtures now all move together on `0.9.2`
|
|
27
29
|
|
|
28
|
-
If your repo copied starter docs, shell automation, runbooks, or `wave.config.json` defaults, these are the areas most likely to need a sync before the `0.9.
|
|
30
|
+
If your repo copied starter docs, shell automation, runbooks, or `wave.config.json` defaults, these are the areas most likely to need a sync before the `0.9.2` package cut.
|
|
29
31
|
|
|
30
|
-
For a practical `0.9.
|
|
32
|
+
For a practical `0.9.2` operating stance after the upgrade, read [../guides/recommendations-0.9.2.md](../guides/recommendations-0.9.2.md).
|
|
31
33
|
For the concrete operator setup in Nemoshell, Docker, and other sandboxed shells, also read [../guides/sandboxed-environments.md](../guides/sandboxed-environments.md).
|
|
32
34
|
|
|
33
35
|
## What `0.8.6` Changes
|
|
@@ -95,7 +97,7 @@ pnpm exec wave upgrade
|
|
|
95
97
|
|
|
96
98
|
### 3. Sync repo-owned starter surface only if you copied it
|
|
97
99
|
|
|
98
|
-
The most common sync set for `0.9.
|
|
100
|
+
The most common sync set for `0.9.2` is:
|
|
99
101
|
|
|
100
102
|
- `docs/agents/wave-launcher-role.md`
|
|
101
103
|
- `docs/agents/wave-orchestrator-role.md`
|
|
@@ -116,8 +118,10 @@ The most common sync set for `0.9.1` is:
|
|
|
116
118
|
- `docs/context7/planner-agent/`
|
|
117
119
|
- `docs/reference/wave-planning-lessons.md`
|
|
118
120
|
- `docs/reference/cli-reference.md`
|
|
121
|
+
- `docs/reference/corridor.md`
|
|
119
122
|
- `docs/reference/skills.md`
|
|
120
123
|
- `docs/reference/sample-waves.md`
|
|
124
|
+
- `docs/reference/wave-control.md`
|
|
121
125
|
- `docs/plans/current-state.md`
|
|
122
126
|
- `docs/plans/end-state-architecture.md`
|
|
123
127
|
- `docs/plans/wave-orchestrator.md`
|
|
@@ -146,20 +150,22 @@ pnpm exec wave coord inbox --lane main --wave 0 --agent A1 --dry-run
|
|
|
146
150
|
|
|
147
151
|
Use `pnpm exec wave dashboard --lane <lane> --attach current` or `--attach global` when you need to reattach to a tmux-backed dashboard after the upgrade.
|
|
148
152
|
|
|
149
|
-
## `0.9.
|
|
153
|
+
## `0.9.2` Release Model
|
|
150
154
|
|
|
151
|
-
The current `0.9.
|
|
155
|
+
The current `0.9.2` surface combines these strands:
|
|
152
156
|
|
|
153
|
-
- the detached process-runner and sandbox supervisor hardening released in `0.9.
|
|
157
|
+
- the detached process-runner and sandbox supervisor hardening released in `0.9.2`
|
|
154
158
|
- the shipped `0.9.0` monorepo project support and project-aware runtime isolation
|
|
155
159
|
- the shipped `design` worker role and hybrid design-steward flow introduced in `0.8.5`
|
|
156
160
|
- the signal-driven long-running-agent and wrapper model introduced in `0.8.6`
|
|
157
161
|
- the policy-consistency, targeted-recovery, capability-specific routing, and stable per-wave session reuse hardening introduced in `0.8.7`
|
|
158
|
-
- the
|
|
162
|
+
- the current owned-deployment Wave Control surface: Stack-authenticated app access, provider grants, PATs, service tokens, encrypted per-user credentials, and runtime credential leasing
|
|
163
|
+
- the Corridor-backed security surface: direct or brokered provider fetches, normalized per-wave artifacts, and closure gating before integration
|
|
164
|
+
- the packaged recommendations guide, sandbox setup guide, and release-surface alignment follow-up that make the current docs describe that combined surface consistently
|
|
159
165
|
|
|
160
166
|
### Sandbox-safe execution and lower-overhead live runs
|
|
161
167
|
|
|
162
|
-
This is the main new behavior in `0.9.
|
|
168
|
+
This is the main new behavior in `0.9.2`.
|
|
163
169
|
|
|
164
170
|
The runtime now:
|
|
165
171
|
|
|
@@ -168,7 +174,7 @@ The runtime now:
|
|
|
168
174
|
- keeps `wave attach --agent` usable through log-follow attach even when no live interactive terminal session exists
|
|
169
175
|
- uses `wave submit/supervise/status/wait/attach` as the preferred sandbox-safe surface for short-lived clients
|
|
170
176
|
|
|
171
|
-
If your repo copied sandbox, CI, or container runbooks, this is the main sync set to apply from `0.9.
|
|
177
|
+
If your repo copied sandbox, CI, or container runbooks, this is the main sync set to apply from `0.9.2`:
|
|
172
178
|
|
|
173
179
|
- `README.md`
|
|
174
180
|
- `docs/README.md`
|
|
@@ -177,6 +183,24 @@ If your repo copied sandbox, CI, or container runbooks, this is the main sync se
|
|
|
177
183
|
- `docs/reference/cli-reference.md`
|
|
178
184
|
- `docs/plans/sandbox-end-state-architecture.md`
|
|
179
185
|
|
|
186
|
+
### Authenticated Wave Control and Corridor-backed security
|
|
187
|
+
|
|
188
|
+
The same `0.9.2` doc surface also now describes the current control-plane and security model as shipped:
|
|
189
|
+
|
|
190
|
+
- owned Wave Control deployments use Stack for browser sign-in, then apply Wave-managed approval states and provider grants on top of that identity
|
|
191
|
+
- approved users and superusers can issue PATs for scoped repo-runtime access, while dedicated service tokens keep machine-admin workflows separate from user-owned runtime credentials
|
|
192
|
+
- arbitrary stored credentials are encrypted at rest and only returned through explicit runtime lease responses
|
|
193
|
+
- `externalProviders.corridor` can run direct, brokered through an owned Wave Control deployment, or hybrid; the result is persisted as a normalized security artifact and can block closure before integration
|
|
194
|
+
|
|
195
|
+
If your repo copied release docs, security runbooks, or Wave Control setup docs, this is the main sync set to apply from `0.9.2`:
|
|
196
|
+
|
|
197
|
+
- `README.md`
|
|
198
|
+
- `docs/README.md`
|
|
199
|
+
- `docs/reference/runtime-config/README.md`
|
|
200
|
+
- `docs/reference/coordination-and-closure.md`
|
|
201
|
+
- `docs/reference/corridor.md`
|
|
202
|
+
- `docs/reference/wave-control.md`
|
|
203
|
+
|
|
180
204
|
### Signal-driven waiting and wrapper model
|
|
181
205
|
|
|
182
206
|
This is the main new behavior in `0.8.6`.
|
|
@@ -359,9 +383,9 @@ If the repo copied starter `wave.config.json` defaults, also sync:
|
|
|
359
383
|
- if the repo uses hybrid design stewards, confirm the same agent rejoins implementation only when the authored wave explicitly gives it code ownership
|
|
360
384
|
- if the repo uses long-running agents or shell automation, confirm the new wrapper exit contract and ack-loop semantics before relying on an older polling script
|
|
361
385
|
|
|
362
|
-
## Upgrading From `0.8.3` To `0.9.
|
|
386
|
+
## Upgrading From `0.8.3` To `0.9.2`
|
|
363
387
|
|
|
364
|
-
Treat this as one move to the current `0.9.
|
|
388
|
+
Treat this as one move to the current `0.9.2` surface.
|
|
365
389
|
|
|
366
390
|
### What changed across that range
|
|
367
391
|
|
|
@@ -394,7 +418,7 @@ If your repo copied starter docs or skills, sync:
|
|
|
394
418
|
- dry-run one design-steward wave if the repo wants the new authored surface
|
|
395
419
|
- if the repo uses long-running watcher agents or shell automation, validate `scripts/wave-status.sh` and `scripts/wave-watch.sh` against a live or staged lane
|
|
396
420
|
|
|
397
|
-
## Upgrading From `0.6.x` Or `0.7.x` To `0.9.
|
|
421
|
+
## Upgrading From `0.6.x` Or `0.7.x` To `0.9.2`
|
|
398
422
|
|
|
399
423
|
This is the main migration path for older adopted repos.
|
|
400
424
|
|
|
@@ -435,7 +459,7 @@ pnpm exec wave control proof get --lane main --wave 0 --json
|
|
|
435
459
|
|
|
436
460
|
If the repo carries proof-first waves, verify that required proof artifacts still exist locally and not only in historical summaries.
|
|
437
461
|
|
|
438
|
-
## Upgrading From `0.5.x` Or Earlier To `0.9.
|
|
462
|
+
## Upgrading From `0.5.x` Or Earlier To `0.9.2`
|
|
439
463
|
|
|
440
464
|
Do not treat this as a tiny patch bump.
|
|
441
465
|
|
|
@@ -545,4 +569,4 @@ For repos that depend on replay parity, replay at least:
|
|
|
545
569
|
|
|
546
570
|
## Summary
|
|
547
571
|
|
|
548
|
-
The current `0.9.
|
|
572
|
+
The current `0.9.2` surface keeps the same authority-set and phase-engine architecture, ships both the design-role starter surface and the signal-driven long-running-agent starter surface, keeps the `0.8.7` policy and routing hardening, and now also packages the practical operator recommendations guide inside the release line. For most repos already on `0.8.x`, the upgrade is package bump plus validation. For older adopted repos, the real work is syncing repo-owned prompts, skills, planner corpus, wrapper scripts, and runbooks so they describe the runtime the package now ships.
|
|
@@ -629,7 +629,7 @@ Interactive draft currently offers worker role kinds:
|
|
|
629
629
|
- `research`
|
|
630
630
|
- `security`
|
|
631
631
|
|
|
632
|
-
Agentic planner payloads also accept `workerAgents[].roleKind = "design"`. The shipped `0.9.
|
|
632
|
+
Agentic planner payloads also accept `workerAgents[].roleKind = "design"`. The shipped `0.9.2` surface uses `design-pass` as the default executor profile for that role and typically assigns a packet path like `docs/plans/waves/design/wave-<n>-<agentId>.md`. Interactive draft scaffolds the docs-first default; hybrid design stewards are authored by explicitly adding implementation-owned paths and the normal implementation contract sections.
|
|
633
633
|
|
|
634
634
|
## Ad-Hoc Task Commands
|
|
635
635
|
|
|
@@ -36,6 +36,8 @@ At runtime, those distinctions map onto separate modules:
|
|
|
36
36
|
|
|
37
37
|
Closure roles are resolved from the wave definition first, then from starter defaults. In other words, integration, documentation, `cont-QA`, `cont-EVAL`, and security review keep the same semantics even when a wave overrides the default role ids such as `A8`, `A9`, `A0`, `E0`, or `A7`.
|
|
38
38
|
|
|
39
|
+
If `externalProviders.corridor.enabled` is on, Wave also materializes a normalized Corridor artifact before security and integration run. Security review still owns the human-readable report and `[wave-security]` marker, but the security gate can fail closed when the saved Corridor artifact reports a fetch failure or matched blocking findings on implementation-owned paths.
|
|
40
|
+
|
|
39
41
|
## Durable State Surfaces
|
|
40
42
|
|
|
41
43
|
The runtime writes several different artifacts, but they do different jobs:
|
|
@@ -56,6 +58,12 @@ The runtime writes several different artifacts, but they do different jobs:
|
|
|
56
58
|
`.tmp/<lane>-wave-launcher/inboxes/wave-<n>/<agent>.md`
|
|
57
59
|
- integration summary:
|
|
58
60
|
`.tmp/<lane>-wave-launcher/integration/wave-<n>.json`
|
|
61
|
+
- security summary:
|
|
62
|
+
`.tmp/<lane>-wave-launcher/security/wave-<n>.json`
|
|
63
|
+
- security markdown summary:
|
|
64
|
+
`.tmp/<lane>-wave-launcher/security/wave-<n>.md`
|
|
65
|
+
- Corridor security context:
|
|
66
|
+
`.tmp/<lane>-wave-launcher/security/wave-<n>-corridor.json`
|
|
59
67
|
- wave dashboard:
|
|
60
68
|
`.tmp/<lane>-wave-launcher/dashboards/wave-<n>.json`
|
|
61
69
|
- run-state:
|
|
@@ -134,7 +142,7 @@ Practical rule:
|
|
|
134
142
|
|
|
135
143
|
That means a targeted helper request only blocks while it remains open *and* still has blocking severity in coordination state.
|
|
136
144
|
|
|
137
|
-
For the practical `0.9.
|
|
145
|
+
For the practical `0.9.2` recommendation on when to keep records blocking versus when to downgrade them to `soft`, `stale`, or `advisory`, see [../guides/recommendations-0.9.2.md](../guides/recommendations-0.9.2.md).
|
|
138
146
|
|
|
139
147
|
This page is documenting runtime semantics first. The important contract is that closure follows the durable coordination state, not that a particular human or agent used one exact command path to mutate it.
|
|
140
148
|
|
|
@@ -392,6 +400,15 @@ If present, security review must emit a final `[wave-security]` marker and publi
|
|
|
392
400
|
- `concerns` remains visible in summaries and traces
|
|
393
401
|
- `clear` is only valid when no unresolved findings or approvals remain
|
|
394
402
|
|
|
403
|
+
Corridor does not replace that review. When `externalProviders.corridor.enabled` is on:
|
|
404
|
+
|
|
405
|
+
- Wave first materializes the normalized Corridor artifact
|
|
406
|
+
- `requiredAtClosure: true` turns provider fetch failures into `corridor-fetch-failed`
|
|
407
|
+
- matched findings at or above the configured threshold turn the gate into `corridor-blocked`
|
|
408
|
+
- matched findings still stay visible in security and integration summaries even when the human reviewer reports only advisory concerns
|
|
409
|
+
|
|
410
|
+
Only implementation-owned non-doc, non-`.tmp/`, non-markdown paths are eligible for Corridor matching. See [corridor.md](./corridor.md) for the provider-specific rules.
|
|
411
|
+
|
|
395
412
|
### Integration
|
|
396
413
|
|
|
397
414
|
Integration must reconcile cross-agent state and report `ready-for-doc-closure` only when there is no remaining meaningful contradiction, blocker, proof gap, or deploy risk.
|