Commit 30b9e12
authored
fix: repeat doctor state migration repairs
Stabilize repeated `openclaw doctor --fix` state repairs for legacy plugin state and installed plugin index migrations.
- Import legacy-only plugin-state sidecar rows before deciding whether live conflicts require keeping the sidecar.
- Drop expired sidecar rows only when the sidecar can be archived, avoiding repeated false migration changes.
- Let richer current install records cover legacy records only when durable legacy fields are actually preserved, without erasing npm selector intent or malformed legacy metadata.
Proof:
- `node scripts/run-vitest.mjs src/commands/doctor-state-migrations.test.ts`
- `git diff --check origin/main...HEAD`
- `.agents/skills/autoreview/scripts/autoreview --mode branch --base origin/main`
- PR CI clean for head `5f3a7e0749372a40cabd7a090cae155997481b71`
Co-authored-by: Dallin Romney <dallinromney@gmail.com>1 parent a14be50 commit 30b9e12
2 files changed
Lines changed: 430 additions & 51 deletions
0 commit comments