Skip to content

clean up $dynamic* #1555

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 13 commits into from
Jan 10, 2025
Merged
Prev Previous commit
Next Next commit
update adr formatting again
  • Loading branch information
gregsdennis committed Nov 27, 2024
commit f2c98cb4bb59e87f078be74f4099e4c9a8cf2e77
22 changes: 12 additions & 10 deletions adr/2024-11-2-assertion-format.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# [short title of solved problem and solution]
# `format` as an assertion

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a different ADR and shouldn't be changing in this PR?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There were some formatting things that were merged and failing on the main branch and causing this build to fail. Jason and I just cleaned it up here.

- Status: proposed
<!-- will update below to only those who participated in the vote -->
- Deciders: @gregsdennis @jdesrosiers @julian @jviotti @mwadams @karenetheridge
@relequestual
- Date: 2024-11-02
- Technical Story: https://github.com/json-schema-org/json-schema-spec/issues/1520
- Voting issue: https://github.com/json-schema-org/TSC/issues/19
- Technical Story: <https://github.com/json-schema-org/json-schema-spec/issues/1520>
- Voting issue: <https://github.com/json-schema-org/TSC/issues/19>
- For - @gregsdennis @jdesrosiers @jviotti @mwadams @karenetheridge
- Neutral - @relequestual
- Against - @julian
Expand All @@ -16,9 +16,9 @@
There's a long and sticky history around format.

1. Going back all the way to Draft 01, format has never required validation.
2. Whether to support format validation has always been the decision of the
1. Whether to support format validation has always been the decision of the
implementation.
3. The extent to which formats are validated has also been the decision of the
1. The extent to which formats are validated has also been the decision of the
implementation.

The result of all of this is that implementation support for validation has been
Expand All @@ -45,7 +45,7 @@ short-term solution for schema generation from types.)
Due to this consistency in user expectations, we have decided to:

1. make format an assertion keyword, and
2. strictly enforce it by moving the appropriate tests into the required section
1. strictly enforce it by moving the appropriate tests into the required section
of the Test Suite and building them more completely.

## Decision Drivers
Expand All @@ -63,8 +63,8 @@ This is the current state. The primary benefit is that we don't need to make a
breaking change.

The primary downside is that the current system of (1) configuring the tool or
(2) incluing the `format-assertion` vocab[^1] is confusing for many and doesn't
align with user expectations.
(2) incluing the `format-assertion` vocab is confusing for many and doesn't
align with user expectations.[^1]

[^1] The `format-assertion` vocabulary will no longer be an option since we have
demoted vocabularies to a proposal for the stable release. This leaves tool
Expand All @@ -76,7 +76,8 @@ We change the spec to require `format` validation. Furthermore:

- Implementations SHOULD support `format` with the defined values
- Implementations MAY support others, but only by explicit config
- Implementations MUST refuse to process a schema that contains an unsupported format
- Implementations MUST refuse to process a schema that contains an unsupported
format

## Decision Outcome

Expand All @@ -86,7 +87,8 @@ The TSC has decided via vote (see voting issue above) that we should change
### Positive Consequences <!-- optional -->

- Aligns with user expectations.
- Users are still able to have purely annotative behavior through use of something like `x-format`.
- Users are still able to have purely annotative behavior through use of
something like `x-format`.
- Increased consistency for `format` validation across implementations.

### Negative Consequences <!-- optional -->
Expand Down
Loading