2026-11-10T10:49:22.474+00:00 +0.022806 MANIFEST {"id": "P22", "case": "ctrlc-backoff-W", "side": "after", "sha": "965b08b3060575186415df240c898a50c8736c5d", "environment": "Ubuntu 24.04.4 LTS Linux x86_64; kernel 6.8.0-117-generic; dash 0.5.12-6ubuntu5 or bash 5.2.21 --posix; curl 8.5.0; GNU wget 1.21.4; BusyBox 1.36.1; Node v26.12.1; PowerShell 7.4.6 Core on Linux (helpers only)", "selected": {"surface": "P", "shell": null, "transport": null, "path": null, "mech": "W", "pty": true}, "selected_transport_version": "curl 8.5.0", "command": "/tmp/lead-32913-r1/evidence-capture/powershell-7.4.6/pwsh -NoLogo -NoProfile -File /tmp/lead-32913-r1/evidence-capture/runs-20261110T104757.726561Z/P22-ctrlc-backoff-W/after/observe.ps1", "env": {"HOME": "/tmp/lead-32913-r1/evidence-capture/runs-20261110T104757.726561Z/P22-ctrlc-backoff-W/after/home", "T3CODE_HOME": "/tmp/lead-32913-r1/evidence-capture/runs-20261110T104757.726561Z/P22-ctrlc-backoff-W/after/home/t3", "T3CODE_INSTALL_BIN_DIR": "/tmp/lead-32913-r1/evidence-capture/runs-20261110T104757.726561Z/P22-ctrlc-backoff-W/after/bin", "TMPDIR": "/tmp/lead-32913-r1/evidence-capture/runs-20261110T104757.726561Z/P22-ctrlc-backoff-W/after/tmp", "TMP": "/tmp/lead-32913-r1/evidence-capture/runs-20261110T104757.726561Z/P22-ctrlc-backoff-W/after/tmp", "TEMP": "/tmp/lead-32913-r1/evidence-capture/runs-20261110T104757.726561Z/P22-ctrlc-backoff-W/after/tmp", "TERM": "xterm-256color", "LANG": "C.UTF-8", "LC_ALL": "C.UTF-8", "NO_COLOR": "1", "CAPTURE_TRANSPORT": "/tmp/lead-32913-r1/evidence-capture/runs-20261110T104757.726561Z/P22-ctrlc-backoff-W/after/transport.jsonl", "T3CODE_VERSION": "1.2.3", "T3CODE_RELEASE_BASE_URL": "http://127.0.0.1:39159", "PROCESSOR_ARCHITECTURE": "AMD64", "DOTNET_CLI_HOME": "/tmp/lead-32913-r1/evidence-capture/runs-20261110T104757.726561Z/P22-ctrlc-backoff-W/after/home", "POWERSHELL_TELEMETRY_OPTOUT": "1", "PATH": "/tmp/lead-32913-r1/evidence-capture/runs-20261110T104757.726561Z/P22-ctrlc-backoff-W/after/path", "CAPTURE_STAGING": "/tmp/lead-32913-r1/evidence-capture/runs-20261110T104757.726561Z/P22-ctrlc-backoff-W/after/helper-staging", "CAPTURE_URL": "http://127.0.0.1:39159/v1.2.3/SHA256SUMS", "CAPTURE_DEST": "/tmp/lead-32913-r1/evidence-capture/runs-20261110T104757.726561Z/P22-ctrlc-backoff-W/after/downloaded", "CAPTURE_SCRIPT": "/tmp/lead-32913-r1/evidence-capture/runs-20261110T104757.726561Z/P22-ctrlc-backoff-W/after/install.ps1"}, "original_source_sha256": "d24dd0357bd107d3643aeeb1e80eaebf2cb8d84928a5bbed3682a9a6b491f92c", "executed_source_sha256": "15b3c21af9a34db42b28b972c922f46ca5bac92f6f762bdb7a9945598e0a9bec", "transforms": ["Set-PSDebug -Trace 1 observes execution of exact helper source, including disposal and request commands", "verbatim prologue and helper slice; real-HTTP synthetic caller; discovery origins only remapped"], "steps": "Start fixture; run command; deliver terminal Ctrl-C only when specified precondition is observed; capture exit, requests, install state, tracked PIDs."}
2026-11-10T10:49:22.478+00:00 +0.026071 SPAWN {"pid": 617330, "pty": true, "stdin": "PTY"}
2026-11-10T10:49:22.743+00:00 +0.290978 OUTPUT "\u001b[?1h\u001b="
2026-11-10T10:49:22.990+00:00 +0.538318 OUTPUT "DEBUG:    2+  >>>> & $env:CAPTURE_SCRIPT\r\n\r\n"
2026-11-10T10:49:23.087+00:00 +0.634888 OUTPUT "DEBUG:   16+  >>>> $ErrorActionPreference = \"Stop\"\r\n\r\nDEBUG:   17+  >>>> [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12\r\n\r\n"
2026-11-10T10:49:23.092+00:00 +0.640851 OUTPUT "DEBUG:   19+  >>>> $repo = \"pingdotgg/t3code\"\r\n\r\n"
2026-11-10T10:49:23.095+00:00 +0.643095 OUTPUT "DEBUG:   20+  >>>> $baseUrl = if ($env:T3CODE_RELEASE_BASE_URL) { $env:T3CODE_RELEASE_BASE_URL.TrimEnd(\"/\") } else { \"http://127.0.0.1:39159/$repo/releases/download\" }\r\n\r\nDEBUG:   20+ $baseUrl = if ( >>>> $env:T3CODE_RELEASE_BASE_URL) { $env:T3CODE_RELEASE_BASE_URL.TrimEnd(\"/\") } else { \"http://127.0.0.1:39159/$repo/releases/download\" }\r\n\r\nDEBUG:   20+ $baseUrl = if ($env:T3CODE_RELEASE_BASE_URL) {  >>>> $env:T3CODE_RELEASE_BASE_URL.TrimEnd(\"/\") } else { \"http://127.0.0.1:39159/$repo/releases/download\" }\r\n\r\n"
2026-11-10T10:49:23.104+00:00 +0.652359 OUTPUT "DEBUG:   21+  >>>> $t3Home = if ($env:T3CODE_HOME) { $env:T3CODE_HOME } else { Join-Path $HOME \".t3\" }\r\n\r\n"
2026-11-10T10:49:23.106+00:00 +0.653851 OUTPUT "DEBUG:   21+ $t3Home = if ( >>>> $env:T3CODE_HOME) { $env:T3CODE_HOME } else { Join-Path $HOME \".t3\" }\r\n\r\nDEBUG:   21+ $t3Home = if ($env:T3CODE_HOME) {  >>>> $env:T3CODE_HOME } else { Join-Path $HOME \".t3\" }\r\n\r\nDEBUG:   22+  >>>> $binDir = if ($env:T3CODE_INSTALL_BIN_DIR) { $env:T3CODE_INSTALL_BIN_DIR } else { Join-Path $HOME \".local\\bin\" }\r\n\r\nDEBUG:   22+ $binDir = if ( >>>> $env:T3CODE_INSTALL_BIN_DIR) { $env:T3CODE_INSTALL_BIN_DIR } else { Join-Path $HOME \".local\\bin\" }\r\n\r\nDEBUG:   22+ $binDir = if ($env:T3CODE_INSTALL_BIN_DIR) {  >>>> $env:T3CODE_INSTALL_BIN_DIR } else { Join-Path $HOME \".local\\bin\" }\r\n\r\nDEBUG:   24+  >>>> $binDir = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath($binDir)\r\n\r\n"
2026-11-10T10:49:23.113+00:00 +0.661843 OUTPUT "DEBUG:   31+  >>>> $terminal = -not [Console]::IsErrorRedirected -and $env:TERM -ne \"dumb\"\r\n\r\n"
2026-11-10T10:49:23.123+00:00 +0.671025 OUTPUT "DEBUG:   32+  >>>> $interactive = $terminal -and $Host.UI.SupportsVirtualTerminal"
2026-11-10T10:49:23.127+00:00 +0.674920 OUTPUT "\r\n\r\n"
2026-11-10T10:49:23.130+00:00 +0.678246 OUTPUT "DEBUG:   33+ if ( >>>> $interactive) {"
2026-11-10T10:49:23.132+00:00 +0.680742 OUTPUT "\r\n\r\nDEBUG:   35+    >>>> $glyphs = -join [char[]](0x2588, 0x2580, 0x2584, 0x25A0, 0x00B7)\r\n\r\n"
2026-11-10T10:49:23.136+00:00 +0.684769 OUTPUT "DEBUG:   36+    >>>> $encoding = [Console]::Error.Encoding\r\n\r\n"
2026-11-10T10:49:23.142+00:00 +0.689873 OUTPUT "DEBUG:   37+    >>>> $interactive = $encoding.GetString($encoding.GetBytes($glyphs)) -eq $glyphs\r\n\r\n"
2026-11-10T10:49:23.149+00:00 +0.697783 OUTPUT "DEBUG:   39+  >>>> $esc = [char]27\r\n\r\nDEBUG:   40+  >>>> $reset = $bold = $muted = $accent = $green = \"\"\r\n\r\nDEBUG:   40+ $reset =  >>>> $bold = $muted = $accent = $green = \"\"\r\n\r\nDEBUG:   40+ $reset = $bold =  >>>> $muted = $accent = $green = \"\"\r\n\r\nDEBUG:   40+ $reset = $bold = $muted =  >>>> $accent = $green = \"\"\r\n\r\nDEBUG:   40+ $reset = $bold = $muted = $accent =  >>>> $green = \"\"\r\n\r\nDEBUG:   41+ if ( >>>> $interactive -and -not $env:NO_COLOR) {\r\n\r\nDEBUG:  120+  >>>> [Console]::Error.WriteLine(\"CAPTURE_DISPATCH terminal=$terminal interactive=$interactive mechanism=W encoding=$([Console]::Error.Encoding.WebName)\")\r\n\r\n"
2026-11-10T10:49:23.150+00:00 +0.698732 OUTPUT "DEBUG:  120+ [Console]::Error.WriteLine(\"CAPTURE_DISPATCH terminal=$terminal interactive=$interactive mechanism=W encoding=$( >>>> [Console]::Error.Encoding.WebName)\")"
2026-11-10T10:49:23.151+00:00 +0.699458 OUTPUT "\r\n"
2026-11-10T10:49:23.156+00:00 +0.703964 OUTPUT "\r\n"
2026-11-10T10:49:23.160+00:00 +0.708023 OUTPUT "CAPTURE_DISPATCH terminal=True interactive=True mechanism=W encoding=utf-8\r\nDEBUG:  122+  >>>> Fetch $env:CAPTURE_URL $env:CAPTURE_DEST\r\n\r\n"
2026-11-10T10:49:23.172+00:00 +0.720765 OUTPUT "DEBUG:   80+ function Fetch([string] $uri, [string] $destination, [switch] $progress)  >>>> {"
2026-11-10T10:49:23.176+00:00 +0.724870 OUTPUT "\r\n\r\nDEBUG:   81+   if ( >>>> -not $progress -or -not $interactive) {\r\n\r\nDEBUG:   82+      >>>> $ProgressPreference = if ($progress -and $terminal) { \"Continue\" } else { \"SilentlyContinue\" }\r\n\r\nDEBUG:   82+     $ProgressPreference = if ( >>>> $progress -and $terminal) { \"Continue\" } else { \"SilentlyContinue\" }\r\n\r\nDEBUG:   82+     $ProgressPreference = if ($progress -and $terminal) { \"Continue\" } else {  >>>> \"SilentlyContinue\" }\r\n\r\n"
2026-11-10T10:49:23.178+00:00 +0.726723 OUTPUT "DEBUG:   83+      >>>> Invoke-Retrying { Invoke-WebRequest -Uri $uri -OutFile $destination -UseBasicParsing }\r\n\r\n"
2026-11-10T10:49:23.180+00:00 +0.727907 OUTPUT "DEBUG:   74+ function Invoke-Retrying([scriptblock] $request)  >>>> {\r\n\r\nDEBUG:   75+   for ( >>>> $attempt = 1; ; $attempt++) {\r\n\r\n"
2026-11-10T10:49:23.180+00:00 +0.728182 OUTPUT "DEBUG:   76+     try { return  >>>> & $request }\r\n\r\n"
2026-11-10T10:49:23.181+00:00 +0.728846 OUTPUT "DEBUG:   83+     Invoke-Retrying  >>>> { Invoke-WebRequest -Uri $uri -OutFile $destination -UseBasicParsing }\r\n\r\n"
2026-11-10T10:49:23.184+00:00 +0.731938 OUTPUT "DEBUG:   83+     Invoke-Retrying {  >>>> Invoke-WebRequest -Uri $uri -OutFile $destination -UseBasicParsing }\r\n\r\n"
2026-11-10T10:49:23.364+00:00 +0.911913 SERVER {"request_t": 0.91129, "event": "request", "path": "/v1.2.3/SHA256SUMS", "endpoint": "sums", "attempt": 1, "status": 504, "behavior": 504, "accept": null}
2026-11-10T10:49:23.365+00:00 +0.912867 SERVER {"event": "body_complete", "endpoint": "sums", "bytes": 19}
2026-11-10T10:49:23.365+00:00 +0.912961 SERVER {"event": "request_handler_end", "endpoint": "sums"}
2026-11-10T10:49:23.450+00:00 +0.998116 OUTPUT "DEBUG:   77+     catch { if ( >>>> -not (Wait-Retry ([int]$_.Exception.Response.StatusCode) $attempt)) { throw } }\r\n\r\n"
2026-11-10T10:49:23.463+00:00 +1.010966 OUTPUT "DEBUG:   69+ function Wait-Retry([int] $status, [int] $attempt)  >>>> {\r\n\r\nDEBUG:   70+   if ( >>>> $attempt -ge 4 -or ($status -ge 400 -and $status -lt 500 -and $status -ne 408 -and $status -ne 429)) { return $false }\r\n\r\n"
2026-11-10T10:49:23.467+00:00 +1.014873 OUTPUT "DEBUG:   71+    >>>> Start-Sleep -Seconds ([Math]::Pow(2, $attempt - 1))\r\n\r\n"
2026-11-10T10:49:24.480+00:00 +2.028172 OUTPUT "DEBUG:   72+   return  >>>> $true\r\n\r\nDEBUG:   73+  >>>> }\r\n\r\nDEBUG:   75+   for ($attempt = 1; ;  >>>> $attempt++) {\r\n\r\nDEBUG:   76+     try { return  >>>> & $request }"
2026-11-10T10:49:24.490+00:00 +2.037916 OUTPUT "\r\n\r\nDEBUG:   83+     Invoke-Retrying  >>>> { Invoke-WebRequest -Uri $uri -OutFile $destination -UseBasicParsing }\r\n\r\nDEBUG:   83+     Invoke-Retrying {  >>>> Invoke-WebRequest -Uri $uri -OutFile $destination -UseBasicParsing }\r\n\r\n"
2026-11-10T10:49:24.554+00:00 +2.102234 SERVER {"request_t": 2.101699, "event": "request", "path": "/v1.2.3/SHA256SUMS", "endpoint": "sums", "attempt": 2, "status": 504, "behavior": 504, "accept": null}
2026-11-10T10:49:24.565+00:00 +2.113754 SERVER {"event": "body_complete", "endpoint": "sums", "bytes": 19}
2026-11-10T10:49:24.566+00:00 +2.113870 SERVER {"event": "request_handler_end", "endpoint": "sums"}
2026-11-10T10:49:24.584+00:00 +2.132563 OUTPUT "DEBUG:   77+     catch { if ( >>>> -not (Wait-Retry ([int]$_.Exception.Response.StatusCode) $attempt)) { throw } }\r\n\r\n"
2026-11-10T10:49:24.585+00:00 +2.133602 OUTPUT "DEBUG:   69+ function Wait-Retry([int] $status, [int] $attempt)  >>>> {\r\n\r\n"
2026-11-10T10:49:24.591+00:00 +2.138859 OUTPUT "DEBUG:   70+   if ( >>>> $attempt -ge 4 -or ($status -ge 400 -and $status -lt 500 -and $status -ne 408 -and $status -ne 429)) { return $false }\r\n\r\nDEBUG:   71+    >>>> Start-Sleep -Seconds ([Math]::Pow(2, $attempt - 1))\r\n\r\n"
2026-11-10T10:49:24.742+00:00 +2.290662 ACTION {"step": "write terminal Ctrl-C byte", "precondition": "backoff", "requests_observed": 2}
2026-11-10T10:49:24.744+00:00 +2.291976 OUTPUT "^C"
2026-11-10T10:49:24.759+00:00 +2.306901 OUTPUT "DEBUG:  132+ } finally {  >>>> [Console]::Error.WriteLine(\"CAPTURE_CALLER_FINALLY\") }\r\n\r\n"
2026-11-10T10:49:24.762+00:00 +2.310411 OUTPUT "CAPTURE_CALLER_FINALLY\r\n"
2026-11-10T10:49:24.876+00:00 +2.423914 SERVER_STATE_BEFORE_DRIVER_CLEANUP {"active_handlers": 0}
2026-11-10T10:49:24.877+00:00 +2.425724 RESULT {"exit_code": 0, "elapsed_seconds": 2.423828, "requests": 2, "interrupt_sent": true, "timeout": false, "state": {"marker": false, "files": [{"path": "home/.cache/powershell/StartupProfileData-NonInteractive", "bytes": 95856, "symlink": null}], "helper_outputs": [], "staging": [], "sidecars": [], "tracked_downloader_pids": [], "remaining_tracked_downloaders": []}, "symlink_executable_check": null}
