-
Notifications
You must be signed in to change notification settings - Fork 3k
fix(sandbox): start a stopped container during probe-only recovery #8977
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
840f548
6243e8b
f269b7a
8699327
63fc6e1
ce7e50e
00b4780
014f5a4
b95b94b
331a8b4
6d5d315
ea10c18
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -1522,7 +1522,11 @@ A surviving server keeps its recorded endpoint and address pins while its policy | |
| ### `$$nemoclaw <name> recover` | ||
|
|
||
| Repair a stopped in-sandbox gateway and re-establish host-side forwards without opening an SSH session. | ||
| Use this after a direct sandbox container restart, a sandbox crash, or whenever `$$nemoclaw <name> status` reports the gateway is not running but the sandbox is alive. | ||
| Use this after a sandbox crash or whenever `$$nemoclaw <name> status` reports that the sandbox container or agent gateway is not running. | ||
|
|
||
| For a stopped, non-paused Docker-driver container, `recover` starts the existing container before it waits for OpenShell readiness. | ||
| It leaves a running or paused container unchanged. | ||
| If Docker cannot start the container, `recover` continues to the readiness check and reports the resulting failure. | ||
|
Comment on lines
+1527
to
+1529
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win Keep startup-error semantics consistent across the recovery guides. The three passages describe a Docker start error as a resulting failure. The intended contract is non-fatal. Recovery continues to readiness, and only a failed readiness result should be reported as a recovery failure.
📍 Affects 3 files
🤖 Prompt for AI Agents |
||
|
|
||
| `recover` waits up to 30 seconds to acquire the per-sandbox lifecycle lock. | ||
| After acquisition, it holds the lock until gateway recovery and forward repair finish. | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Document the changed
connect --probe-onlybehavior.This PR also starts eligible stopped, non-paused containers during
connect --probe-only. This section documents onlyrecover. The existing description at Line 152 says that probe-only waits and rechecks the sandbox, but it does not state the startup rule. Add the rule here or link to the canonicalconnect --probe-onlyreference.As per coding guidelines, “When code changes a user-visible surface, update the affected documentation.”
🤖 Prompt for AI Agents
Source: Coding guidelines