When reporting an error message of a validation failure, we use information that belongs to a "different format".

Because we were working hard to minimize the number of total schemas (given the compile-time and file-size constraints we had with AJV), we decided on tagging _fields_ with the formats they're enabled, but not the schemas. As a result, schemas tend to be not exactly what users expect, and this interacts badly with validation.

If someone makes a typo on an object key, it's possible that they will accidentally land on a field that is:

1. disabled for the format they're rendering on
2. but has a schema that is wildly different than what they're expecting

Because of 1), they get no completions to warn them of the typo they just introduced, and are unlikely to realize that the lack of completions is indicative of the typo. Because of 2), our validation infrastructure _will_ yell at them.

The outcome of all of this are Dreaded Misleading Validation Errors.

This kind of problem will become more important the more we lean on validation/autocompletion as the teaching mechanism for users.
cscheid
2022-02-28T16:21:23Z
cscheid
enhancement yaml-validation
Future
open
YAML error messages are inconsistent across format boundaries
https://github.com/quarto-dev/quarto-cli/issues/369