jsonschema validators try HTTP fetch for $refs when no Registry is provided
When a JSON Schema document uses $ref to point at another schema by its $id, the jsonschema Draft202012Validator (verified jsonschema 4.26.0, May 2026) will attempt to retrieve the referenced schema via HTTP if no referencing.Registry is configured. The error surfaces deep in iter_errors() as referencing.exceptions.Unresolvable wrapped in _WrappedReferencingError, with the underlying urllib HTTPError 404. The validator does NOT fall back to a local copy of the referenced schema even when both schemas come from the same package, you must register every referenced schema explicitly.
When building a Draft20XX validator for a schema that uses $ref, construct a referencing.Registry with each referenced schema registered under its $id: Registry().with_resource(referenced_schema["$id"], Resource.from_contents(referenced_schema)). Pass registry= to the validator. Verify by running iter_errors against a payload that exercises a $ref'd sub-schema; an unconfigured registry surfaces Unresolvable at first validation, not at construction.