diff --git a/Tools/windows/Invoke-MatchedActionSupplement.ps1 b/Tools/windows/Invoke-MatchedActionSupplement.ps1 index 2140cdbc..94a11e99 100644 --- a/Tools/windows/Invoke-MatchedActionSupplement.ps1 +++ b/Tools/windows/Invoke-MatchedActionSupplement.ps1 @@ -84,6 +84,7 @@ $leaseWindow=Get-CapLeaseWindow -GrantedUtc $authorization.grantedUtc ` -NowUtc ([DateTime]::UtcNow) $leaseDeadlineUtc=$leaseWindow.WorkerDeadlineUtc $focusedCapture=$true +$actionSupplementMode=$true $rehearsal=$false $transitionRehearsal=$false $fixtureHash=(Get-FileHash $fixturePath -Algorithm SHA256).Hash @@ -147,6 +148,7 @@ $manifest=[ordered]@{ receipts=@($actionSupplementReceipts) receiptCount=[long]$actionSupplementReceipts.Count providerReceipts=@($zmxSeedReceipts) + processJournal=@($journalEntries) cleanup=@($cleanupReceipts) cleanupFailures=@($cleanupFailures) independentSurvivors=@($independent) diff --git a/Tools/windows/Invoke-UiCaptureWorker.ps1 b/Tools/windows/Invoke-UiCaptureWorker.ps1 index 51eb6c6a..a99d7b1e 100644 --- a/Tools/windows/Invoke-UiCaptureWorker.ps1 +++ b/Tools/windows/Invoke-UiCaptureWorker.ps1 @@ -13,6 +13,7 @@ $modulePath = Join-Path $PSScriptRoot 'UiCaptureDriver.psm1' $rehearsal = $false $transitionRehearsal = $false $focusedCapture = $false +$actionSupplementMode = $false $matchedCapturePlan = $null $rehearsalLaunches = [Collections.Generic.List[object]]::new() $rehearsalActions = [Collections.Generic.List[object]]::new() @@ -175,12 +176,15 @@ function Write-CapProcessJournal { } } if ($index -ge 0) { $journalEntries[$index] = $entry } else { $journalEntries.Add($entry) } - Write-CapWorkerJournalSnapshot -Kind 'Progress' + if (-not $actionSupplementMode) { + Write-CapWorkerJournalSnapshot -Kind 'Progress' + } } function Write-CapWorkerJournalSnapshot { param([ValidateSet('Bootstrap','Progress','Terminal')][string]$Kind, [string]$Outcome = 'CAPTURING') + if ($actionSupplementMode) {return} if ($null -eq $journalState) { throw 'Worker journal was not initialized before publication.' } $progressManifest=if ($transitionRehearsal) { [pscustomobject][ordered]@{ diff --git a/Tools/windows/Tests/UiCaptureDriver.Tests.ps1 b/Tools/windows/Tests/UiCaptureDriver.Tests.ps1 index 5005934d..eba166ca 100644 --- a/Tools/windows/Tests/UiCaptureDriver.Tests.ps1 +++ b/Tools/windows/Tests/UiCaptureDriver.Tests.ps1 @@ -3017,7 +3017,10 @@ function Invoke-CapMatchedContracts { $actionPrepareSource.Contains("status='PREPARED_NO_AUTHORITY'") -and $actionPrepareSource.Contains("pngArtifacts=0L") -and $actionInvokeSource.Contains('-DefinitionsOnly') -and + $actionInvokeSource.Contains('$actionSupplementMode=$true') -and $actionInvokeSource.Contains("'RELEASED_ZERO_SURVIVORS'") -and + $workerSource.Contains('if (-not $actionSupplementMode)') -and + $workerSource.Contains('if ($actionSupplementMode) {return}') -and $splitDown.Name -ceq 'Split Down' -and $splitDown.AutomationId -ceq (Get-CapMatchedAutomationId 'workspace-split-down:control') -and $workerSource.Contains("-Action 'attention-action'") -and