Skip to content

Consumption-contract alignment: publish gale's verified components as cosign-signed OCI (like relay's falcon-flight)? #223

Description

@avrabe

Consumption-contract alignment: publish gale's verified components as cosign-signed OCI (like relay's falcon-flight)?

We're pinning the flight-component consumption contract on the jess side right now (jess#167, recorded as jess DD-026), and there's a delivery-mechanism mismatch worth aligning while it's open — a RECORD item, not a build-ahead ask (jess is still #369/float-gated, not ready to bind).

Context

  • relay now publishes falcon-flight as a cosign-signed OCI component on ghcr + wasm.directory (ghcr.io/pulseengine/falcon-flight:1.128.0). The agreed contract: relay ships fine-grained Level-1 verified stream components as OCI; jess pulls them, meld_fuses per core, lowers (loom → synth per-ISA → gale-link), and sigil-signs the flashable set.
  • On jess's side of that contract, gale is a co-supplier of what jess fuses per core:
    • F100 failsafe = gale's VER-OS-HM-001 health-monitor / failsafe FSM (great that v0.5.0 cut it verified) — DD-026 has the F100 failsafe running the gale-verified FSM, not a parallel wasm one.
    • all cores = the gale-nano runtime substrate: gust:os seam, the Verus-proven executor, msgq/mutex/sem.

The mismatch

gale v0.5.0 ships these as release tarball assets (gale-wasm-msgq-*.o/.wasm/.wat + cosign SHA256SUMS), not OCI. So jess's per-core meld_fuse would pull relay from ghcr-OCI and gale from a release tarball — two acquisition paths in one build.

Relatedly (from a jess consumption probe last week): gale-wasm-msgq-v0.5.0-cortex-m4f.o still imports a ~9-symbol scheduler seam (k_spin_lock/unlock, z_ready_thread, z_reschedule, z_unpend_first_thread, gale_w_msgq_pend/thread_swap_data/memcpy, arch_thread_return_value_set) that isn't a standalone release asset — so the primitive isn't independently link+run-able; consuming it means linking the fused gale-nano core.

The ask (align delivery, don't build ahead)

Would gale publish its verified consumable components — the HM/failsafe FSM, gust:os, the sync primitives, and ideally the fused gale-nano runtime subset — as cosign-signed OCI wasm components (same shape as falcon-flight)? That would let jess's per-core fusion pull all three cores' inputs uniformly (one OCI acquisition + cosign-verify path), and an OCI-published component (self-contained wasm) sidesteps the standalone-.o-seam problem — jess meld_fuses a component, not a bag of objects with an unshipped kernel seam.

No urgency (we're float-gated), but the consumption contract is being nailed down now on jess#167/DD-026, so aligning gale's next cut to OCI while the shape is fresh avoids a second migration later. Refs: jess#167, jess DD-026, gale#65.

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