Skip to content

Define sshx agent execution contract and close E2E quality gaps - #34

Merged
jamiesun merged 1 commit into
mainfrom
codex/sshx-agent-execution-quality
Aug 12, 2026
Merged

Define sshx agent execution contract and close E2E quality gaps#34
jamiesun merged 1 commit into
mainfrom
codex/sshx-agent-execution-quality

Conversation

@jamiesun

Copy link
Copy Markdown
Contributor

Summary

  • reposition sshx as an agent-native remote host execution tool: SSH is the trusted channel and X is execution
  • define efficiency, security, product boundaries, future directions, and a mandatory capability acceptance matrix
  • add compiled-binary E2E coverage across real SSH/SFTP protocol boundaries for commands, JSON/exit codes, permissions, partial completion, host trust, dry-run, host import, SFTP, server-to-server transfer, keyring-backed sudo, and audit recovery
  • add Linux and macOS E2E CI, including an ephemeral macOS Keychain test for the production binary
  • add canonical make test-short and make test-e2e workflows

Fixes

  • correctly fall back to an explicitly supplied SSH password after public-key authentication is rejected
    • root cause: the previous code checked ssh.ServerAuthError, a server-side type that the real SSH client path does not return
    • the new E2E reproduces the real handshake and verifies both successful key authentication and password fallback
  • surface audit persistence failures at error log level while preserving a successful remote command result

Impact

Agents now have documented, test-enforced guarantees around target resolution, structured outcomes, authentication, trust, permissions, side effects, and recovery. Existing implemented top-level capabilities meet the acceptance floor; unimplemented multi-host execution and explainable governance remain explicitly marked as future work.

Validation

  • make check
  • go test -short -race ./...
  • make test-e2e
  • production binary against a temporary macOS Keychain with default/search-list restoration verified
  • make lint
  • actionlint .github/workflows/ci.yml
  • mdbook build
  • git diff --check

@jamiesun
jamiesun marked this pull request as ready for review August 12, 2026 04:35
@jamiesun
jamiesun merged commit a791f79 into main Aug 12, 2026
8 checks passed
@jamiesun
jamiesun deleted the codex/sshx-agent-execution-quality branch August 12, 2026 04:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant