2026-11-10T10:48:03.754+00:00 +0.042572 MANIFEST {"id": "P05", "case": "ascii-terminal-fallback", "side": "before", "sha": "bcee0f5d2872ba193c66ed9ba979bbe424f89ff9", "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/P05-ascii-terminal-fallback/before/observe.ps1", "env": {"HOME": "/tmp/lead-32913-r1/evidence-capture/runs-20261110T104757.726561Z/P05-ascii-terminal-fallback/before/home", "T3CODE_HOME": "/tmp/lead-32913-r1/evidence-capture/runs-20261110T104757.726561Z/P05-ascii-terminal-fallback/before/home/t3", "T3CODE_INSTALL_BIN_DIR": "/tmp/lead-32913-r1/evidence-capture/runs-20261110T104757.726561Z/P05-ascii-terminal-fallback/before/bin", "TMPDIR": "/tmp/lead-32913-r1/evidence-capture/runs-20261110T104757.726561Z/P05-ascii-terminal-fallback/before/tmp", "TMP": "/tmp/lead-32913-r1/evidence-capture/runs-20261110T104757.726561Z/P05-ascii-terminal-fallback/before/tmp", "TEMP": "/tmp/lead-32913-r1/evidence-capture/runs-20261110T104757.726561Z/P05-ascii-terminal-fallback/before/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/P05-ascii-terminal-fallback/before/transport.jsonl", "T3CODE_VERSION": "1.2.3", "T3CODE_RELEASE_BASE_URL": "http://127.0.0.1:43965", "PROCESSOR_ARCHITECTURE": "AMD64", "DOTNET_CLI_HOME": "/tmp/lead-32913-r1/evidence-capture/runs-20261110T104757.726561Z/P05-ascii-terminal-fallback/before/home", "POWERSHELL_TELEMETRY_OPTOUT": "1", "PATH": "/tmp/lead-32913-r1/evidence-capture/runs-20261110T104757.726561Z/P05-ascii-terminal-fallback/before/path", "CAPTURE_STAGING": "/tmp/lead-32913-r1/evidence-capture/runs-20261110T104757.726561Z/P05-ascii-terminal-fallback/before/helper-staging", "CAPTURE_URL": "http://127.0.0.1:43965/v1.2.3/t3-1.2.3-linux-x64.tar.gz", "CAPTURE_DEST": "/tmp/lead-32913-r1/evidence-capture/runs-20261110T104757.726561Z/P05-ascii-terminal-fallback/before/downloaded", "CAPTURE_SCRIPT": "/tmp/lead-32913-r1/evidence-capture/runs-20261110T104757.726561Z/P05-ascii-terminal-fallback/before/install.ps1"}, "original_source_sha256": "a4cb78b54d2a3d42c81b6144a26d9df0785cc702a4114d5d5955d85584f6e972", "executed_source_sha256": "b79e6e3140cc86f70a825704f15cf1727e1b95baf4ca5b6bec08f6c9d92aa7be", "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", "ASCII Console.Error writer to exercise exact glyph-based dispatch rejection"], "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:48:03.758+00:00 +0.047301 SPAWN {"pid": 613253, "pty": true, "stdin": "PTY"}
2026-11-10T10:48:04.016+00:00 +0.304650 OUTPUT "\u001b[?1h\u001b="
2026-11-10T10:48:04.350+00:00 +0.638564 OUTPUT "DEBUG:    2+  >>>> & $env:CAPTURE_SCRIPT\r\n\r\n"
2026-11-10T10:48:04.481+00:00 +0.769529 OUTPUT "DEBUG:    1+  >>>> $captureWriter=[IO.StreamWriter]::new([Console]::OpenStandardError(),[Text.Encoding]::ASCII)\r\n\r\n"
2026-11-10T10:48:04.497+00:00 +0.785905 OUTPUT "DEBUG:    2+  >>>> $captureWriter.AutoFlush=$true\r\n\r\n"
2026-11-10T10:48:04.504+00:00 +0.792850 OUTPUT "DEBUG:    3+  >>>> [Console]::SetError($captureWriter)\r\n\r\n"
2026-11-10T10:48:04.510+00:00 +0.798765 OUTPUT "DEBUG:   19+  >>>> $ErrorActionPreference = \"Stop\"\r\n\r\nDEBUG:   20+  >>>> [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12\r\n\r\nDEBUG:   22+  >>>> $repo = \"pingdotgg/t3code\"\r\n\r\nDEBUG:   23+  >>>> $baseUrl = if ($env:T3CODE_RELEASE_BASE_URL) { $env:T3CODE_RELEASE_BASE_URL.TrimEnd(\"/\") } else { \"http://127.0.0.1:43965/$repo/releases/download\" }\r\n\r\nDEBUG:   23+ $baseUrl = if ( >>>> $env:T3CODE_RELEASE_BASE_URL) { $env:T3CODE_RELEASE_BASE_URL.TrimEnd(\"/\") } else { \"http://127.0.0.1:43965/$repo/releases/download\" }\r\n\r\n"
2026-11-10T10:48:04.516+00:00 +0.804696 OUTPUT "DEBUG:   23+ $baseUrl = if ($env:T3CODE_RELEASE_BASE_URL) {  >>>> $env:T3CODE_RELEASE_BASE_URL.TrimEnd(\"/\") } else { \"http://127.0.0.1:43965/$repo/releases/download\" }\r\n\r\nDEBUG:   24+  >>>> $t3Home = if ($env:T3CODE_HOME) { $env:T3CODE_HOME } else { Join-Path $HOME \".t3\" }\r\n\r\nDEBUG:   24+ $t3Home = if ( >>>> $env:T3CODE_HOME) { $env:T3CODE_HOME } else { Join-Path $HOME \".t3\" }\r\n\r\nDEBUG:   24+ $t3Home = if ($env:T3CODE_HOME) {  >>>> $env:T3CODE_HOME } else { Join-Path $HOME \".t3\" }\r\n\r\nDEBUG:   25+  >>>> $binDir = if ($env:T3CODE_INSTALL_BIN_DIR) { $env:T3CODE_INSTALL_BIN_DIR } else { Join-Path $HOME \".local\\bin\" }\r\n\r\nDEBUG:   25+ $binDir = if ( >>>> $env:T3CODE_INSTALL_BIN_DIR) { $env:T3CODE_INSTALL_BIN_DIR } else { Join-Path $HOME \".local\\bin\" }\r\n\r\nDEBUG:   25+ $binDir = if ($env:T3CODE_INSTALL_BIN_DIR) {  >>>> $env:T3CODE_INSTALL_BIN_DIR } else { Join-Path $HOME \".local\\bin\" }\r\n\r\nDEBUG:   27+  >>>> $binDir = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath($binDir)\r\n\r\n"
2026-11-10T10:48:04.520+00:00 +0.808521 OUTPUT "DEBUG:   34+  >>>> $terminal = -not [Console]::IsErrorRedirected -and $env:TERM -ne \"dumb\"\r\n\r\n"
2026-11-10T10:48:04.529+00:00 +0.818080 OUTPUT "DEBUG:   35+  >>>> $interactive = $terminal -and $Host.UI.SupportsVirtualTerminal\r\n\r\n"
2026-11-10T10:48:04.533+00:00 +0.822466 OUTPUT "DEBUG:   36+ if ( >>>> $interactive) {\r\n\r\nDEBUG:   38+    >>>> $glyphs = -join [char[]](0x2588, 0x2580, 0x2584, 0x25A0, 0x00B7)\r\n\r\n"
2026-11-10T10:48:04.534+00:00 +0.822856 OUTPUT "DEBUG:   39+    >>>> $encoding = [Console]::Error.Encoding"
2026-11-10T10:48:04.534+00:00 +0.822928 OUTPUT "\r\n"
2026-11-10T10:48:04.534+00:00 +0.822985 OUTPUT "\r\n"
2026-11-10T10:48:04.535+00:00 +0.824182 OUTPUT "DEBUG:   40+    >>>> $interactive = $encoding.GetString($encoding.GetBytes($glyphs)) -eq $glyphs"
2026-11-10T10:48:04.535+00:00 +0.824244 OUTPUT "\r\n"
2026-11-10T10:48:04.535+00:00 +0.824288 OUTPUT "\r\n"
2026-11-10T10:48:04.540+00:00 +0.828667 OUTPUT "DEBUG:   42+  >>>> $esc = [char]27"
2026-11-10T10:48:04.540+00:00 +0.828877 OUTPUT "\r\n"
2026-11-10T10:48:04.540+00:00 +0.828978 OUTPUT "\r\n"
2026-11-10T10:48:04.541+00:00 +0.829861 OUTPUT "DEBUG:   43+  >>>> $reset = $bold = $muted = $accent = $green = \"\""
2026-11-10T10:48:04.541+00:00 +0.829932 OUTPUT "\r\n"
2026-11-10T10:48:04.541+00:00 +0.830013 OUTPUT "\r\n"
2026-11-10T10:48:04.541+00:00 +0.830122 OUTPUT "DEBUG:   43+ $reset =  >>>> $bold = $muted = $accent = $green = \"\""
2026-11-10T10:48:04.541+00:00 +0.830147 OUTPUT "\r\n"
2026-11-10T10:48:04.541+00:00 +0.830187 OUTPUT "\r\n"
2026-11-10T10:48:04.541+00:00 +0.830223 OUTPUT "DEBUG:   43+ $reset = $bold =  >>>> $muted = $accent = $green = \"\""
2026-11-10T10:48:04.541+00:00 +0.830241 OUTPUT "\r\n"
2026-11-10T10:48:04.541+00:00 +0.830276 OUTPUT "\r\n"
2026-11-10T10:48:04.541+00:00 +0.830302 OUTPUT "DEBUG:   43+ $reset = $bold = $muted =  >>>> $accent = $green = \"\""
2026-11-10T10:48:04.541+00:00 +0.830319 OUTPUT "\r\n"
2026-11-10T10:48:04.541+00:00 +0.830352 OUTPUT "\r\n"
2026-11-10T10:48:04.541+00:00 +0.830387 OUTPUT "DEBUG:   43+ $reset = $bold = $muted = $accent =  >>>> $green = \"\""
2026-11-10T10:48:04.541+00:00 +0.830422 OUTPUT "\r\n"
2026-11-10T10:48:04.541+00:00 +0.830448 OUTPUT "\r\n"
2026-11-10T10:48:04.542+00:00 +0.830527 OUTPUT "DEBUG:   44+ if ( >>>> $interactive -and -not $env:NO_COLOR) {"
2026-11-10T10:48:04.542+00:00 +0.830570 OUTPUT "\r\n"
2026-11-10T10:48:04.542+00:00 +0.830603 OUTPUT "\r\n"
2026-11-10T10:48:04.542+00:00 +0.830775 OUTPUT "DEBUG:  105+  >>>> [Console]::Error.WriteLine(\"CAPTURE_DISPATCH terminal=$terminal interactive=$interactive mechanism=W encoding=$([Console]::Error.Encoding.WebName)\")"
2026-11-10T10:48:04.542+00:00 +0.830842 OUTPUT "\r\n"
2026-11-10T10:48:04.542+00:00 +0.831035 OUTPUT "\r\n"
2026-11-10T10:48:04.543+00:00 +0.832181 OUTPUT "DEBUG:  105+ [Console]::Error.WriteLine(\"CAPTURE_DISPATCH terminal=$terminal interactive=$interactive mechanism=W encoding=$( >>>> [Console]::Error.Encoding.WebName)\")"
2026-11-10T10:48:04.543+00:00 +0.832258 OUTPUT "\r\n"
2026-11-10T10:48:04.543+00:00 +0.832304 OUTPUT "\r\n"
2026-11-10T10:48:04.548+00:00 +0.836741 OUTPUT "CAPTURE_DISPATCH terminal=True interactive=False mechanism=W encoding=us-ascii"
2026-11-10T10:48:04.548+00:00 +0.836901 OUTPUT "\r\n"
2026-11-10T10:48:04.548+00:00 +0.837229 OUTPUT "DEBUG:  107+  >>>> Fetch $env:CAPTURE_URL $env:CAPTURE_DEST -progress"
2026-11-10T10:48:04.548+00:00 +0.837283 OUTPUT "\r\n"
2026-11-10T10:48:04.548+00:00 +0.837332 OUTPUT "\r\n"
2026-11-10T10:48:04.558+00:00 +0.847441 OUTPUT "DEBUG:   70+ function Fetch([string] $uri, [string] $destination, [switch] $progress)  >>>> {"
2026-11-10T10:48:04.559+00:00 +0.847631 OUTPUT "\r\n"
2026-11-10T10:48:04.559+00:00 +0.847765 OUTPUT "\r\n"
2026-11-10T10:48:04.561+00:00 +0.849662 OUTPUT "DEBUG:   71+   if ( >>>> -not $progress -or -not $interactive) {\r\n\r\nDEBUG:   72+      >>>> $ProgressPreference = if ($progress -and $terminal) { \"Continue\" } else { \"SilentlyContinue\" }"
2026-11-10T10:48:04.561+00:00 +0.849789 OUTPUT "\r\n"
2026-11-10T10:48:04.561+00:00 +0.849848 OUTPUT "\r\n"
2026-11-10T10:48:04.561+00:00 +0.849979 OUTPUT "DEBUG:   72+     $ProgressPreference = if ( >>>> $progress -and $terminal) { \"Continue\" } else { \"SilentlyContinue\" }"
2026-11-10T10:48:04.561+00:00 +0.850020 OUTPUT "\r\n"
2026-11-10T10:48:04.561+00:00 +0.850049 OUTPUT "\r\n"
2026-11-10T10:48:04.562+00:00 +0.851070 OUTPUT "DEBUG:   72+     $ProgressPreference = if ($progress -and $terminal) {  >>>> \"Continue\" } else { \"SilentlyContinue\" }"
2026-11-10T10:48:04.562+00:00 +0.851134 OUTPUT "\r\n"
2026-11-10T10:48:04.562+00:00 +0.851173 OUTPUT "\r\n"
2026-11-10T10:48:04.562+00:00 +0.851282 OUTPUT "DEBUG:   73+      >>>> Invoke-WebRequest -Uri $uri -OutFile $destination -UseBasicParsing"
2026-11-10T10:48:04.562+00:00 +0.851311 OUTPUT "\r\n"
2026-11-10T10:48:04.562+00:00 +0.851339 OUTPUT "\r\n"
2026-11-10T10:48:04.791+00:00 +1.079514 SERVER {"request_t": 1.07767, "event": "request", "path": "/v1.2.3/t3-1.2.3-linux-x64.tar.gz", "endpoint": "archive", "attempt": 1, "status": 504, "behavior": 504, "accept": null}
2026-11-10T10:48:04.791+00:00 +1.079775 SERVER {"event": "body_complete", "endpoint": "archive", "bytes": 19}
2026-11-10T10:48:04.791+00:00 +1.079817 SERVER {"event": "request_handler_end", "endpoint": "archive"}
2026-11-10T10:48:04.805+00:00 +1.093573 OUTPUT "\u001b[6n"
2026-11-10T10:48:04.805+00:00 +1.093715 TERMINAL_REPLY {"query": "DSR cursor position", "reply": "row1 column1", "count": 1}
2026-11-10T10:48:04.805+00:00 +1.094196 OUTPUT "\u001b[?25l"
2026-11-10T10:48:04.805+00:00 +1.094425 OUTPUT "\u001b[6n"
2026-11-10T10:48:04.805+00:00 +1.094473 TERMINAL_REPLY {"query": "DSR cursor position", "reply": "row1 column1", "count": 1}
2026-11-10T10:48:04.809+00:00 +1.097526 OUTPUT "\u001b[33;1mReading web response stream [\u001b[7m\u001b[27mDownloaded: 0 Bytes of 19 Bytes                                                         ]\u001b[0m\u001b[1;1H\u001b[?12l\u001b[?25h\u001b[1;1H                                                                                                                        \u001b[1;1H"
2026-11-10T10:48:04.919+00:00 +1.207699 OUTPUT "DEBUG:  112+    >>>> [Console]::Error.WriteLine(\"EXCEPTION_TYPE=$($_.Exception.GetType().FullName)\")\r\n\r\nDEBUG:  112+   [Console]::Error.WriteLine(\"EXCEPTION_TYPE=$( >>>> $_.Exception.GetType().FullName)\")\r\n\r\n"
2026-11-10T10:48:04.926+00:00 +1.215512 OUTPUT "EXCEPTION_TYPE=Microsoft.PowerShell.Commands.HttpResponseException\r\nDEBUG:  113+    >>>> [Console]::Error.WriteLine(\"ORIGINAL_STATUS=$([int]$_.Exception.Response.StatusCode)\")\r\n\r\nDEBUG:  113+   [Console]::Error.WriteLine(\"ORIGINAL_STATUS=$( >>>> [int]$_.Exception.Response.StatusCode)\")\r\n\r\n"
2026-11-10T10:48:04.928+00:00 +1.217367 OUTPUT "ORIGINAL_STATUS=504\r\n"
2026-11-10T10:48:04.929+00:00 +1.217515 OUTPUT "DEBUG:  114+    >>>> [Console]::Error.WriteLine(\"STATUS_VALUE=$($_.Exception.Response.StatusCode.value__)\")\r\n\r\nDEBUG:  114+   [Console]::Error.WriteLine(\"STATUS_VALUE=$( >>>> $_.Exception.Response.StatusCode.value__)\")\r\n\r\n"
2026-11-10T10:48:04.931+00:00 +1.219523 OUTPUT "STATUS_VALUE=504\r\n"
2026-11-10T10:48:04.931+00:00 +1.219647 OUTPUT "DEBUG:  115+    >>>> [Console]::Error.WriteLine(\"EXCEPTION=$($_.Exception.Message)\")\r\n\r\nDEBUG:  115+   [Console]::Error.WriteLine(\"EXCEPTION=$( >>>> $_.Exception.Message)\")\r\n\r\n"
2026-11-10T10:48:04.935+00:00 +1.223550 OUTPUT "EXCEPTION=Response status code does not indicate success: 504 (Gateway Timeout).\r\nDEBUG:  116+    >>>> throw\r\n\r\nDEBUG:  117+ } finally {  >>>> [Console]::Error.WriteLine(\"CAPTURE_CALLER_FINALLY\") }\r\n\r\nCAPTURE_CALLER_FINALLY\r\n"
2026-11-10T10:48:05.063+00:00 +1.351666 OUTPUT "Invoke-WebRequest: /tmp/lead-32913-r1/evidence-capture/runs-20261110T104757.726561Z/P05-ascii-terminal-fallback/before/install.ps1:73\r\nLine |\r\n  73 |      Invoke-WebRequest -Uri $uri -OutFile $destination -UseBasicParsin …\r\n     |      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n     | synthetic HTTP 504 \r\n"
2026-11-10T10:48:05.247+00:00 +1.535704 SERVER_STATE_BEFORE_DRIVER_CLEANUP {"active_handlers": 0}
2026-11-10T10:48:05.248+00:00 +1.537301 RESULT {"exit_code": 1, "elapsed_seconds": 1.535659, "requests": 1, "interrupt_sent": false, "timeout": false, "state": {"marker": false, "files": [{"path": "home/.cache/powershell/StartupProfileData-NonInteractive", "bytes": 100936, "symlink": null}], "helper_outputs": [], "staging": [], "sidecars": [], "tracked_downloader_pids": [], "remaining_tracked_downloaders": []}, "symlink_executable_check": null}
