• WIRE (epic #31 / issue #32) — load + instantiate the wasm engine and return a live, authoritative InjectedBackend (an AuthoritativeWasmEngine).

    This is the async seam for the synchronous createCausl factory: do the await here, then hand the returned engine to the package-internal constructGraphOverEngine(createOpts, engine) constructor (or call createCauslWasm, which does both in one step). The returned engine is the SSOT for commit / read / subscribe / derived-compute.

    LOUD-FAIL CONTRACT: this is an EXPLICIT wasm request, so an unresolvable artefact/snippet THROWS a WasmEngineUnavailableError — it never silently returns a JS engine. #280 removed the { fallbackToTs: true } / { fallbackToJs: true } opt-out, so the contract is now unconditional.

    Parameters

    Returns Promise<InjectedBackend>

    RemovedEngineOptionError when the bag still carries engine / backend / fallbackToTs / fallbackToJs. The paragraph above announces the removal, and until causl/causl-wasm-ts#363 this function ACCEPTED the very options it announces: AuthoritativeWasmOptions is the interface that DECLARED fallbackToTs / fallbackToJs, so a 0.4.x caller asking for the soft path here got the unconditional loud-fail contract under a flag that said otherwise, with no signal.