Command: powershell -NoProfile -ExecutionPolicy Bypass -Command "$ErrorActionPreference='Stop';$root='C:\Users\ash\Documents\Codex\2026-08-26\LaptopBridge-DEV';$data=Join-Path $root 'bridge-data';$pidFile=Join-Path $data 'ha3-supervisor.pid';$old=0;if(Test-Path $pidFile){$old=[int](Get-Content -Raw $pidFile)};if($old -gt 0){$p=Get-CimInstance Win32_Process -Filter ('ProcessId='+$old) -ErrorAction SilentlyContinue;if($p){if(([string]$p.CommandLine) -notlike '*ha3_supervisor.py*'){throw 'HA3_SUPERVISOR_IDENTITY_GUARD_FAILED'};Stop-Process -Id $old -Force -ErrorAction Stop;Start-Sleep -Milliseconds 800}};& (Join-Path $root 'start-ha3-dev.ps1');Start-Sleep -Seconds 8;$status=Get-Content -Raw (Join-Path $data 'ha3-status.json')|ConvertFrom-Json;$spid=[int](Get-Content -Raw (Join-Path $data 'ha3-supervisor.pid'));$cpid=[int](Get-Content -Raw (Join-Path $data 'ha3-child.pid'));$active=[int]$status.active_port;$dh='FAIL';$ph='FAIL';try{$dh=(Invoke-WebRequest -UseBasicParsing ('http://127.0.0.1:'+$active+'/health') -TimeoutSec 2).Content.Trim()}catch{};try{$ph=(Invoke-WebRequest -UseBasicParsing 'http://127.0.0.1:8765/health' -TimeoutSec 2).Content.Trim()}catch{};$hb=Get-Content -Raw (Join-Path $data 'ha3-drive-worker-heartbeat.json')|ConvertFrom-Json;[pscustomobject]@{old_supervisor=$old;new_supervisor=$spid;child=$cpid;active_port=$active;dev_health=$dh;prod_health=$ph;healthy=$status.healthy;restarts=$status.restarts;failovers=$status.failovers;heartbeat_pid=$hb.pid;heartbeat_match=([int]$hb.pid -eq $cpid);revision=$status.revision}|ConvertTo-Json -Compress"
Directory: projects
Status: SUCCESS
Exit code: 0
Cancel Job Rerun Command Refresh
HA3_SUPERVISOR_START_REQUESTED port=8767
{"old_supervisor":2704,"new_supervisor":9152,"child":19320,"active_port":8767,"dev_health":"OK","prod_health":"OK","healthy":true,"restarts":1,"failovers":0,"heartbeat_pid":19320,"heartbeat_match":true,"revision":"HA3-DEV2"}