1- # [ short title of solved problem and solution ]
1+ # ` format ` as an assertion
22
33- Status: proposed
44 <!-- will update below to only those who participated in the vote -->
55- Deciders: @gregsdennis @jdesrosiers @julian @jviotti @mwadams @karenetheridge
66 @relequestual
77- Date: 2024-11-02
8- - Technical Story: https://github.com/json-schema-org/json-schema-spec/issues/1520
9- - Voting issue: https://github.com/json-schema-org/TSC/issues/19
8+ - Technical Story: < https://github.com/json-schema-org/json-schema-spec/issues/1520 >
9+ - Voting issue: < https://github.com/json-schema-org/TSC/issues/19 >
1010 - For - @gregsdennis @jdesrosiers @jviotti @mwadams @karenetheridge
1111 - Neutral - @relequestual
1212 - Against - @julian
1616There's a long and sticky history around format.
1717
18181 . Going back all the way to Draft 01, format has never required validation.
19- 2 . Whether to support format validation has always been the decision of the
19+ 1 . Whether to support format validation has always been the decision of the
2020 implementation.
21- 3 . The extent to which formats are validated has also been the decision of the
21+ 1 . The extent to which formats are validated has also been the decision of the
2222 implementation.
2323
2424The result of all of this is that implementation support for validation has been
@@ -45,7 +45,7 @@ short-term solution for schema generation from types.)
4545Due to this consistency in user expectations, we have decided to:
4646
47471 . make format an assertion keyword, and
48- 2 . strictly enforce it by moving the appropriate tests into the required section
48+ 1 . strictly enforce it by moving the appropriate tests into the required section
4949 of the Test Suite and building them more completely.
5050
5151## Decision Drivers
@@ -63,8 +63,8 @@ This is the current state. The primary benefit is that we don't need to make a
6363breaking change.
6464
6565The primary downside is that the current system of (1) configuring the tool or
66- (2) incluing the ` format-assertion ` vocab[ ^ 1 ] is confusing for many and doesn't
67- align with user expectations.
66+ (2) incluing the ` format-assertion ` vocab is confusing for many and doesn't
67+ align with user expectations.[ ^ 1 ]
6868
6969[ ^ 1 ] The ` format-assertion ` vocabulary will no longer be an option since we have
7070demoted vocabularies to a proposal for the stable release. This leaves tool
@@ -76,7 +76,8 @@ We change the spec to require `format` validation. Furthermore:
7676
7777- Implementations SHOULD support ` format ` with the defined values
7878- Implementations MAY support others, but only by explicit config
79- - Implementations MUST refuse to process a schema that contains an unsupported format
79+ - Implementations MUST refuse to process a schema that contains an unsupported
80+ format
8081
8182## Decision Outcome
8283
@@ -86,7 +87,8 @@ The TSC has decided via vote (see voting issue above) that we should change
8687### Positive Consequences <!-- optional -->
8788
8889- Aligns with user expectations.
89- - Users are still able to have purely annotative behavior through use of something like ` x-format ` .
90+ - Users are still able to have purely annotative behavior through use of
91+ something like ` x-format ` .
9092- Increased consistency for ` format ` validation across implementations.
9193
9294### Negative Consequences <!-- optional -->
0 commit comments