Skip to content

Commit 22fb505

Browse files
Use direct remote command for smoke SSH probes
1 parent eb7e6a9 commit 22fb505

2 files changed

Lines changed: 4 additions & 2 deletions

File tree

docs/exec-plans/active/EP-001-portable-coder-foundation-and-multi-provider-mvp.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ Initial user target providers/tools:
4646
- [x] (2026-02-20) Make Windows smoke SSH probe tolerate transient native-command connection errors during VM boot
4747
- [x] (2026-02-20) Increase VM SSH readiness timeouts and diagnostics for slow first-boot cloud images
4848
- [x] (2026-02-20) Fix Windows smoke SSH probe command invocation so readiness check validates `echo vm-ready` output correctly
49+
- [x] (2026-02-20) Update Windows smoke SSH probe to pass remote commands directly (avoids PowerShell stdin encoding edge cases)
4950
- [ ] (2026-02-18) Document setup/runbook and close out EP-001
5051

5152
## Context and Orientation
@@ -127,6 +128,7 @@ Acceptance criteria for EP-001:
127128
- 2026-02-20: On some PowerShell environments, transient `ssh` connection failures surfaced as exceptions; smoke probing must retry instead of aborting early.
128129
- 2026-02-20: First boot SSH readiness on some hosts can exceed 120 seconds, so timeout windows need to be configurable and longer by default.
129130
- 2026-02-20: Passing `ssh ... bash -lc <script>` as split args can drop expected output semantics; piping script content to `bash -s` is safer for deterministic probing.
131+
- 2026-02-20: Piping probe scripts into native `ssh` from Windows PowerShell can hit stdin encoding edge cases; direct remote command args are more reliable.
130132

131133
## Decision Log
132134
- 2026-02-18: Adopt harness-first planning model before implementation.

scripts/runtime/windows/smoke-check.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,11 @@ function Invoke-Ssh {
6666
'-o', 'UserKnownHostsFile=NUL',
6767
'-o', 'ConnectTimeout=5',
6868
"$SshUser@127.0.0.1",
69-
'bash', '-s'
69+
$Script
7070
)
7171

7272
try {
73-
$output = $Script | & $SshExe @args 2>&1
73+
$output = & $SshExe @args 2>&1
7474
return @{
7575
status = $LASTEXITCODE
7676
output = [string]::Join("`n", $output)

0 commit comments

Comments
 (0)