fix: hot reload plugin management changes#75976
Conversation
|
@clawsweeper automerge |
|
🦞🦞 Source: What merged:
Fixups included:
The automerge loop is complete. Automerge progress:
|
|
Codex review: passed. Summary Reproducibility: yes. The earlier blocker has a source-level reproduction: run an external plugin install/update while the Gateway watches config and only the managed plugin index changes; the PR now tests that path and queues a restart. Next step before merge Security Review detailsBest possible solution: Land this through the guarded automerge path after exact-head checks finish, preserving the explicit restart boundary for plugin source changes and the new regression coverage. Do we have a high-confidence way to reproduce the issue? Yes. The earlier blocker has a source-level reproduction: run an external plugin install/update while the Gateway watches config and only the managed plugin index changes; the PR now tests that path and queues a restart. Is this the best way to solve the issue? Yes. The current approach is the narrow maintainable fix: use the managed install-index as the durable cross-process signal for source changes, while limiting hot reload to plugin policy/runtime surfaces and clearing stale runtime state. What I checked:
Likely related people:
Remaining risk / open question:
Codex review notes: model gpt-5.5, reasoning high; reviewed against 7a100021d3c6. |
1b979ec to
2ad2627
Compare
|
🦞🦞 Source: I added |
2ad2627 to
ea5f834
Compare
ea5f834 to
ec55a25
Compare
ec55a25 to
860594f
Compare
Summary: - The PR changes Gateway reload planning, CLI plugin install-index writes, plugin runtime/cache cleanup, docs, changelog, and tests so plugin enable/disable hot reloads while install/update/uninstall stay restart-backed. - Reproducibility: yes. The earlier blocker has a source-level reproduction: run an external plugin install/up ... watches config and only the managed plugin index changes; the PR now tests that path and queues a restart. ClawSweeper fixups: - Included follow-up commit: fix: hot reload plugin management changes - Included follow-up commit: fix(clawsweeper): address review for automerge-openclaw-openclaw-7597… - Ran the ClawSweeper repair loop before final review. Validation: - ClawSweeper review passed for head 860594f. - Required merge gates passed before the squash merge. Prepared head SHA: 860594f Review: openclaw#75976 (comment) Co-authored-by: Peter Steinberger <steipete@gmail.com> Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Summary: - The PR changes Gateway reload planning, CLI plugin install-index writes, plugin runtime/cache cleanup, docs, changelog, and tests so plugin enable/disable hot reloads while install/update/uninstall stay restart-backed. - Reproducibility: yes. The earlier blocker has a source-level reproduction: run an external plugin install/up ... watches config and only the managed plugin index changes; the PR now tests that path and queues a restart. ClawSweeper fixups: - Included follow-up commit: fix: hot reload plugin management changes - Included follow-up commit: fix(clawsweeper): address review for automerge-openclaw-openclaw-7597… - Ran the ClawSweeper repair loop before final review. Validation: - ClawSweeper review passed for head 860594f. - Required merge gates passed before the squash merge. Prepared head SHA: 860594f Review: openclaw#75976 (comment) Co-authored-by: Peter Steinberger <steipete@gmail.com> Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Summary: - The PR changes Gateway reload planning, CLI plugin install-index writes, plugin runtime/cache cleanup, docs, changelog, and tests so plugin enable/disable hot reloads while install/update/uninstall stay restart-backed. - Reproducibility: yes. The earlier blocker has a source-level reproduction: run an external plugin install/up ... watches config and only the managed plugin index changes; the PR now tests that path and queues a restart. ClawSweeper fixups: - Included follow-up commit: fix: hot reload plugin management changes - Included follow-up commit: fix(clawsweeper): address review for automerge-openclaw-openclaw-7597… - Ran the ClawSweeper repair loop before final review. Validation: - ClawSweeper review passed for head 860594f72286933b6d9e287076440e10487667be. - Required merge gates passed before the squash merge. Prepared head SHA: 860594f72286933b6d9e287076440e10487667be Review: openclaw/openclaw#75976 (comment) Co-authored-by: Peter Steinberger <steipete@gmail.com> Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Summary: - The PR changes Gateway reload planning, CLI plugin install-index writes, plugin runtime/cache cleanup, docs, changelog, and tests so plugin enable/disable hot reloads while install/update/uninstall stay restart-backed. - Reproducibility: yes. The earlier blocker has a source-level reproduction: run an external plugin install/up ... watches config and only the managed plugin index changes; the PR now tests that path and queues a restart. ClawSweeper fixups: - Included follow-up commit: fix: hot reload plugin management changes - Included follow-up commit: fix(clawsweeper): address review for automerge-openclaw-openclaw-7597… - Ran the ClawSweeper repair loop before final review. Validation: - ClawSweeper review passed for head 860594f72286933b6d9e287076440e10487667be. - Required merge gates passed before the squash merge. Prepared head SHA: 860594f72286933b6d9e287076440e10487667be Review: openclaw/openclaw#75976 (comment) Co-authored-by: Peter Steinberger <steipete@gmail.com> Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Summary: - The PR changes Gateway reload planning, CLI plugin install-index writes, plugin runtime/cache cleanup, docs, changelog, and tests so plugin enable/disable hot reloads while install/update/uninstall stay restart-backed. - Reproducibility: yes. The earlier blocker has a source-level reproduction: run an external plugin install/up ... watches config and only the managed plugin index changes; the PR now tests that path and queues a restart. ClawSweeper fixups: - Included follow-up commit: fix: hot reload plugin management changes - Included follow-up commit: fix(clawsweeper): address review for automerge-openclaw-openclaw-7597… - Ran the ClawSweeper repair loop before final review. Validation: - ClawSweeper review passed for head 860594f72286933b6d9e287076440e10487667be. - Required merge gates passed before the squash merge. Prepared head SHA: 860594f72286933b6d9e287076440e10487667be Review: openclaw/openclaw#75976 (comment) Co-authored-by: Peter Steinberger <steipete@gmail.com> Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Summary: - The PR changes Gateway reload planning, CLI plugin install-index writes, plugin runtime/cache cleanup, docs, changelog, and tests so plugin enable/disable hot reloads while install/update/uninstall stay restart-backed. - Reproducibility: yes. The earlier blocker has a source-level reproduction: run an external plugin install/up ... watches config and only the managed plugin index changes; the PR now tests that path and queues a restart. ClawSweeper fixups: - Included follow-up commit: fix: hot reload plugin management changes - Included follow-up commit: fix(clawsweeper): address review for automerge-openclaw-openclaw-7597… - Ran the ClawSweeper repair loop before final review. Validation: - ClawSweeper review passed for head 860594f. - Required merge gates passed before the squash merge. Prepared head SHA: 860594f Review: openclaw#75976 (comment) Co-authored-by: Peter Steinberger <steipete@gmail.com> Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Summary: - The PR changes Gateway reload planning, CLI plugin install-index writes, plugin runtime/cache cleanup, docs, changelog, and tests so plugin enable/disable hot reloads while install/update/uninstall stay restart-backed. - Reproducibility: yes. The earlier blocker has a source-level reproduction: run an external plugin install/up ... watches config and only the managed plugin index changes; the PR now tests that path and queues a restart. ClawSweeper fixups: - Included follow-up commit: fix: hot reload plugin management changes - Included follow-up commit: fix(clawsweeper): address review for automerge-openclaw-openclaw-7597… - Ran the ClawSweeper repair loop before final review. Validation: - ClawSweeper review passed for head 860594f. - Required merge gates passed before the squash merge. Prepared head SHA: 860594f Review: openclaw#75976 (comment) Co-authored-by: Peter Steinberger <steipete@gmail.com> Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Summary: - The PR changes Gateway reload planning, CLI plugin install-index writes, plugin runtime/cache cleanup, docs, changelog, and tests so plugin enable/disable hot reloads while install/update/uninstall stay restart-backed. - Reproducibility: yes. The earlier blocker has a source-level reproduction: run an external plugin install/up ... watches config and only the managed plugin index changes; the PR now tests that path and queues a restart. ClawSweeper fixups: - Included follow-up commit: fix: hot reload plugin management changes - Included follow-up commit: fix(clawsweeper): address review for automerge-openclaw-openclaw-7597… - Ran the ClawSweeper repair loop before final review. Validation: - ClawSweeper review passed for head 860594f. - Required merge gates passed before the squash merge. Prepared head SHA: 860594f Review: openclaw#75976 (comment) Co-authored-by: Peter Steinberger <steipete@gmail.com> Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Summary
Validation
pnpm test src/gateway/config-reload.test.ts src/gateway/server-reload-handlers.test.ts src/plugins/loader.runtime-registry.test.ts -- --reporter=verbosepnpm test src/gateway/server.reload.test.ts src/gateway/server-reload-handlers.test.ts -- --reporter=verbosepnpm test src/gateway/plugin-channel-reload-targets.test.ts src/gateway/server.reload.test.ts src/gateway/server-reload-handlers.test.ts -- --reporter=verbosepnpm test src/plugins/runtime.test.ts src/gateway/server/plugins-http.test.ts src/gateway/server-plugins.test.ts src/gateway/server.reload.test.ts -- --reporter=verbosepnpm exec oxfmt --check --threads=1 ...git diff --checkpnpm check:changedFixes #72097.