OptionallocationLocation in source code (typically populated by linter, but validators can set for precision)
Human-readable error message (should be specific and actionable)
OptionalmetadataAdditional context metadata (property name, types, valid values, entity name, etc.)
Severity level (critical = runtime error, high = likely issues, medium = questionable, low = style)
OptionalsuggestionSuggested fix for the violation (concrete, actionable recommendation)
Violation type (e.g., 'invalid-field', 'type-mismatch', 'missing-required-property')
Result of a constraint validation (validators return arrays of these to report violations)