Yesterday's hibernation post showed a session frozen mid-call on a slow request. Today the other shoe: that call can be your own.
A host module registered with scua_register_module can
now park the calling turn. Inside your native,
scua_return_pending hands the request to the async platform
exactly the way http.get does: the submit callback fires
with your module's labels, you complete by token, and across a
hibernation you wake the reloaded call with the result you hold. So
model.ask(question) as a first-class module that hibernates
mid-inference is now a thing you can build, and the repo's hibernation
example does.
This fixed a wall we are slightly embarrassed by in hindsight: actor handlers could not call host-registered modules at all. The spawn copy rejected raw function pointers, correctly, and took your module down with them. Natives now cross into actors as placeholders and rebind from your live registrations at spawn and at rehydration, so a stale pointer can never travel. The rule that falls out is easy to hold: after a reload, re-register your modules, the same way you re-grant capabilities and reinstall the platform.