Repository navigation
feat(sandbox): adopt env guest service redesign - #3148
Merged
Merged
Conversation
thomasbarrett
marked this pull request as draft
October 10, 2026 19:09
Contributor
|
Hey, are you going to finish this PR, I'm interested in moving the service forward |
moezdil
reviewed
Oct 15, 2026
| ProcessID string `json:"process_id"` | ||
| Status string `json:"status"` | ||
| State string `json:"state"` | ||
| ExitCode int32 `json:"exit_code"` |
Contributor
There was a problem hiding this comment.
exit_code 0 here reads as success while still running
Contributor
Author
Blah, sorry @EItanya, haven't had a chance to test this super thoroughly. Will have some time this weekend, but I wouldn't be offended if you pushed ur own upgrade first |
Upgrade agent-substrate/env to 0d359ea and adapt the guest transport, Go client, CLI, MCP tools, vendored schema, and generated TypeScript. Report process state using RUNNING/EXITED and omit MCP exit_code until exit. Require update permission when ReadFile mode can create a file. Keep stdin forwarding disabled and preserve signal delivery semantics. Rebase Thomas Barrett's original work onto current main, retaining the newer MCP file handling, API packages, and lifecycle coverage. Add regressions for exit reporting, SIGKILL, stdin denial, and file access. BREAKING CHANGE: existing sandboxes must be deleted before upgrading. The guest wire contract changes; process status becomes state, and kill acknowledges SIGKILL delivery rather than waiting for an exit code. Co-authored-by: Thomas Barrett <thomas@fluidstack.io> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Signed-off-by: Eitan Yarmush <eitan.yarmush@solo.io>
EItanya
force-pushed
the
feat/env-guest-redesign
branch
from
October 20, 2026 21:45
34ea9b7 to
92d4072
Compare
EItanya
marked this pull request as ready for review
October 21, 2026 23:02
EItanya
approved these changes
Oct 21, 2026
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.
Moves
agent-substrate/envto0d359eaand updates the sandbox gRPC API, Go client, CLI, MCP tools, and generated schema to match the redesigned guest services.MCP process responses now omit
exit_codewhile running and include it after exit, including0for success.ReadFilerequests with a nonzero mode require update permission because the guest can create a missing file. Stdin forwarding remains disabled.Breaking changes:
state(PROCESS_STATE_RUNNINGorPROCESS_STATE_EXITED) instead ofstatus.kill_sandbox_processandkagent sandbox killacknowledge SIGKILL delivery. Useget_sandbox_processorkagent sandbox waitfor the exit code.SignalProcessreplacesKillProcess;StreamProcessOutputreplacesStreamProcessOutputs. CLI JSON output records usesource: "stdout"or"stderr".Validation: focused Go tests with the real guest and PostgreSQL, race tests for the CLI/MCP/sandbox service/guest, Go lint, protobuf lint/generation/compatibility, and E2E compilation. Added coverage for MCP exit reporting, CLI kill/wait, stream exit messages, file authorization, and rejected stdin forwarding. Full cluster E2E remains for CI.