Skip to content

Entry-point contract gap: meld-fused wasi:cli command components have no entry kilnd discovers #480

Description

@avrabe

Repro (all tools from varve layer 2026.08.1)

  1. scry-3.2.4-wasm32-wasip2.wasm (cosign-verified from pulseengine/scry) is a wasi:cli command component.
  2. kilnd --wasi --wasi-version preview2 --component scry.wasm correctly refuses: "kiln runs core modules; lower it first with meld fuse (RFC build(deps): bump wast from 228.0.0 to 229.0.0 #46)" — good error.
  3. meld fuse scry.wasm -o scry.core.wasm → "Fusion complete!"
  4. kilnd --wasi --wasi-version preview2 scry.core.wasm --wasi-arg --version"[ERROR] No entry point found (_start or P3 fused entries)" / E07DA — the fused module carries cabi_realloc/wasi internals but no _start and no P3 entry kilnd's discovery matches.

So the RFC #46 path (component → meld fuse → kilnd) breaks specifically for wasi:cli command components: the wasi:cli/run export doesn't become an entry kilnd finds. Either meld should synthesize a _start trampoline onto wasi:cli/run when fusing a command component, or kilnd's entry discovery should recognize the fused form of run. Cross-tool contract — filing here since kilnd owns entry discovery; meld may be the right place for the fix.

Context: varve wants scry (wasm-only) in toolchain layers, dispatched via the layer's own kilnd — blocked on exactly this.

🤖 Filed per report-tool-friction from the varve layer-composition work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions