json-schema-spec
json-schema-spec copied to clipboard
Strengthen "$schema" + "$vocabulary" requirements
There is currently no normative language requiring "$schema" to be respected. Particularly for supporting optional vocabularies without requiring custom code (see #1300), there needs to be a mandatory requirement to inspect the meta-schema for $vocabulary. Guidance would be needed for the case when the meta-schema is not available. Probably also guidance that schema publishers are expected to make their meta-schemas as available as their schemas whenever they use custom meta-schemas. We probably also need wording around when the meta-schema is not in $schema but is provided as a media type parameter.
This issue doesn't mean that we have to keep $schema and $vocabulary exactly as they are, just that whatever we end up with in the next release needs normative language that guarantees predictable behavior.