From fdb07000e9423b6cf43244e7d0e6d6f57d4ee81c Mon Sep 17 00:00:00 2001 From: "glm-5.3-flash" Date: Sun, 30 Aug 2026 20:20:42 +0000 Subject: [PATCH] docs(adr-066): record 4XX/5XX wildcard projection mapping (OAI-13) --- .../066-from-jsonschema-as-http-adapter.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/architecture/decisions/066-from-jsonschema-as-http-adapter.md b/docs/architecture/decisions/066-from-jsonschema-as-http-adapter.md index 2871947..e3146da 100644 --- a/docs/architecture/decisions/066-from-jsonschema-as-http-adapter.md +++ b/docs/architecture/decisions/066-from-jsonschema-as-http-adapter.md @@ -134,6 +134,21 @@ The difference is purely the input shape: a full document vs. a single endpoint. +### Response-key wildcards (review 002 OAI-13) + +`from_openapi` projects OpenAPI response keys onto `HTTP_` error +codes, which require a concrete status. Class wildcards map to the first +legal concrete status in their implied range: `4XX` → `HTTP_400`, `5XX` +→ `HTTP_500`. The declared payload schema of the wildcard response is +carried by the projected entry. `default` has no implied status range, +so it is not projected (it would advertise an `HTTP_0` code that can +never match a callback status) — unmapped upstream statuses surface as +the synthesized `HTTP_` at call time regardless. A concrete +status key always outranks a wildcard covering the same range, in both +error projection and the success sweep (SSE detection + +output-schema selection), where the precedence order is: concrete 2XX +statuses, then `2XX`, then `default`. + ## Consequences **Positive**: