| param( |
| [Parameter(Mandatory = $true)] |
| [int]$CacheBuilderProcessId, |
| [string]$Python = "C:\Users\A\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe" |
| ) |
|
|
| $ErrorActionPreference = "Stop" |
| $Root = "E:\Gaze_estimation" |
| $StatusPath = Join-Path $Root "artifacts\kd-teacher-trap-diagnostic\queued_preflight_status.json" |
| Set-Location -LiteralPath $Root |
|
|
| function Write-Status([string]$State, [string]$Detail) { |
| $Value = [ordered]@{ |
| schema = "queued-kd-preflight-status-v1" |
| state = $State |
| detail = $Detail |
| cache_builder_process_id = $CacheBuilderProcessId |
| updated_utc = [DateTime]::UtcNow.ToString("o") |
| } |
| $Value | ConvertTo-Json | Set-Content -LiteralPath $StatusPath -Encoding UTF8 |
| } |
|
|
| Write-Status "WAITING_FOR_CACHES" "Waiting for the exact remaining-cache orchestration process to exit" |
| Wait-Process -Id $CacheBuilderProcessId |
|
|
| $Participants = 0..14 | ForEach-Object { "p{0:D2}" -f $_ } |
| $Failures = @() |
| foreach ($Participant in $Participants) { |
| $ValidationPath = Join-Path $Root "data\processed_kd_clean_v1\cache\$Participant.official448_pointkd.validation.json" |
| if (-not (Test-Path -LiteralPath $ValidationPath)) { |
| $Failures += "$Participant missing validation" |
| continue |
| } |
| $Validation = Get-Content -LiteralPath $ValidationPath -Raw | ConvertFrom-Json |
| if (-not $Validation.pass) { |
| $Failures += "$Participant validation failed" |
| } |
| } |
|
|
| if ($Failures.Count -gt 0) { |
| Write-Status "BLOCKED_CACHE_INTEGRITY" ($Failures -join "; ") |
| throw "cache integrity gate failed: $($Failures -join '; ')" |
| } |
|
|
| Write-Status "PREFLIGHT_RUNNING" "All 15 point-KD cache validations pass; starting 36 fixed-epoch runs" |
| & powershell -NoProfile -ExecutionPolicy Bypass -File scripts\run_three_subject_matched_preflight.ps1 -Python $Python -Epochs 50 -BatchSize 32 |
| if ($LASTEXITCODE -ne 0) { |
| Write-Status "BLOCKED_PREFLIGHT_FAILURE" "Three-subject matched preflight returned exit code $LASTEXITCODE" |
| exit $LASTEXITCODE |
| } |
|
|
| Write-Status "PREFLIGHT_COMPLETE" "All 36 runs and the paired analysis completed" |
|
|