Skip to content

CLI: Update hypeman SDK to dbfca4d314b8de6004c75da801e233752d9d798b and add new commands/flags - #60

Open
kernel-internal[bot] wants to merge 3 commits into
mainfrom
cli-coverage-update
Open

CLI: Update hypeman SDK to dbfca4d314b8de6004c75da801e233752d9d798b and add new commands/flags#60
kernel-internal[bot] wants to merge 3 commits into
mainfrom
cli-coverage-update

Conversation

@kernel-internal

@kernel-internal kernel-internal Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

This PR updates the Hypeman Go SDK to dbfca4d314b8de6004c75da801e233752d9d798b and adds CLI commands/flags for new SDK methods.

SDK Update

  • Updated hypeman-go to dbfca4d314b8de6004c75da801e233752d9d798b (published as v0.23.0, which is the tag on that commit, so that is what go.mod pins)

Coverage Analysis

This PR was generated by performing a full enumeration of SDK methods and CLI commands.

Every method in the SDK's api.md was cross-checked against the command tree, and every *Params struct field (including nested param types such as AutoStandbyPolicyParam, HealthCheckParam, RestartPolicyParam, SnapshotPolicyParam, VolumeMountParam, IngressRuleParam, and the InstanceNewParams GPU/network/credential sub-structs) was cross-checked against the flags of its command. No endpoints are marked x-cli-skip: true in openapi.yaml, so all methods require CLI coverage.

Relative to the previously pinned SDK (3d2b0a5), this bump contains only a CI/release change and the release commit itself; the generated API surface is unchanged. The re-run of the enumeration against the full api.md found no remaining gaps, so this revision adds no new commands or flags on top of what the branch already carried.

New Commands

The following were added earlier on this branch for the Builders resource, which was the last new SDK surface:

  • hypeman builder create for client.Builders.New()
  • hypeman builder list for client.Builders.List()
  • hypeman builder get for client.Builders.Get()
  • hypeman builder delete for client.Builders.Delete()
  • hypeman builder prune for client.Builders.Prune()

New Flags

  • --id, --name, --disk-size, --tag on hypeman builder create for BuilderNewParams.ID, .Name, .DiskSizeGB, .Tags
  • --tag on hypeman builder list for BuilderListParams.Tags
  • --builder on hypeman build for BuildNewParams.BuilderID

Notes on earlier revisions of this branch

The builder commands and build --builder were originally written against the generic client.Get/Post/Delete request methods and params.SetExtraFields, because the generated SDK did not yet expose a BuilderService. The SDK now generates it, so those call sites use client.Builders.*, hypeman.BuilderNewParams, hypeman.BuilderListParams, and params.BuilderID, and the builder list table reads typed hypeman.Builder fields instead of parsing JSON.

One correctness fix came out of that migration: option.WithResponseBodyInto captures the raw response body but leaves the typed return value nil, so handlers that read fields off the response (builder create, builder prune) only request the raw body for the formats that render the response verbatim. This matches the existing pattern in fork.go.

Verified against the new SDK with go build ./..., go vet ./..., and go test ./... (all passing, including TestSubcommandsAreListedInHelp, which walks the whole command tree and guards against SDK surface that is wired up but unreachable from --help).

Triggered by: kernel/hypeman-go@dbfca4d
Reviewer: @sjmiller609


Note

Low Risk
Additive CLI and SDK bump; no auth or core build-path refactors beyond an optional builder ID flag.

Overview
Bumps hypeman-go to v0.23.0 and exposes the new Builders API in the CLI.

Adds hypeman builder with create, list, get, delete, and prune for persistent cache disks (tags, disk size, table/JSON output). hypeman build gains --builder / --builder-id so builds reuse a builder’s cache and serialize per builder.

create and prune only use WithResponseBodyInto when a non-auto --format is set, so default output can read typed SDK fields (e.g. print the new builder ID).

Reviewed by Cursor Bugbot for commit f20eba8. Bugbot is set up for automated code reviews on this repo. Configure here.

kernel-internal Bot and others added 2 commits August 6, 2026 00:55
The staging SDK (kernel/hypeman-go@3d2b0a55) adds a Builders resource
(POST/GET /builders, GET/DELETE /builders/{id}, POST /builders/{id}/prune)
and BuildNewParams.BuilderID, so builds can reuse a persistent cache disk.

That commit lives only in the private kernel/hypeman-go-staging repo and is
not resolvable as github.com/kernel/hypeman-go, so go.mod stays on
b0c2df62be94 (already the newest published revision). To ship the coverage
now, these commands call /builders through the client's generic request
methods and pass builder_id as a multipart extra field. Both are marked to
move to client.Builders.* and params.BuilderID once the SDK publishes.

A full enumeration of api.md against pkg/cmd/ found no other gaps.

Co-authored-by: Cursor <cursoragent@cursor.com>
The SDK now generates a BuilderService and a builder_id field on
BuildNewParams, so the builder commands no longer need to reach the
/builders endpoints through the client's generic request methods and
`build --builder` no longer needs to smuggle builder_id through extra
fields.

Requesting the raw response body leaves the typed result nil, so the
handlers that read fields off the response only ask for it in the
formats that render the response verbatim.

Co-authored-by: Cursor <cursoragent@cursor.com>
@kernel-internal kernel-internal Bot changed the title CLI: Add Builders commands and build --builder for new SDK surface CLI: Update hypeman SDK to 3d2b0a558b461ac7987d04c47f0df8456ff61141 and add new commands/flags Aug 6, 2026
Bumps github.com/kernel/hypeman-go to v0.23.0 (dbfca4d). A full enumeration
of api.md methods and their param structs against the CLI command tree found
no coverage gaps, so no command or flag changes are needed.

Co-authored-by: Cursor <cursoragent@cursor.com>
@kernel-internal kernel-internal Bot changed the title CLI: Update hypeman SDK to 3d2b0a558b461ac7987d04c47f0df8456ff61141 and add new commands/flags CLI: Update hypeman SDK to dbfca4d314b8de6004c75da801e233752d9d798b and add new commands/flags Aug 6, 2026
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.

0 participants