## Summary - Add HTTP/2 keep-alive settings (`http2_keep_alive_interval`, `keep_alive_while_idle`, `keep_alive_timeout`, `connect_timeout`) to the sandbox gRPC client channel, matching what the CLI already uses - Wrap the `PushSandboxLogs` client-streaming RPC in an outer reconnect loop with exponential backoff (1s → 30s) so that server restarts, network blips, or idle connection reaping no longer permanently kill sandbox log delivery - Buffer up to 200 log lines during reconnect attempts so they are delivered after re-establishing the connection - Detect stream death proactively via an `rpc_done` channel instead of waiting for the next batch send to fail ## Problem The `PushSandboxLogs` RPC is a long-lived client-streaming call that stays open for the sandbox's entire lifetime. Without HTTP/2 keep-alive, Kubernetes service proxies reap idle TCP connections, causing a silent `"transport error"`. The push loop would then exit permanently with no retry — all subsequent sandbox-source logs were lost. Unary RPCs like `GetSandboxPolicy` were unaffected because they complete in milliseconds and never sit idle. ## Test Plan - Deployed to local cluster, verified `[sandbox]` logs appear in `nav sandbox logs` output - Killed `navigator-0` while sandboxes were running; sandbox stderr showed `log push stream lost, reconnecting...` followed by successful reconnection - Both `[gateway]` and `[sandbox]` log sources confirmed present after server recovery
Navigator 🗺️
Navigator is the runtime environment for autonomous agents—the "Matrix" where they live, work, and verify.
While coding tools like Claude help agents write logic, Navigator provides the infrastructure to run it, offering a programmable factory where agents can spin up physics simulations to master tasks, generate synthetic data to fix edge cases, and safely iterate through thousands of failures in isolated sandboxes.
It transforms the data center from a static deployment target into a continuous verification engine, allowing agents to autonomously build and operate complex systems—from physical robotics to self-healing infrastructure—without needing a human to manage the infrastructure.
Quickstart
Prerequisites
- Docker — Docker Desktop (or a Docker daemon) must be running.
- Python 3.12+ and uv
Install
uv pip install navigator --upgrade --pre --index-url https://urm.nvidia.com/artifactory/api/pypi/nv-shared-pypi/simple
The navigator binary is installed into your Python environment. Use uv run navigator to invoke it, or activate your venv first (source .venv/bin/activate).
Create a sandbox
uv run navigator sandbox create -- claude # or opencode or codex
The sandbox container includes a minimal networking toolset by default: ping, dig, nslookup, nc, traceroute, and netstat.
Developing
See CONTRIBUTING.md for building from source and contributing to Navigator.
Architecture
See architecture/ for detailed architecture docs and design decisions.