37 lines
1.6 KiB
Markdown
37 lines
1.6 KiB
Markdown
---
|
|
id: guard-plugin-resolution
|
|
title: Guard plugin package and capability owner resolution
|
|
scenario: plugin-lifecycle-management
|
|
taskType: plugin-lifecycle
|
|
intent: Change plugin discovery, migration, or owner selection without introducing duplicate active capability owners.
|
|
touchedAreas:
|
|
- 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
|
|
expectedUserBehavior:
|
|
- 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.
|
|
requiredProfiles:
|
|
- fast
|
|
requiredTests:
|
|
- tests/unit/openclaw-auth.test.ts
|
|
- tests/unit/channel-config.test.ts
|
|
acceptance:
|
|
- 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.
|
|
docs:
|
|
required: false
|
|
---
|
|
|
|
Use this task spec when changing plugin discovery, canonical owner selection, plugin ID migration, channel/provider plugin registration, or startup config sanitization.
|