RUNTIME_HOST_ONLY
A host-bound runtime was used outside its required host boundary.
What failed
A runtime-backed API was called from a process that only has a host-bound runtime declaration, such as runtime: convex().
Why
Host-bound runtimes need request-scoped host context to bind store and wake ports. Crux cannot safely fall back to object-bound storage without violating the one-writer runtime rule.
What still works
Object-bound authoring still typechecks. Runtime-backed operations work inside the host entry.
Fix
Run the operation inside the host boundary, such as a generated Convex entry:
createConvexRuntimeHandlers({
component: components.crux,
targetExecutor,
})For app code that starts runtime-backed work directly from a Convex action, run
that call inside createCruxConvex(...).run(ctx, target, fn) so Crux can bind the
current ctx, component, and scheduler before the flow starts.