mirror of
https://github.com/openclaw/openclaw.git
synced 2026-10-03 09:39:25 +00:00
* feat(update): adopt immutable installations and prepare sealed generations without activating them * fix(update): repair immutable preparation dependency boundaries Register the packaged immutable launcher as a Knip executable entry and retain the immutable SQLite read worker closure in the PR wrapper inventory. Extract startup installation facts and package activation runtime types at their leaf contracts. Migrate all consumers and remove the broad reverse dependencies that made both static import cycles lane-caused. Keep lazy initialization and cancellation with the Gateway lifecycle owner. * fix(update): use typed immutable record size predicates Express the existing 64-KiB JSON byte bounds through Kysely expression builders. Preserve BLOB casts, bound values, and null filtering at the immutable record owner. The real SQLite store tests, full architecture command, staged changed-file gate, and independent review pass. The schema and durability contract are unchanged. * fix(state): stop polling pinned SQLite handles Publish idleness from the common borrower release owner, including maintenance ownership transferred to an independent reader. Remove the read-only adapter's separate scheduling policy and consolidate asynchronous completion/cancellation. Keep authority checks after WAL shutdown and preserve failed cleanup for retry. Idle expiry now waits for pinned readers instead of rearming. The existing 30-minute window, transaction retries, explicit disposal and durable state stay unchanged. Regression coverage proves zero timers after close, late release, transferred maintenance ownership, and ownership lost during awaited cleanup. The original timer and incomplete release handoff each fail their regression; the final candidate passes the real SQLite, borrower, cleanup, status and CLI/UI proof on Blacksmith Testbox. Native staged checks run on the isolated Linux rig. Related: #163799 * test(e2e): preserve relabeled candidate content inventory Use the existing fixture version-stamping owner when the published-driver candidate is older than the driver. Refresh the authored build-info hash while preserving opaque build identity and detection of unrelated package corruption. Remove the duplicate stamping loop and unpersisted relabeledFrom expectation; the relabel receipt already records the original and target versions. The original published-driver cell installed the candidate but correctly rejected its stale content inventory. Focused fixture tests and native changed checks pass on Blacksmith Testbox; independent review found no actionable issues. Related: #163799 * test(browser): preserve the MCP module between pooled test files Read the harness's registered Chrome MCP mock through a normal dynamic import. Vitest importMock also populates the real module ID with empty-body metadata; pooled cleanup can preserve that body and leave a later real import without its exports. No extra mock loader or cache policy is needed for this assertion. The ordered server.agent-contract-core -> server-context.list-profiles replay reproduces all three CI failures before this change and passes all 59 tests afterward. The full four-group CI bundle passes 1,937 tests with 66 skipped on Blacksmith Testbox. Existing assertions, production code and scheduling remain unchanged. Related: #163799 |
||
|---|---|---|
| .. | ||
| lib | ||
| parallels | ||
| agent-bundle-mcp-tools-docker.sh | ||
| agents-delete-shared-workspace-docker.sh | ||
| anthropic-cache-live-docker.sh | ||
| anthropic-cache-live.mts | ||
| browser-cdp-snapshot-docker.sh | ||
| browser-plugin-profiles-docker.sh | ||
| build-image.sh | ||
| bun-global-install-smoke.sh | ||
| bun-only-runtime-smoke.sh | ||
| bundled-plugin-install-uninstall-docker.sh | ||
| cli-backend-oauth-mcp-live.mjs | ||
| cli-installer-distribution-docker.sh | ||
| codex-media-path-docker.sh | ||
| codex-npm-plugin-live-docker.sh | ||
| codex-on-demand-docker.sh | ||
| compose-setup.sh | ||
| config-reload-source-docker.sh | ||
| container-image-upgrade-docker.sh | ||
| cron-cli-docker.sh | ||
| cron-mcp-cleanup-docker-client.ts | ||
| cron-mcp-cleanup-docker.sh | ||
| cron-mcp-cleanup-seed.ts | ||
| docker-openai-seed.ts | ||
| docker-package-install.sh | ||
| docker-selected-plugins.sh | ||
| Dockerfile | ||
| Dockerfile.qr-import | ||
| doctor-install-switch-docker.sh | ||
| fleet-cache-docker.sh | ||
| gateway-concurrency-docker.sh | ||
| gateway-network-docker.sh | ||
| kitchen-sink-plugin-docker.sh | ||
| kitchen-sink-rpc-docker.sh | ||
| kitchen-sink-rpc-walk.mjs | ||
| kitchen-sink-rpc-walk.mts | ||
| live-plugin-tool-docker.sh | ||
| mcp-app-conformance-server.mjs | ||
| mcp-channel-limits.ts | ||
| mcp-channels-docker.sh | ||
| mcp-channels-seed.ts | ||
| mcp-code-mode-gateway-client.ts | ||
| mcp-code-mode-gateway-docker.sh | ||
| mcp-code-mode-gateway-live-docker.sh | ||
| mcp-code-mode-gateway-seed.ts | ||
| mock-openai-server.mjs | ||
| multi-node-update-docker.sh | ||
| npm-onboard-channel-agent-docker.sh | ||
| npm-telegram-live-docker.sh | ||
| npm-telegram-live-runner.ts | ||
| onboard-docker.sh | ||
| openai-chat-tools-docker.sh | ||
| openai-image-auth-docker.sh | ||
| openai-web-search-minimal-docker.sh | ||
| openwebui-docker.sh | ||
| openwebui-probe.mjs | ||
| parallels-linux-smoke.sh | ||
| parallels-macos-smoke.sh | ||
| parallels-npm-update-smoke.sh | ||
| parallels-windows-prepare.sh | ||
| parallels-windows-smoke.sh | ||
| plugin-binding-command-escape-docker.sh | ||
| plugin-binding-command-escape.Dockerfile | ||
| plugin-lifecycle-matrix-docker.sh | ||
| plugin-update-unchanged-docker.sh | ||
| plugins-docker.sh | ||
| published-driver-lifecycle-docker.mjs | ||
| published-driver-update-docker.sh | ||
| qa-cli-onboarding.mjs | ||
| qa-plugin-install-sources.mjs | ||
| qr-import-docker.sh | ||
| release-media-memory-docker.sh | ||
| release-plugin-marketplace-docker.sh | ||
| release-typed-onboarding-docker.sh | ||
| release-upgrade-user-journey-docker.sh | ||
| release-user-journey-docker.sh | ||
| sandbox-browser-sidecar-docker.sh | ||
| session-runtime-context-docker-client.ts | ||
| session-runtime-context-docker.sh | ||
| skill-install-docker.sh | ||
| system-agent-first-run-docker.sh | ||
| system-agent-first-run-spec.json | ||
| system-agent-rescue-docker-client.ts | ||
| system-agent-rescue-docker.sh | ||
| systemd-sealed-service-definition.sh | ||
| update-channel-switch-docker.sh | ||
| update-corrupt-plugin-docker.sh | ||
| update-first-hop-compat-docker.sh | ||
| upgrade-survivor-docker.sh | ||