Validation for the ordinary multi round-trip request boundary.
Tools, resources, and prompts may return Snodo.Result.input_required/1.
A retry invokes the component again with the original component arguments
and a fresh Snodo.Context; no process or implicit continuation is retained.
Components should consume only the input IDs they need, re-request missing
answers, and perform effects only after validating input and any state.
This slice implements elicitation and state-only continuations. Deprecated roots and sampling input requests remain unsupported. Extensions retain their own negotiated routes and wire results; ordinary core results still pass the selected dialect's admission after extension middleware completes.