mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-25 20:05:46 -06:00
f6298bf84d
* fix(workers): persist placement terminal failures * fix(workers): refresh placement protocol clients * refactor(workers): isolate error formatting * fix: integrate cloud terminal state with current main * chore(plugin-sdk): refresh API baseline * refactor(ui): inline one-use cloud terminal-reason banner helper Keeps the Control UI startup JS bundle inside its 317 KiB gzip budget (the helper + type-only import tipped it by 16 bytes). * refactor(ui): trim terminal-reason lookup to type-erased optional access Recovers the last gzip byte of the Control UI startup budget (324609 B vs the 324608 B limit).
36 lines
1.8 KiB
YAML
36 lines
1.8 KiB
YAML
title: Cloud worker disappearance recovery
|
|
|
|
scenario:
|
|
id: cloud-worker-disappearance
|
|
surface: gateway
|
|
category: gateway.session-apis
|
|
coverage:
|
|
secondary:
|
|
- gateway.session-apis-sessions-list
|
|
- gateway.restart-and-stop-gateway-restart
|
|
objective: Prove an isolated Gateway records an unexpected worker disappearance as a durable per-session failure and keeps another session on the same environment isolated.
|
|
successCriteria:
|
|
- A real qa-channel turn succeeds through the mock OpenAI provider before worker state is injected.
|
|
- The static-SSH mock worker provider reports its seeded active lease as unknown during restart reconciliation.
|
|
- The active placement becomes failed with a bounded cloud-worker-disappeared terminal reason and timestamp.
|
|
- A second failed session referencing the same environment retains its own distinct terminal reason.
|
|
- Two additional Gateway replacements preserve both terminal reasons and the original terminal timestamps.
|
|
- environments.list continues to expose the environment-scoped orphaned error independently.
|
|
docsRefs:
|
|
- docs/gateway/cloud-workers.md
|
|
- docs/concepts/qa-e2e-automation.md
|
|
- docs/channels/qa-channel.md
|
|
codeRefs:
|
|
- src/gateway/worker-environments/placement-pending-failure.ts
|
|
- src/gateway/worker-environments/placement-dispatch-recovery.ts
|
|
- src/gateway/worker-environments/placement-projector.ts
|
|
- test/e2e/qa-lab/runtime/cloud-worker-disappearance-proof.ts
|
|
execution:
|
|
kind: script
|
|
path: test/e2e/qa-lab/runtime/cloud-worker-disappearance-proof.ts
|
|
summary: Runs qa-channel and mock OpenAI through an isolated child Gateway, seeds a static-SSH lease that becomes unknown, restarts three times, and writes a per-session isolation verdict.
|
|
timeoutMs: 240000
|
|
args:
|
|
- --artifact-base
|
|
- ${outputDir}
|