From 05a45ba8c2e6d063dceca386cbc2e1f26c6689d1 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Wed, 29 Jul 2026 20:39:21 +0800 Subject: [PATCH] fix(skills): verify workshop migration without recovery --- src/commands/doctor-skill-workshop-sqlite.test.ts | 1 + src/commands/doctor-skill-workshop-sqlite.ts | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/commands/doctor-skill-workshop-sqlite.test.ts b/src/commands/doctor-skill-workshop-sqlite.test.ts index c3d1095a77db..374894351dcb 100644 --- a/src/commands/doctor-skill-workshop-sqlite.test.ts +++ b/src/commands/doctor-skill-workshop-sqlite.test.ts @@ -221,6 +221,7 @@ describe("doctor Skill Workshop SQLite migration", () => { }, }), ).resolves.toMatchObject({ detected: 1, migrated: 1, warnings: [] }); + await expect(readSkillProposalRollback(proposalId)).resolves.toMatchObject(rollback); await expect(listSkillProposals({ agentId: "main", workspaceDir })).resolves.toMatchObject({ proposals: [expect.objectContaining({ id: proposalId, status: "pending" })], diff --git a/src/commands/doctor-skill-workshop-sqlite.ts b/src/commands/doctor-skill-workshop-sqlite.ts index abe341924f39..7252203779d3 100644 --- a/src/commands/doctor-skill-workshop-sqlite.ts +++ b/src/commands/doctor-skill-workshop-sqlite.ts @@ -13,7 +13,7 @@ import { normalizeAgentId, resolveAgentIdFromSessionKey } from "../routing/sessi import { hashSkillProposalContent, importLegacySkillProposal, - readSkillProposalRecord, + readSkillProposal, readSkillProposalRollback, validateSkillProposalRecord, validateSkillProposalRollback, @@ -119,7 +119,9 @@ async function verifyImportedProposal(params: { record: SkillProposalRecord; rollback?: SkillProposalRollback; }): Promise { - const imported = await readSkillProposalRecord(params.record.id, { env: params.env }); + const imported = ( + await readSkillProposal(params.record.id, { env: params.env }, {}, { reconcile: false }) + )?.record; if ( !imported || imported.draftHash !== params.record.draftHash || @@ -239,7 +241,7 @@ export async function migrateLegacySkillWorkshopProposals(params: { migrated += 1; } catch (error) { if (isNotFoundError(error)) { - if (await readSkillProposalRecord(proposalId, { env })) { + if (await readSkillProposal(proposalId, { env }, {}, { reconcile: false })) { continue; } }