Agent Diagnostic
Loaded explore skill to trace the code path. Found that TUI directly passes user input to the gRPC request without the same resolution logic that CLI uses.
CLI code path (crates/openshell-cli/src/run.rs:2479-2535):
resolve_from("base") → resolves to ghcr.io/nvidia/openshell-community/sandboxes/base:latest
TUI code path (crates/openshell-tui/src/lib.rs:1275-1283):
- Directly uses user input string (
form.image) as-is, no transformation
Description
Actual behavior: In openshell term, when entering "base" in the Image field and creating a sandbox, the TUI passes "base" directly to the server without resolving it to a full image reference.
Expected behavior: TUI should resolve community image names the same way CLI does, transforming "base" into ghcr.io/nvidia/openshell-community/sandboxes/base:latest.
Reproduction Steps
- Run
openshell term
- Press
c to create a sandbox
- Enter "base" in the Image field
- Complete the create process
- Observe that the sandbox creation fails because Kubernetes tries to pull an image named "base" instead of the full reference
Environment
- macOS (Darwin)
- Docker Desktop
- OpenShell latest
Additional Context
This was discovered while debugging why sandbox creation from TUI failed with ImagePullBackOff while the same workflow succeeded via CLI. The root cause is that TUI lacks the resolve_from() logic that CLI has.
Agent Diagnostic
Loaded
exploreskill to trace the code path. Found that TUI directly passes user input to the gRPC request without the same resolution logic that CLI uses.CLI code path (
crates/openshell-cli/src/run.rs:2479-2535):resolve_from("base")→ resolves toghcr.io/nvidia/openshell-community/sandboxes/base:latestTUI code path (
crates/openshell-tui/src/lib.rs:1275-1283):form.image) as-is, no transformationDescription
Actual behavior: In
openshell term, when entering "base" in the Image field and creating a sandbox, the TUI passes "base" directly to the server without resolving it to a full image reference.Expected behavior: TUI should resolve community image names the same way CLI does, transforming "base" into
ghcr.io/nvidia/openshell-community/sandboxes/base:latest.Reproduction Steps
openshell termcto create a sandboxEnvironment
Additional Context
This was discovered while debugging why sandbox creation from TUI failed with
ImagePullBackOffwhile the same workflow succeeded via CLI. The root cause is that TUI lacks theresolve_from()logic that CLI has.