openclaw/test
Peter Steinberger 878ee97ecd
feat(release): add the resumable release:stable orchestrator (#157941)
* feat(release): add the resumable release:stable orchestrator

pnpm release:stable <version> drives one regular stable release as a
resumable state machine (cut, validate, publish, sync-beta, flip-github,
macos, closeout) over the existing helpers, with two operator prompts,
--from/--status/--dry-run, capability probes for the concurrent publish
parent, approval receipt, and closeout changes, and Next: commands on
every refusal. RELEASING.md leads with it and keeps the manual fallback.

* fix(release): bind release:stable child gates to the tooling tag and lock the state directory

Sweep and approve only bot-dispatched children whose head_branch is this
release's protected tooling tag, selected by exact workflow path (the core
OpenClaw NPM Release child was missed by the name regex), and refuse a
second release:stable process on the same state directory.

* fix(release): stop release:stable from mutating child runs and bind dispatch reconciliation to the operator

The API cannot prove which publish parent dispatched a child, so the
orchestrator no longer approves or cancels children: it approves only the
recorded parent's npm-release gate and prints the exact child-approval and
stale-child sweep commands until the approval receipt and self-sweeping
parent are present at the tooling SHA. Runs dispatched on main are
reconciled by workflow path, ref, the operator's login, and a bounded
window, refusing on ambiguity; stale-lock takeover retries the exclusive
create.
2026-09-24 23:46:36 -07:00
..
contracts
e2e test(acpx): stabilize cancellation fixture lifetimes (#157769) 2026-09-24 20:25:41 -07:00
fixtures feat(agents): sharpen sessions_spawn research guidance and add stalled-child follow-up (#141209) 2026-09-24 16:38:24 -07:00
helpers fix(doctor): preserve current sessions after restored-index replay (#157615) 2026-09-24 23:43:23 -07:00
mocks
plugins fix(qwen): avoid disabling profiles for token-rate limits (#152521) thanks @Leon-SK668 2026-09-24 16:11:28 +03:00
scripts feat(release): add the resumable release:stable orchestrator (#157941) 2026-09-24 23:46:36 -07:00
tsconfig chore(deps): refresh dependencies with a seven-day cutoff (#157238) 2026-09-25 02:38:45 +00:00
type-contracts fix: keep delayed self-replies on their original conversation (#156984) 2026-09-24 04:29:25 -05:00
vitest feat(release): add the resumable release:stable orchestrator (#157941) 2026-09-24 23:46:36 -07:00
agent-exec-code-mode.live.test.ts fix(test): restore the installed Code Mode live fixture (#153442) 2026-09-19 22:55:17 -07:00
AGENTS.md
apns-worker-test-ownership.test.ts test: diagnose stalled infra test workers (#152381) 2026-09-19 03:53:39 -07:00
appcast.test.ts fix: keep cold child compilation outside CI test deadlines (#156011) 2026-09-22 17:41:19 -07:00
architecture-smells.test.ts refactor: run plugins and tooling without TypeScript 6 (#156829) 2026-09-23 22:34:20 -07:00
buzz-account-config-mutation.test.ts
canonical-descendant.integration.test.ts fix(codex): preserve native hosted app approval settings (#151260) 2026-09-24 19:56:58 +00:00
channel-message-read-authority.integration.test.ts refactor: reuse live placement authority for worker checks (#155898) 2026-09-24 00:24:40 -07:00
clawrouter-managed-gateway.e2e.test.ts test(clawrouter): refresh catalog before asserting models (#143692) 2026-09-10 00:10:48 -07:00
cli-json-stdout.agents.e2e.test.ts test(cli): trim redundant agent process cases (#153993) 2026-09-20 23:19:41 -07:00
cli-json-stdout.automation.e2e.test.ts fix(test): execute CLI fixture preloads on Node and Bun (#152076) 2026-09-18 15:12:46 -07:00
cli-json-stdout.config.e2e.test.ts fix(cli): emit JSON when command configuration validation fails (#145768) 2026-09-14 19:01:36 +05:30
cli-json-stdout.e2e.test.ts fix(state): repair index-only corruption explicitly in Doctor (#156761) 2026-09-24 13:38:25 -07:00
cli-json-stdout.gateway.e2e.test.ts fix(test): execute CLI fixture preloads on Node and Bun (#152076) 2026-09-18 15:12:46 -07:00
cli-json-stdout.hooks.e2e.test.ts fix(test): execute CLI fixture preloads on Node and Bun (#152076) 2026-09-18 15:12:46 -07:00
cli-json-stdout.models.e2e.test.ts test(cli): reuse model refresh migration proof (#153995) 2026-09-20 23:19:59 -07:00
cli-json-stdout.plugins.e2e.test.ts fix(test): execute CLI fixture preloads on Node and Bun (#152076) 2026-09-18 15:12:46 -07:00
cli-json-stdout.sessions.e2e.test.ts test(cli): trim redundant session process cases (#153994) 2026-09-20 23:19:04 -07:00
cli-json-stdout.skills.e2e.test.ts test(cli): restore skills process coverage (#154686) 2026-09-21 15:52:00 -07:00
cli-json-stdout.test-support.ts fix(test): execute CLI fixture preloads on Node and Bun (#152076) 2026-09-18 15:12:46 -07:00
cli-message-authority.integration.test.ts refactor: reuse live placement authority for worker checks (#155898) 2026-09-24 00:24:40 -07:00
cli-state-sqlite.e2e.test.ts
codex-node-cancellation.integration.test.ts fix(codex): keep catalog actions bound to their source (#151854) 2026-09-19 02:32:25 -07:00
codex-settled-turn-finalization.integration.test.ts fix(codex): avoid fallback replies after intentional silence (#151951) 2026-09-19 03:15:48 +08:00
control-ui-import-boundary.test.ts fix(ui): keep Control UI code off the state database schema loader (#152130) 2026-09-18 14:48:40 -07:00
conversation-tools.codex.integration.test.ts fix(codex): preserve delivery facts and native approval semantics (#151863) 2026-09-19 16:45:20 -07:00
copilot-tool-policy-handoff.integration.test.ts fix(agents): preserve disabled tools at plugin handoff (#142093) 2026-09-09 18:13:53 +05:30
copilot-tool-policy-handoff.live.test.ts refactor(copilot): keep session binding storage off the host thread (#149577) 2026-09-15 19:50:22 -07:00
cron-conversation-delivery.codex.integration.test.ts fix(codex): preserve delivery facts and native approval semantics (#151863) 2026-09-19 16:45:20 -07:00
cron-edit-trigger-preservation.e2e.test.ts
cron-message-read.integration.test.ts fix: prevent replies through stale conversation bindings (#154864) 2026-09-22 11:04:52 -07:00
discord-live-policy.integration.test.ts fix(zalouser): avoid Gateway stalls during credential persistence (#156003) 2026-09-23 08:23:57 -07:00
discord-metadata-read-authority.integration.test.ts fix: avoid blocking channel operations on stored account credentials (#156267) 2026-09-23 03:27:50 -07:00
doctor-copied-state-migration.e2e.test.ts fix: avoid slow task lookups and maintenance as history grows (#153548) 2026-09-20 03:00:27 -07:00
doctor-legacy-whatsapp-ack-migration.e2e.test.ts
dreaming-startup-cleanup.e2e.test.ts test(memory): seed restart fixtures with the Gateway stopped (#152038) 2026-09-18 13:37:16 -07:00
embedded-transcript-cursor.e2e.test.ts
extension-import-boundaries.test.ts perf: share extension boundary check inventory (#146771) 2026-09-12 23:27:30 -07:00
extension-test-boundary.test.ts ci: reduce Node fixture overhead and defer seven release matrices (#157341) 2026-09-24 08:17:47 -07:00
external-script-modules.d.ts
feishu-message-mutations.integration.test.ts fix: stop Feishu mutations after caller cancellation (#151235) 2026-09-18 01:27:50 +01:00
feishu-message-read-authority.integration.test.ts refactor: reuse live placement authority for worker checks (#155898) 2026-09-24 00:24:40 -07:00
gateway-a2a.e2e.test.ts fix(a2a): complete tasks under message-tool-only reply policy (#154317) 2026-09-21 18:32:35 +05:30
gateway-account-history.e2e.test.ts test(gateway): await account-history turn settlement (#157530) 2026-09-24 13:56:36 -07:00
gateway-cold-agent-abort.e2e.test.ts
gateway-completion-replay.e2e.test.ts fix(state): fail readiness on shared-state integrity loss (#156700) 2026-09-23 22:58:58 +00:00
gateway-copied-codex-session-resume.e2e.test.ts fix(plugins): retain update authority through doctor effects (#144316) 2026-09-13 15:26:58 -06:00
gateway-external-state-ownership.e2e.test.ts fix(update): prevent candidate Doctor authority stack overflows (#157273) 2026-09-24 22:35:52 +00:00
gateway-hook-concurrency.e2e.test.ts
gateway-no-op-mutation.e2e.test.ts
gateway-openai-compaction-replay.e2e.test.ts
gateway-queued-session-rotation.e2e.test.ts
gateway-restored-requester-settle.e2e.test.ts test(gateway): bind restored requester fixture provenance (#155621) 2026-09-22 05:14:43 -07:00
gateway-rpc-exporters.test.ts
gateway-session-end-shutdown.e2e.test.ts
gateway-steer-fifo.e2e.test.ts test(gateway): update steer skip contract (#150852) 2026-09-17 07:10:15 -07:00
gateway-subagent-restart.live.test.ts fix(agents): preserve subagent progress across repeated restarts (#151450) 2026-09-18 01:46:45 -07:00
gateway-widget-restart.live.test.ts
gateway.multi.e2e.test.ts fix(test): preserve selected CLI and Gateway runtime (#154809) 2026-09-21 06:01:47 -07:00
git-hooks-pre-commit-boundaries.test.ts improve(tooling): reduce commit formatting resource use (#152297) 2026-09-18 18:01:21 -07:00
git-hooks-pre-commit.test-support.ts
git-hooks-pre-commit.test.ts fix: speed up content scans for large staged commits (#157084) 2026-09-24 00:22:53 -07:00
github-cli-preflight.e2e.test.ts
huggingface-local-app-openclaw.e2e.test.ts
image-generation.infer-cli.live.test.ts
image-generation.runtime.live.test.ts
imessage-reply-alias.integration.test.ts fix(telegram): retain discussion between mentions without flooding context (#151911) 2026-09-19 09:40:19 +05:30
jsdom-compat.mts chore(deps): refresh dependencies with a seven-day cutoff (#157238) 2026-09-25 02:38:45 +00:00
jsdom-compat.test.ts chore(deps): refresh dependencies with a seven-day cutoff (#157238) 2026-09-25 02:38:45 +00:00
jsdom-custom-elements.test.ts
jsdom-custom-elements.ts chore(deps): refresh dependencies with a seven-day cutoff (#157238) 2026-09-25 02:38:45 +00:00
line-question-gateway.test.ts feat(line): let a LINE tap answer the question an agent asked (#133421) 2026-09-10 20:31:40 -07:00
linux-dashboard-recovery.test.ts fix(linux): offer correction updates and retain download retry (#146050) 2026-09-14 17:55:16 +08:00
linux-quickchat-stream.test.ts feat: redesign Tauri Quick Chat and simplify effort controls (#153564) 2026-09-20 03:06:09 -07:00
loopback-ask-user-telegram-channel.test.ts fix: revoke CLI tool access when a run is canceled (#149154) 2026-09-15 16:53:51 +01:00
matrix-channel-read-authority.integration.test.ts refactor: reuse live placement authority for worker checks (#155898) 2026-09-24 00:24:40 -07:00
matrix-client-crypto-authority.integration.test.ts fix: restore Matrix context reads in official installs (#147665) 2026-09-14 12:40:11 +01:00
matrix-transport-read-authority.integration.test.ts fix: restore Matrix context reads in official installs (#147665) 2026-09-14 12:40:11 +01:00
mcp-show-redact.e2e.test.ts
msteams-read-authority.integration.test.ts refactor: reuse live placement authority for worker checks (#155898) 2026-09-24 00:24:40 -07:00
msteams-read-target.integration.test.ts refactor: reuse live placement authority for worker checks (#155898) 2026-09-24 00:24:40 -07:00
node-host-launcher.test.ts perf(plugins): reuse and bound CLI compile caches (#157528) 2026-09-24 20:18:39 +00:00
non-isolated-runner.agent-reader-fixtures.ts fix: close agent database readers between test files (#153749) 2026-09-20 07:33:20 -07:00
non-isolated-runner.gateway-lifecycle-fixtures.ts fix: avoid worker OOMs in full Gateway-core test runs (#148971) 2026-09-15 09:38:42 -07:00
non-isolated-runner.mock-resolution-fixtures.ts fix(gateway): classify opening timeouts and repair lifetime checks (#146508) 2026-09-12 17:13:42 -07:00
non-isolated-runner.sqlite-fixtures.ts fix(sqlite): drain idle coordinators at lifecycle teardown 2026-09-22 03:07:12 -07:00
non-isolated-runner.sqlite.test.ts fix(state): attribute database teardown failures to their test file (#155312) 2026-09-22 01:12:13 +00:00
non-isolated-runner.test-api-fixtures.ts fix: preserve restart cleanup and initial chat positioning (#153267) 2026-09-20 02:52:09 -07:00
non-isolated-runner.test.ts fix: close agent database readers between test files (#153749) 2026-09-20 07:33:20 -07:00
non-isolated-runner.ts fix(state): attribute database teardown failures to their test file (#155312) 2026-09-22 01:12:13 +00:00
npm-publish-plan.test.ts fix(release): treat an already-superseded plugin version as published and skip its dist-tag move (#156724) 2026-09-23 12:28:57 -07:00
oauth-refresh-authority-chain.e2e.test.ts fix(state): repair index-only corruption explicitly in Doctor (#156761) 2026-09-24 13:38:25 -07:00
official-channel-catalog.test.ts
onboard-plugin-warnings.e2e.test.ts
openai-model-discovery-auth-order.test.ts fix(models): refresh device sign-in credentials before discovery (#148482) 2026-09-15 01:25:53 +05:30
openai-onboarding.live.test.ts fix(live): use supported default onboarding thinking (#150474) 2026-09-17 07:27:46 +00:00
openclaw-launcher-version.e2e.test.ts perf(plugins): reuse and bound CLI compile caches (#157528) 2026-09-24 20:18:39 +00:00
openclaw-launcher.e2e.test.ts perf(plugins): reuse and bound CLI compile caches (#157528) 2026-09-24 20:18:39 +00:00
openclaw-npm-postpublish-verify.test.ts fix(release): avoid reparsing sealed worker bundles (#157618) 2026-09-24 22:37:18 +00:00
openclaw-npm-prepublish-verify.test.ts
openclaw-npm-release-check.test.ts fix(release): allow shipped Markdown guides in npm checks (#143699) 2026-09-09 23:18:18 -07:00
openclaw-prepack.test.ts fix: keep cold child compilation outside CI test deadlines (#156011) 2026-09-22 17:41:19 -07:00
outbound-sanitize-text-delivery.test.ts
package-manager-config.test.ts chore(deps): refresh dependencies with a seven-day cutoff (#157238) 2026-09-25 02:38:45 +00:00
package-scripts.test.ts fix(update): complete plugin runtime artifacts on first Git update (#145664) 2026-09-12 07:46:15 -07:00
plugin-clawhub-metadata.test.ts fix(release): publish frozen plugins with valid ClawHub categories (#144615) 2026-09-11 00:22:21 -07:00
plugin-clawhub-release.test.ts feat(release): add non-Latest extended-stable releases (#154515) 2026-09-21 00:29:24 -07:00
plugin-cron-registry-owner.e2e.test.ts
plugin-extension-import-boundary.test.ts
plugin-npm-package-manifest.test.ts chore(deps): refresh dependencies with a seven-day cutoff (#157238) 2026-09-25 02:38:45 +00:00
plugin-npm-release.test.ts fix(plugins): reconcile deferred bundled publication (#150331) 2026-09-17 00:44:51 -07:00
plugin-npm-runtime-build.test.ts feat(themes): support plugin hats and critter artwork (#154935) 2026-09-21 10:30:47 -07:00
pr111899-accepted-run-transport-loss.e2e.test.ts
pr119473-real-runtime-proof.e2e.test.ts
pr126853-heartbeat-visible-lane-proof.e2e.test.ts
pr142176-real-runtime-proof.e2e.test.ts fix(agents): retry silent malformed tool rejections (#142176) 2026-09-09 08:54:18 +05:30
progress-card-channel-literals.integration.test.ts refactor(channels): centralize progress and final delivery (#155639) 2026-09-22 17:39:33 +05:30
provider-auth-method.openai-siwc.integration.test.ts feat(openai): add Sign in with ChatGPT through Responses (#148567) 2026-09-24 15:19:53 -07:00
provider-auth-method.radius.integration.test.ts test: route provider integration and wizard recovery tests correctly (#148504) 2026-09-14 13:39:07 -07:00
qa-channel-message-tool-delivery.test.ts refactor(qa): keep Crabline thread identity structured (#124467) 2026-09-17 03:56:09 -07:00
qa-convex-credential-payload-validation.test.ts chore(qa): qualify execution identity across live boundaries (#156033) 2026-09-22 20:15:02 -05:00
release-check.test.ts refactor: run plugins and tooling without TypeScript 6 (#156829) 2026-09-23 22:34:20 -07:00
release-version.test.ts fix(linux): offer correction updates and retain download retry (#146050) 2026-09-14 17:55:16 +08:00
repository-test-api-publications.ts refactor(auto-reply): deslop auto-reply (#156377) 2026-09-23 05:48:44 -07:00
runtime-agent.codex-initialization.integration.test.ts fix: honor sandbox requirements for native forks (#155358) 2026-09-22 05:31:57 +01:00
scripts-update-gateway.test.ts fix(updater): protect the live gateway during clean builds (#125896) 2026-09-19 03:08:07 -06:00
setup-home-isolation.test.ts
setup-openclaw-runtime.plugin-cache.test.ts test: cover shared runtime plugin retirement 2026-09-24 13:49:45 -07:00
setup-openclaw-runtime.ts fix(test): prevent plugin cache accumulation in shared workers (#157470) 2026-09-24 13:18:36 -07:00
setup.env.ts
setup.extensions.ts refactor(agents): share external harness session and attempt machinery (#152181) 2026-09-22 16:31:59 -07:00
setup.shared.ts test: release shared setup exit listener (#148404) 2026-09-15 01:55:36 +00:00
setup.signal.ts fix(signal): refuse account deletion that activates a shadowed identity (#145981) 2026-09-12 20:54:39 +05:30
setup.ts fix: prepare Bun SQLite before Vitest workers (#145198) 2026-09-11 13:08:29 -07:00
skill-usage.codex.integration.test.ts refactor(skills): move usage and curator status SQL off the caller thread (#152319) 2026-09-20 09:12:28 -07:00
skills-proposal-manual-target.e2e.test.ts
slack-download-read-authority.integration.test.ts refactor: reuse live placement authority for worker checks (#155898) 2026-09-24 00:24:40 -07:00
slack-outbound-permanent-rejection-loopback.test.ts
sqlite-test-lifecycle.ts perf(sessions): reuse worker membership snapshots across viewers (#155620) 2026-09-22 12:41:58 +00:00
stable-release-closeout.test.ts fix(release): record a withdrawn macOS appcast at stable closeout (#157082) 2026-09-23 23:34:27 -07:00
status-shared-state-readonly.e2e.test.ts fix(plugins): retain update authority through doctor effects (#144316) 2026-09-13 15:26:58 -06:00
subagent-announce-origin.integration.test.ts fix: keep subagent completions on the selected conversation (#144704) 2026-09-11 03:00:41 -07:00
subagent-requester-owner.e2e.test.ts test(tasks): wait for completed requester task publication (#157768) 2026-09-24 19:58:39 -07:00
system-agent-managed-auth.e2e.test.ts fix(ci): align Gateway E2E expectations (#148653) 2026-09-15 11:52:14 +08:00
talk-browser-defaults.test.ts perf(ui): defer voice transports until a call starts (#154666) 2026-09-21 03:41:27 -07:00
telegram-history-read.integration.test.ts fix(telegram): retain discussion between mentions without flooding context (#151911) 2026-09-19 09:40:19 +05:30
telegram-outbound-permanent-rejection-loopback.test.ts fix(telegram): replies are lost when the HTTP proxy refuses the tunnel (#140388) 2026-09-10 02:31:34 +05:30
telegram-question-gateway.test.ts fix(test): keep Gateway fixture config identity stable 2026-09-23 20:50:05 -07:00
telegram-recovery-notice-send.test.ts test(telegram): remove rate waits from recovery fence (#151424) 2026-09-19 19:49:14 -07:00
telegram-reply-conversation.test.ts refactor(telegram): remove redundant test coverage (#155040) 2026-09-23 00:50:06 -07:00
test-env.state-lifetime.test.ts refactor(tests): import SQLite cleanup from native owners (#145731) 2026-09-12 00:29:25 -07:00
test-env.test.ts fix(gateway): install despite stale Linux session bus addresses (#146569) 2026-09-13 06:45:35 -07:00
test-env.ts fix(doctor): preserve channel ownership across updates (#150555) 2026-09-17 04:03:27 -07:00
test-helper-extension-import-boundary.test.ts
test-home-context.mts
test-home-policy.mts
transcripts-discord-audio.integration.test.ts fix(voice): keep audio flowing while the Gateway is busy (#154119) 2026-09-20 21:49:35 -07:00
transcripts-tool.discord-lifecycle.integration.test.ts improve: keep meeting caption appends off the host thread (#151760) 2026-09-20 10:48:01 -07:00
transcripts-tool.discord-provider.integration.test.ts refactor(transcripts): run stored lookups in the shared SQLite worker (#146547) 2026-09-18 08:52:29 -07:00
tsconfig.json
twitch-message-tool-delivery.test.ts
ui.presenter-next-run.test.ts
vitest-boundary-config.test.ts
vitest-cli-ownership.test.ts test: reduce command and tooling test setup costs (#155503) 2026-09-22 00:09:38 -07:00
vitest-credential-redaction.test.ts fix(test): redact credentials from Vitest failure reports (#150983) 2026-09-17 10:32:29 -07:00
vitest-dependency-resolution.test.ts
vitest-light-paths.test.ts
vitest-performance-config.test.ts improve(ci): speed up compatible Control UI tests with Bun (#154585) 2026-09-22 02:28:49 -07:00
vitest-projects-config.test-support.ts feat: select and manage installed agents from Models (#150224) 2026-09-20 18:00:12 +05:30
vitest-projects-config.test.ts perf(state): preserve lifecycle publication across concurrent writes (#155631) 2026-09-23 01:26:50 +00:00
vitest-redacting-reporter.test.ts fix: keep cold child compilation outside CI test deadlines (#156011) 2026-09-22 17:41:19 -07:00
vitest-reporters-config.test.ts fix(ci): emit elapsed tooling file timings (#156013) 2026-09-23 00:29:50 +00:00
vitest-scoped-config.test.ts chore(deps): refresh dependencies with a seven-day cutoff (#157238) 2026-09-25 02:38:45 +00:00
vitest-ui-e2e-config.test.ts fix(test): prepare native UI fixtures before compilation 2026-09-24 08:32:10 -07:00
vitest-ui-e2e-prebuilt.test.ts ci: shorten and split real-Gateway UI validation (#156270) 2026-09-23 08:04:22 -07:00
vitest-ui-e2e-preflight.test.ts fix(test): stop preflight mocks leaking into shared workers (#157207) 2026-09-24 23:46:44 +08:00
vitest-ui-package-config.test.ts perf(test): reduce Bun UI test time and memory growth (#156220) 2026-09-24 19:51:28 +00:00
vitest-unit-config.test.ts
vitest-unit-fast-config.test.ts feat: run Code Mode on Node or isolated QuickJS (#154522) 2026-09-21 17:33:04 -07:00
vitest-unit-paths.test.ts improve: speed up cold Node test planning (#156234) 2026-09-23 06:43:18 +00:00