From 4b75a5c6c3c77c31b2541c71458b8b765efd2eb5 Mon Sep 17 00:00:00 2001 From: pallyoung Date: Tue, 25 Aug 2026 13:21:15 +0800 Subject: [PATCH] Fix finalized journal recovery evidence --- scripts/verify-desktop-installed-update.ps1 | 7 ++++++- scripts/verify-desktop-installed-update.test.ts | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/verify-desktop-installed-update.ps1 b/scripts/verify-desktop-installed-update.ps1 index eb104a77..ae6ef647 100644 --- a/scripts/verify-desktop-installed-update.ps1 +++ b/scripts/verify-desktop-installed-update.ps1 @@ -547,11 +547,16 @@ try { $restartSidecarUrl = Get-SidecarUrl $restartPages $sidecarUrl = $restartSidecarUrl $journalAfter = Read-JournalIdentity $journalPath + # A fully reconciled plan is cleared during startup; the recovered state is + # validated by the driver before this evidence is accepted. + $journalRecovered = $null -ne $journalBefore -and ( + $null -eq $journalAfter -or $journalBefore -eq $journalAfter + ) Write-JsonAtomic $controlPath @{ schemaVersion = 1 phase = $control.phase status = 'relaunched' - journalRecovered = ($null -ne $journalBefore -and $journalBefore -eq $journalAfter) + journalRecovered = $journalRecovered cdpUrl = "http://127.0.0.1:$cdpPort" sidecarUrl = $restartSidecarUrl } diff --git a/scripts/verify-desktop-installed-update.test.ts b/scripts/verify-desktop-installed-update.test.ts index dd0ad3d0..ffa75f7e 100644 --- a/scripts/verify-desktop-installed-update.test.ts +++ b/scripts/verify-desktop-installed-update.test.ts @@ -155,6 +155,8 @@ describe("verify-desktop-installed-update", () => { expect(runner).toContain("$cdpPort = Get-FreeTcpPort"); expect(runner).toContain('cdpUrl = "http://127.0.0.1:$cdpPort"'); expect(runner).toContain("sidecarUrl = $restartSidecarUrl"); + expect(runner).toContain("$null -eq $journalAfter -or $journalBefore -eq $journalAfter"); + expect(runner).toContain("journalRecovered = $journalRecovered"); expect(runner).toContain("Stop-InstalledDesktopExecutable $Executable $CdpPort"); expect(runner).toContain( "$lastInstallerCount = @(Get-InstallerProcesses $InstallerFileName).Count"