checker: warn (not info) when a required request property has a default (#1109)
new-required-request-property-with-default and
request-property-became-required-with-default were classified INFO, on the
assumption that a default value stands in when a client omits the property.
That is a false negative. A required property with a default is a
self-contradictory contract ('you must send this' and 'here is the value if you
don't'), and JSON Schema states default is not used for validation. So whether
omitting the property breaks a client depends on the server: a server that
validates strictly rejects it, one that applies the default accepts it, one that
doesn't validate does whatever its handler does. oasdiff can't tell from the
spec. Reporting it as non-breaking let a team on --fail-on ERR ship a
client-breaking change on a green build.
Both checks are now WARN with a comment stating the condition. The no-default
siblings stay ERR (the contract has no omission semantics). The ids stay
distinct so a team whose servers apply request defaults can downgrade exactly
these to info via --severity-levels.
Comment message added in all four locales.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> R
Reuven Harrison committed
c2062aa34aef898241f3214c3dcee6853a619369
Parent: a94e0a5
Committed by GitHub <noreply@github.com>
on 7/22/2026, 3:21:55 PM