nemo_gym.agents.utils
nemo_gym.agents.utils
Run harness processes inside task sandboxes under a shared supervisor.
The harness adapter installs its runtime, stages activation input, and parses harness output. SandboxSession uploads the supervisor, runs and stops the harness process, collects artifacts, and releases the sandbox. The supervisor client implements the shell protocol over session control files. All three run on the agent server.
Only process_supervisor.sh, harness_runner.sh and install_python_runtime.sh are copied
from this package into the task sandbox; they need bash, not Python. The supervisor
enforces deadlines, stops the harness process group and writes its termination receipt.
A forced stop also kills the harness’s descendants in other groups and processes that
inherited its marker; processes that had left the harness before the stop, and detached
processes after a natural exit, remain for the sandbox owner to stop. Core sandbox APIs
and providers live in nemo_gym.sandbox.
Submodules
nemo_gym.agents.utils.ordered_operationsnemo_gym.agents.utils.sandbox_networknemo_gym.agents.utils.sandbox_observationnemo_gym.agents.utils.sandbox_pythonnemo_gym.agents.utils.sandbox_sessionnemo_gym.agents.utils.supervisor_clientnemo_gym.agents.utils.task_timeoutnemo_gym.agents.utils.verify_call
Package Contents
Functions
API
The owner’s observation of one created sandbox, or None when there is no AsyncSandbox to observe.
outcome is sandbox_error only when every provider close failed; otherwise it stays unknown: a
confirmed teardown says nothing about the command or the grade. Cleanup failures stay listed after a retry,
with the first as error_type. Resource usage and remote lifetime are never estimated.