How this tool computes its result
Three independent validator tabs in one component. The JSON Schema tab recursively walks a pasted schema checking only structural shape -- type must be a string or array, required must be an array, properties must be an object with each child recursively checked, items recursively checked, and allOf/anyOf/oneOf must be arrays of valid sub-schemas -- with no support for keywords like pattern, enum, or numeric bounds. If an instance JSON is also pasted, it is separately checked against the schema's type/required/properties/items rules only. The OpenAPI tab first tries JSON.parse; on success it checks for an openapi/swagger version field, an info object with title and version, and a paths object. If JSON parsing fails, it falls back to line-based regex checks against raw text (banning tabs, requiring 2-space-multiple indentation, requiring a colon on non-list lines) plus separate regex presence checks for the openapi/swagger, info, paths, title, and version keys. The YAML tab reuses that same line-based regex checker standalone.
