CHW-4829 AdmissionShadowPayloadInvalid

admission shadow decision payload is malformed; required fields are org_id, cluster, and decision (one of would_allow, would_block, internal_error)

Default message: admission shadow decision payload is malformed; required fields are org_id, cluster, and decision (one of would_allow, would_block, internal_error)
HTTP status: 400 (client)

Problem. POST /api/admission/shadow/decision was rejected. Cause. The body could not be parsed, or required fields (org_id, cluster, decision) were missing, empty, or unknown. The K8s admission webhook is the only authorised caller; a 400 here indicates a webhook version skew or a hand-rolled poke at the endpoint, NOT an auth/HMAC failure (which surface as CHW-1001). Fix. Confirm the webhook is at a supported version; for hand-rolled clients, mirror the shape emitted by enforcement/k8s-admission/. HTTP 400.