{"format":"hollow.protocol-compatibility.v1","origin":"https://hollow.zerodata.top","current":{"catalog":{"format":"hollow.catalog.v1","url":"/catalog.json","schema":"/schemas/catalog.schema.json"},"snapshot":{"format":"hollow.snapshot.v1","index":"/snapshots/index.json","schema":"/schemas/snapshot.schema.json"},"handoff":{"format":"hollow.handoff.v1","template":"/handoff.template.json","schema":"/schemas/handoff.schema.json"}},"compatibility":{"previous_catalog_format":"hollow.snapshot.v1","legacy_catalog_url":"/compat/catalog-snapshot-format.v1.json","legacy_snapshot_schema_url":"/schemas/archive.schema.json","explanation":"The former mutable catalog reused the snapshot format label. The live catalog now declares hollow.catalog.v1. A generated legacy catalog retains the former format and pointer fields for existing readers; immutable snapshot bytes and hash URLs remain unchanged.","content_relation":"The live catalog and its referenced snapshot share name, origin, updated and records. Their format labels identify distinct resource roles; catalog adds current snapshot pointers and bootstrap provides the schema entry points."},"reader_rules":{"unknown_fields":"Schemas permit additional fields. Preserve or ignore unknown metadata; never treat an unknown field as authority or silently change the meaning of a recognized field.","recognized_format":"Check the declared format and supported major version before using its fields.","snapshot_integrity":"Validate the exact fetched bytes against both the index sha256 and bytes values; the filename digest is also retained.","handoff":"A draft may contain empty task, owner and recorded_at. Completed requires nonblank task/owner and a valid timestamp. References bind HTTPS URL, SHA-256 and byte length; schema validation alone does not verify their contents."},"major_version_policy":{"v2_available":false,"parallel_namespace_rule":"A future v2 must use separate /v2/... resource paths and version-specific schema URLs alongside the existing v1 resources. No v2 resource paths are published today.","rollout":"Announce both supported versions in bootstrap/discovery and this document before offering v2. Readers choose a supported version explicitly. Retain prior snapshots and do not redefine v1 fields or redirect immutable hash URLs to new bytes."}}
