Tufin / oasdiff

OpenAPI Diff and Breaking Changes
https://www.oasdiff.com
Apache License 2.0
663 stars 59 forks source link

Improve breaking checks accuracy #580

Closed reuvenharrison closed 6 days ago

reuvenharrison commented 1 month ago

Oasdiff breaking changes and changelog are currently a best-effort to cover as many possible cases in the most accurate way. This feature was developed by multiple contributors, each one improving upon previous ones. Because of its complexity, this feature is still inaccurate which is demonstrated by reported issues (https://github.com/Tufin/oasdiff/issues/567, https://github.com/Tufin/oasdiff/issues/549...).

I am opening this issue to track a gradual transition to a formalized method that will lead to better accuracy, coverage and the ability to track and measure progress. Steps:

  1. each check should have a single level
  2. get levels from the rules table rather that redefining them in the code
  3. add the check type into the rules: request vs. response, property/parameter, read-only or read-write...
  4. compare parallel checks to each-other to find discrepancies