You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
vocabulary: locations, areas, kinds, statuses, and categories
Every field the model uses is now defined in its vocabulary: the
location grammar and claim syntax, the areas and kinds carried by each
change, and the statuses and categories carried by each coverage row.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QDvUFsg5nu1NBWQffErGDw
Copy file name to clipboardExpand all lines: openapi-changes-model.yaml
+29Lines changed: 29 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,7 @@ model: OpenAPI Changes Model
4
4
version: 0.1.0-draft
5
5
generated_from: oasdiff v1.31.0
6
6
vocabulary:
7
+
locations: 'A location is a path through the OpenAPI object model, dot-separated, with * standing for a map entry (a path, a method, a media type, a property name) and x-* for a specification extension: paths.*.*.requestBody.content.*.schema.maxLength names the maxLength keyword of any request body schema. A claim is location:action[,action...], the edits a change covers; a claim pattern may use ** to cover a location family.'
7
8
actions:
8
9
add: a member is added to a collection (a property, an enum value, a response status)
9
10
change: a field's value is replaced by an incomparable value
@@ -16,6 +17,25 @@ vocabulary:
16
17
none: the change concerns neither side of the wire (metadata, lifecycle)
17
18
request: the change concerns what clients send
18
19
response: the change concerns what clients receive
20
+
areas:
21
+
components: the components section (compared where referenced)
22
+
headers: response headers
23
+
parameters: operation and path parameters
24
+
paths: paths, operations, and operation metadata
25
+
requestBody: the request body object and its media types
26
+
responses: the responses map, response objects, and their media types
27
+
schema: a schema and its keywords, wherever the schema appears
28
+
security: security schemes, requirements, and scopes
29
+
tags: tags and their metadata
30
+
kinds:
31
+
constraints: bounds such as min/max, length, items, pattern
32
+
existence: an element is added or removed
33
+
lifecycle: deprecation, sunset, and stability
34
+
mutability: read-only or write-only state
35
+
requiredness: required, optional, or nullable state
incomparable: the change both rejects previously valid payloads and accepts previously invalid ones
21
41
narrows: the new contract rejects payloads the previous contract accepted
@@ -34,6 +54,15 @@ vocabulary:
34
54
error: a consumer that conformed to the old contract can stop conforming or fail
35
55
info: provably safe for every consumer that conformed to the old contract
36
56
warning: plausibly breaking, but the specification cannot decide; the finding says what is missing
57
+
statuses:
58
+
covered: one or more named changes claim the edit
59
+
non-contract: the edit cannot affect which payloads are valid (descriptions, examples, extensions)
60
+
uncovered: no change and no waiver; the reference implementation fails its build in this state, so the listing normally contains none
61
+
waived: no change covers the edit and a written reason says why; the category refines it
62
+
categories:
63
+
covered-as: the same document edit is reported under another action
64
+
open: a missing change, with its reason and a suggested id
65
+
resolved-at-usage: component definitions are compared at their referencing operations, which have their own rows
37
66
severity_law:
38
67
description: 'A change''s level is derived from its effect, its direction, and its guards. Guards apply first, each nullifying or requalifying the effect on the side it speaks about; then the effect and direction decide: narrowing breaks request consumers, widening breaks response consumers, an incomparable change breaks both, and an unknown one is a warning. When a change cannot be proven safe it is reported as breaking.'
0 commit comments