Typed contract
A WIT world makes the component’s inputs, outputs, and composition seam inspectable before execution.
Kraton VMC / Verified Micro-Capability
A Kraton VMC is a WebAssembly Component plus the conditions under which its bytes are accepted: a typed contract, a declared boundary, and an accountable identity.
The local demo cache has this shape today. OCI distribution with Cosign verification remains the production target.
Bundle anatomy
A WIT world makes the component’s inputs, outputs, and composition seam inspectable before execution.
A VMC does not inherit files, sockets, host time, or randomness merely because it was loaded. Its metadata must name each allowed capability.
The bundle manifest digests both code and metadata. Changing an allowlist or metering tier changes the signed object.
A signature says who stood behind one exact bundle. The owner still decides which verifier keys to trust.
What the signature binds
component.wasm ──┐
├──► bundle.json (layer digests) ──► payload.json ──► component.sig
metadata.json ───┘
host-local after verification:
component.cwasm / component.epoch.cwasmThe manifest names each layer by digest, so a signature over the manifest also covers the component and its capability metadata. The AOT files are a host-local cache, rebuilt when compatibility changes.
A real seam
package wasmbrick:demo@0.1.0;
interface scheduling {
record interval { start: u64, end: u64 }
record request {
window: interval,
busy: list<interval>,
step-minutes: u32,
buffer-minutes: u32,
}
free-slots: func(req: request)
-> result<list<interval>, scheduling-error>;
}
world typed-scheduler {
export scheduling;
}typed-scheduler.wit
The demo does not import a clock, random source, file system, or network. Its answer is a total function of the intervals supplied by the caller.
Inspect its runnable evidenceBuild one, inspect it
The checked-in scheduler uses the Rust WASI Preview 2 target, then its local signer writes the exact envelope shown above. This is the project's current path, not a fictional one-command publish flow.
From the Engine source root
OUTPUT / .cache/modules/typed-scheduler/0.1.0
From author to execution
Writes domain logic in a language that targets WebAssembly, then exposes only the intended WIT world.
Tests, audits, or proves a component according to its own trust policy and signs that specific artifact.
Checks the artifact and policy, grants only selected authority, then measures the execution facts.