CauslContext: Context<null | CauslContextValue<unknown>> = ...

The single context that carries the engine into the React tree.

A null default signals "no Provider above this consumer"; the hooks check for that sentinel and throw a descriptive error. The value is widened to CauslContextValue<unknown> at the context boundary so that every consumer can refine Msg independently with a generic hook call without forcing a single Msg union onto the context creation site.