Optional validation-enrichment hook — side-effect-free. Override to add the rich messages
vocabulary (severities, i18n keys, field targets, per-field helpId) to a validation 422.
The Validator is passed (not flat strings) so enrichment keys off $validator->failed()
(field → rule → params). This is where per-field helpId originates — the validator can't know
it, the request can. Returns an {@see ActionErrorResponse} — the same type rollback() produces,
so both flow through one client parse path. Return null (the default) to leave the native
{ status, message, errors } body untouched.