$ErrorActionPreference = 'Stop' . ./.local/toolchain/env.ps1 $env:CARGO_BUILD_JOBS = '1' $gateRoot = Join-Path (Get-Location) '.local/text-navigation-native-fixes-20260911' $gates = @( @{name='focused3'; args=@('test','--locked','--offline','-p','oa-desktop','--bin','arcadia-studio','source_','--','--test-threads=1')}, @{name='clippy3'; args=@('clippy','--locked','--offline','-p','oa-desktop','--all-targets','--','-D','warnings')} ) foreach ($gate in $gates) { $log = Join-Path $gateRoot ($gate.name + '.log') if (Test-Path -LiteralPath $log) { throw "Refusing to overwrite $($gate.name)" } $started = [DateTime]::UtcNow.ToString('o') $gateArgs = $gate.args & cargo @gateArgs 2>&1 | Tee-Object -FilePath $log $gateExit = $LASTEXITCODE [ordered]@{started=$started;finished=[DateTime]::UtcNow.ToString('o');exitCode=$gateExit;args=$gateArgs;buildJobs=1} | ConvertTo-Json | Set-Content -LiteralPath (Join-Path $gateRoot ($gate.name + '-status.json')) if ($gateExit -ne 0) { exit $gateExit } }