| plugin-recovery-and-rollback |
Recover from plugin upgrade, migration, and activation failures |
plugin-lifecycle-management |
plugin-lifecycle |
Keep ClawX recoverable when plugin upgrades, migrations, or activation changes fail. |
| electron/gateway/config-sync.ts |
| electron/utils/openclaw-auth.ts |
| electron/utils/channel-config.ts |
| electron/utils/plugin-install.ts |
| electron/gateway/skills-symlink-cleanup.ts |
| tests/unit/openclaw-auth.test.ts |
| tests/unit/channel-config.test.ts |
| tests/unit/plugin-install.test.ts |
| harness/specs/tasks/plugin-recovery-and-rollback.md |
| harness/specs/rules/capability-owner-resolution.md |
| harness/specs/rules/active-config-guards.md |
| harness/specs/scenarios/plugin-lifecycle-management.md |
|
| Failed plugin upgrades do not leave duplicate or stale active capability owners. |
| Removed or unconfigured capabilities have residual plugin registrations cleaned up. |
| Recovery preserves user-owned config where possible and leaves clear diagnostics when manual action is needed. |
|
|
| tests/unit/openclaw-auth.test.ts |
| tests/unit/channel-config.test.ts |
|
| Recovery paths converge to a single diagnosable runtime state. |
| Stale plugin directories, entries, allowlist values, and install metadata are handled according to source type. |
| Rollback or cleanup behavior has direct regression coverage for the affected plugin class. |
|
|