Skip to content

fix(ssh): preserve managed server ownership and install failures - #276

Merged
rynfar merged 4 commits into
pylonfrom
upstream/2026-09-05-ssh-runner
Sep 6, 2026
Merged

fix(ssh): preserve managed server ownership and install failures#276
rynfar merged 4 commits into
pylonfrom
upstream/2026-09-05-ssh-runner

Conversation

@rynfar

@rynfar rynfar commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator

SSH-managed servers launched through npm wrappers can have the wrong recorded PID, breaking graceful shutdown and leaving ports occupied. Exec the resolved CLI directly after installation, and preserve npm installation failures instead of misreporting them as missing build tools or running a path printed by a failed command.

Adopts upstream #9843 and #10088 as one runner-fix series. Pylon package selection, runtime home, and identity stay intact; the partial adoption is recorded in the ledger.

Validation: 33 runner/tunnel tests, SSH package typecheck, targeted lint and formatting pass. Real fixture processes verify PID ownership, graceful shutdown, port reuse, argument quoting, and npm/npx diagnostics. Unix process fixtures are skipped on Windows. No live environment was touched.

The durable implementation and review record is consolidated in companion #279.

Model: GPT-6 Astra. Harness: Codex.

@github-actions github-actions Bot added size:M vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. labels Sep 6, 2026
@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 13.6 KiB 13.8 KiB +149 B (+1.1%) 15.1 KiB
Codex Thread snapshot wire 7.1 KiB 7.1 KiB −4 B (−0.1%) 7.3 KiB
Codex Live turn WebSocket wire 6.5 KiB 6.7 KiB +153 B (+2.3%) 7.8 KiB
Codex Live turn WebSocket decoded 56.5 KiB 57.3 KiB +866 B (+1.5%) 66.4 KiB
Codex Live turn messages 8 9 +1 (+12.5%) 21
Claude Total thread wire 13.6 KiB 13.8 KiB +120 B (+0.9%) 15.1 KiB
Claude Thread snapshot wire 7.1 KiB 7.1 KiB −8 B (−0.1%) 7.3 KiB
Claude Live turn WebSocket wire 6.6 KiB 6.7 KiB +128 B (+1.9%) 7.8 KiB
Claude Live turn WebSocket decoded 57.3 KiB 58.2 KiB +884 B (+1.5%) 66.4 KiB
Claude Live turn messages 8 9 +1 (+12.5%) 21

Baseline: de8d090 · PR result: b20c9d6 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 111.2 KiB
  • Claude decoded thread snapshot: 111.9 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@rynfar
rynfar force-pushed the upstream/2026-09-05-ssh-runner branch from 6d866a6 to b20c9d6 Compare September 6, 2026 02:33
@github-actions github-actions Bot added size:S and removed size:M labels Sep 6, 2026
@rynfar
rynfar merged commit 9fe1c7a into pylon Sep 6, 2026
18 checks passed
@rynfar
rynfar deleted the upstream/2026-09-05-ssh-runner branch September 6, 2026 02:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants