| Set a concise non-empty title at the top level of the schema to explain what the definition is about | |
| Set a non-empty examples array at the top level of the schema to illustrate the expected data | |
| Descriptions should not end with a period to give user interfaces flexibility in presenting the text | /description |
| Keywords inside `allOf` that do not conflict with the parent schema can be elevated | /properties/crs/allOf/1/type – /properties/crs/allOf/1/oneOf – /properties/crs/allOf/1/description – /properties/crs/allOf/1/default |
| An in-place applicator branch that defines a `type` with no overlap with the parent `type` can never be satisfied | /properties/crs/allOf/1/oneOf/1 |
| A `oneOf` where all branches have disjoint types can be safely converted to `anyOf` | /properties/crs/allOf/1/oneOf |
| Descriptions should not end with a period to give user interfaces flexibility in presenting the text | /properties/crs/allOf/1/description |
| Keywords inside `allOf` that do not conflict with the parent schema can be elevated | /properties/crs/allOf/1/oneOf/1/oneOf/1/properties/wkt/allOf/1/type – /properties/crs/allOf/1/oneOf/1/oneOf/1/properties/wkt/allOf/0/description |
| Keywords inside `allOf` that do not conflict with the parent schema can be elevated | /properties/dataType/allOf/1/anyOf – /properties/dataType/allOf/0/description |
| Setting `type` alongside `enum` is considered an anti-pattern, as the enumeration choices already imply their respective types | /properties/dataType/allOf/1/anyOf/1/enum – /properties/dataType/allOf/1/anyOf/1/type |
| Descriptions should not end with a period to give user interfaces flexibility in presenting the text | /properties/links/description |
| Descriptions should not end with a period to give user interfaces flexibility in presenting the text | /properties/tileMatrixSetURI/description |