Skip to content

fix: forward Launchable base image - #433

Draft
sandl99 wants to merge 1 commit into
brevdev:mainfrom
sandl99:agent/forward-launchable-base-image
Draft

fix: forward Launchable base image#433
sandl99 wants to merge 1 commit into
brevdev:mainfrom
sandl99:agent/forward-launchable-base-image

Conversation

@sandl99

@sandl99 sandl99 commented Jul 30, 2026

Copy link
Copy Markdown

What

Forward createWorkspaceRequest.imageId from a Launchable response to the
workspace creation request as baseImage.

The regression coverage now checks both the populated
CreateWorkspacesOptions.BaseImage field and the serialized baseImage JSON
field.

Why

LaunchableWorkspaceRequest already deserializes the API's imageId, but
applyLaunchableWorkspaceRequest did not copy it into
CreateWorkspacesOptions.BaseImage. As a result, brev create --launchable
silently dropped a Launchable's custom VM image and the workspace could boot
from the default image instead.

This surfaced in the NemoClaw staging E2E when the workspace created
successfully but did not contain the image-baked
/etc/nemoclaw/provision.json receipt:

Validation

  • gofmt -d pkg/cmd/gpucreate/gpucreate.go pkg/cmd/gpucreate/gpucreate_test.go
  • go test ./pkg/cmd/gpucreate

Both ran with Go 1.25.

Manual follow-up after merge

This client fix is necessary but is not sufficient for the current NemoClaw
Launchable because its stored createWorkspaceRequest does not currently
contain an imageId.

  1. Release a Brev CLI version containing this change.

  2. In the Brev Console or Launchables API, create or update the standing
    NemoClaw staging Launchable so its createWorkspaceRequest.imageId is:

    projects/brevdevprod/global/images/family/nemoclaw-brev-staging-cpu
    
  3. Confirm through the Launchable configuration/API response that imageId
    is present. brev create --dry-run does not currently expose the selected
    image, so it is not sufficient for this check.

  4. Create a disposable workspace using the new CLI release and Launchable.
    Verify:

    • /etc/nemoclaw/provision.json exists.
    • /opt/nemoclaw-image/NemoClaw exists.
    • The provision receipt identifies the expected image/source revision.
    • The workspace is deleted after validation.
  5. Update the NemoClaw workflow's pinned Brev CLI version and SHA-256 checksum
    to the release containing this fix.

  6. Manually update the NemoClaw repository variable
    NEMOCLAW_STAGING_LAUNCHABLE_ID only after the replacement Launchable has
    passed the probe above.

  7. Dispatch the trusted full NemoClaw E2E and verify provisioning, checkout,
    test, and cleanup evidence.

This PR intentionally does not change NEMOCLAW_STAGING_LAUNCHABLE_ID.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant