| guard-plugin-resolution |
Guard plugin package and capability owner resolution |
plugin-lifecycle-management |
plugin-lifecycle |
Change plugin discovery, migration, or owner selection without introducing duplicate active capability owners. |
| electron/gateway/config-sync.ts |
| electron/utils/openclaw-auth.ts |
| electron/utils/channel-config.ts |
| electron/utils/plugin-install.ts |
| tests/unit/openclaw-auth.test.ts |
| tests/unit/channel-config.test.ts |
| tests/unit/plugin-install.test.ts |
| harness/specs/tasks/guard-plugin-resolution.md |
| harness/specs/rules/capability-owner-resolution.md |
| harness/specs/rules/active-config-guards.md |
| harness/specs/scenarios/plugin-lifecycle-management.md |
|
| Plugin upgrades and migrations keep configured capabilities owned by one active package. |
| Existing channel/provider/skill business config survives ownership migration. |
| Stale plugin registrations do not reactivate old owners after restart. |
|
|
| tests/unit/openclaw-auth.test.ts |
| tests/unit/channel-config.test.ts |
|
| Single-owner capabilities have at most one active owner in final runtime config. |
| Bundled and external ownership conflicts have direct regression coverage. |
| Discovery, resolution, and activation responsibilities remain separate in the changed code. |
|
|