A flat tag enum; callers rarely match on it and read
HostFailure::message instead. Use LeanDiagnosticCode for the
stable, caller-facing failure taxonomy — HostStage is the
host-stack’s internal classification and may grow new variants when
new internal paths are added. Marked #[non_exhaustive] so later
prompts can add variants without breaking exhaustive matches.
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.