Skip to content

Ship the Runtime

Shipping Harmos means proving the same contracts under the feature set the consumer application will actually compile.

The base crate enables no artifact runtime by default:

harmos = { version = "0.2" }
harmos = { version = "0.2", features = ["sidecar"] }
harmos = { version = "0.2", features = ["guest"] }

Do not enable both unless the application installs both kinds.

Terminal window
mise run check
mise run test:default
mise run test:rust
mise run test:examples
mise run build:rustdoc:release
mise run build:docs:release

mise run check formats, lints with warnings denied, and checks every target. test:default proves the empty default feature set. test:rust exercises all features. The example task executes the normal application, direct guest, and direct sidecar paths.

Performance tasks are recorded measurements rather than timing gates:

Terminal window
mise run bench:streams
mise run bench:sidecar
mise run bench:series
mise run bench:sim:determinism

The sidecar measurement reports sample count, protobuf payload MiB/s, latency, and sequence gaps across the gRPC batching path.

Ship one executable for a sidecar and one component .wasm for a guest. Before activation:

  1. Verify file provenance and integrity using the application's installation policy.
  2. Read the embedded declaration without executing the artifact.
  3. Resolve all declarations through harmos::load::Plan.
  4. Activate in dependency-first order.

Static metadata prevents discovery from requiring execution. It does not make native code safe; run sidecars under OS policy appropriate to the application.

Always test a second boot with artifact files absent. Application history and state must recover through application catalogs alone. Artifact unavailability may remove future functionality, but it must never make past accepted application changes unreadable.

Stokker Technologies markDesigned and built by Stokker Technologies