Skip to content

inspect's header names the host platform beside rows for a different one #178

Description

@avrabe

Reproduce

Install a layer for a platform other than the host (legitimate: building or
inspecting a Linux toolchain from a Mac), then varve inspect:

$ varve install --from ./layout --platform x86_64-unknown-linux-gnu
installed layer 2026.09.0 (counter 1) sha256:dd059f4f…

$ varve inspect
layer 2026.09.0 (rolling) realm 'this project's own trust root' sha256:dd059f4f…

4 payload(s): 4 DISPATCHED, 0 HELD  (platform aarch64-apple-darwin)

              KIND  NAME              VERSION  PLATFORM                  LAYER
  DISPATCHED  tool  wac               0.11.0   x86_64-unknown-linux-gnu  2026.09.0
  DISPATCHED  tool  wasm-tools        1.259.0  x86_64-unknown-linux-gnu  2026.09.0
  …

Why it reads wrong

(platform aarch64-apple-darwin) sits immediately after the DISPATCHED/HELD
counts, so it reads as "4 payloads dispatch on aarch64-apple-darwin" — which is
false; none of them do. In fact dispatch is decided by payload kind
(inspect.rs:124, k.is_dispatchable()), and the host is what the present
column is decided against (inspect.rs:82, documented on the field). Two
different things, printed adjacently, with the label attached to the wrong one.

Nothing is computed wrongly — the rows are right and PLATFORM per row is
right. It is the summary line that claims something it is not measuring.

Suggested shape

Either attach the host to the thing it actually qualifies:

4 payload(s): 4 DISPATCHED, 0 HELD
presence checked against aarch64-apple-darwin

…or, better, say the state out loud when it is unusual, because a store holding
only another platform's bytes is worth knowing:

4 payload(s): 4 DISPATCHED, 0 HELD — none present for this host
(installed for x86_64-unknown-linux-gnu; host is aarch64-apple-darwin)

Found while proving the pulseengine-wasm realm's layer assembles end to end
from a Mac.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions