Problem
The current sandbox provisioning UX during nemoclaw sandbox create has several issues:
-
Raw Kubernetes events flash by on a single spinner line — events like Scheduled, Pulling, Pulled, Created, Started are shown as EVENT Reason Message text that replaces each other on the spinner. Users can't see the progression of steps.
-
No step-by-step checklist — unlike the cluster bootstrap flow (which has a nice ✓ checklist), sandbox provisioning is just a single Phase: Provisioning spinner.
-
No elapsed time — users have no indication of how long each step takes or whether things are stuck.
-
File upload after Ready is silent — when --upload is used, files are synced with no progress feedback.
-
"Connecting..." message is bare — no context about what kind of connection is being established.
-
Non-interactive mode is minimal — pipes/CI just see Phase: Provisioning / Phase: Ready with no step detail.
-
Timeout error lacks context — doesn't tell the user which step was stuck.
Proposed Solution
- Replace the single-line spinner with a step-based provisioning checklist that shows completed steps as
✓ Step (elapsed) lines
- Map K8s events to human-readable provisioning steps: Scheduled, Pulling image, Image pulled, Container created, Container started, Gateway ready, Sandbox ready
- Show elapsed time on the spinner and completed steps
- Add upload progress messages
- Improve non-interactive mode with timestamped step lines
- Include the stuck step name in timeout errors
Acceptance Criteria
Problem
The current sandbox provisioning UX during
nemoclaw sandbox createhas several issues:Raw Kubernetes events flash by on a single spinner line — events like
Scheduled,Pulling,Pulled,Created,Startedare shown asEVENT Reason Messagetext that replaces each other on the spinner. Users can't see the progression of steps.No step-by-step checklist — unlike the cluster bootstrap flow (which has a nice
✓checklist), sandbox provisioning is just a singlePhase: Provisioningspinner.No elapsed time — users have no indication of how long each step takes or whether things are stuck.
File upload after Ready is silent — when
--uploadis used, files are synced with no progress feedback."Connecting..." message is bare — no context about what kind of connection is being established.
Non-interactive mode is minimal — pipes/CI just see
Phase: Provisioning/Phase: Readywith no step detail.Timeout error lacks context — doesn't tell the user which step was stuck.
Proposed Solution
✓ Step (elapsed)linesAcceptance Criteria
✓marks and elapsed times