Type Alias: InputResolution
InputResolution = {
input:ResolvedInput;ok:true; } | {ok:false;result:RunResult; }
The outcome of resolveInput: either the resolved input, or a ready-to-return value-free
RunResult carrying the diagnostic + exit code for whatever went wrong. A discriminated union
so a command reads if (!r.ok) return r.result; and then works with r.input.