kamaji 0.8.16

Kamaji — yah's relocatable workload supervisor. Trait surface + supporting types; backend impls land in R484-T2. See .yah/docs/working/W199-kamaji-universal-supervisor.md.
Documentation

Kamaji — yah's relocatable workload-supervisor primitive.

This crate is the public surface of Kamaji (per W199): the trait one caller hand-rolls against (Kamaji), the typed inputs/outputs it exchanges with the runtime backend, and the Backend enum tagging which concrete backend a given Kamaji instance is driving.

Two deployment shapes

Per W199 §The move, the same trait is used in both shapes:

  • Inlined — the caller holds Arc<dyn Kamaji> directly. Used by the desktop app where Kamaji shares the Tauri process tree.
  • Sibling — the caller holds a ConstableClient that speaks the W154 postcard-over-UDS protocol to a separate kamaji.service process. Used by yubaba on cluster hosts.

T1 only ships the public surface; the inlined / sibling constructors and the backend impls land in R484-T2 / T4 / T5.

Package naming

Package is kamaji-core (not kamaji) because app/yah/kamaji already claims the kamaji workspace package name. Once R484-T5 rewires that binary to depend on this crate, a follow-up may rename one of them. The crate path (crates/yah/kamaji/) matches the W199 plan.

@arch:see(.yah/docs/working/W199-kamaji-universal-supervisor.md) @arch:see(.yah/docs/working/W154-yubaba-dual-runtime.md)