fix(skills): verify workshop migration without recovery

This commit is contained in:
Vincent Koc
2026-07-29 20:39:21 +08:00
parent 9b419ea2ac
commit 05a45ba8c2
2 changed files with 6 additions and 3 deletions
@@ -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" })],
+5 -3
View File
@@ -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<void> {
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;
}
}