Repository navigation
Add live SSM tests and upgrade SSM to 0.0.3 - #62
Merged
Merged
Conversation
joehoyle
marked this pull request as ready for review
October 14, 2026 11:38
ferschubert-hm
approved these changes
Oct 14, 2026
ferschubert-hm
left a comment
Contributor
There was a problem hiding this comment.
Tested locally with a test stack, looks good. Tests passed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
SSM sessions can appear to work while corrupting Unicode input/output or stalling during file transfers. Add an opt-in
npm run test:live:ssm -- --app <app>harness and upgrade@humanmade/ssmto the published npm release^0.0.3, containing the protocol fixes from humanmade/ssm#3. The lockfile resolves the registry tarball with its verified integrity hash.The harness exercises real Vantage-created SSM sessions and the CLI’s actual SCP command: ASCII and split UTF-8 output, fragmented interactive input, exact large output, resizing, remote exit status, idle keepalive, empty/binary/1 MiB file round trips, concurrent and repeated sessions, and remote exit. It requires an explicit app and existing login, uses only unique temporary directories, applies timeouts, attempts cleanup on failure/interruption, and reports failures with non-zero exit status. Dry-run mode needs no authentication or network access. Optional JSON reports omit raw session output and credentials.
--keep-goingretains assertion failures while continuing on a healthy channel.This script is separate from unit tests and CI. Deterministic packet loss and KMS negotiation are outside the live harness.
Validation:
platform-testwith npm@humanmade/ssm@0.0.3passed all 13 checks, including SHA-256-verified uploads and byte-for-byte downloads; cleanup confirmed.0.0.1failed UTF-8 output and fragmented non-ASCII input. It passed large ASCII output, resizing, exit-status handling, idle keepalive, and the empty SCP round trip. The 513-byte SCP check timed out, so later checks did not run. Cleanup was subsequently confirmed using the restored PR client.