Skip to content

B-VUX2-ontogen-http-transport-all-errors-500

ontogen’s axum servers emitter hardcodes INTERNAL_SERVER_ERROR for every handler in platform-core’s generated http/generated.rs: AppError::NotFound / Invalid / Upstream all surface as HTTP 500, with the semantic distinction riding only on the body-string prefix (“not found: …”, “invalid request: …”). Observed during QC of the vault openers surface (dev PR 1169): a curl of an unregistered vault returned the NotFound body with a 500 status. This is a pre-existing generated-transport convention, not specific to that PR. Fix direction: per-variant status mapping in the emitter (NotFound → 404, Invalid → 400, Upstream → 502, else 500) so HTTP clients can rely on status codes; today only the generated TS client (which parses bodies) is safe.


← Back to Backlog