Schema: corpus-manifest
{
"$defs": {
"entry": {
"additionalProperties": false,
"properties": {
"compatibility": {
"additionalProperties": {
"items": {
"minLength": 1,
"type": "string"
},
"minItems": 1,
"type": "array"
},
"minProperties": 1,
"type": "object"
},
"corpus_revision": {
"minLength": 1,
"type": "string"
},
"kind": {
"enum": [
"LAYOUT",
"MACRO",
"FRAGMENT",
"INTERACTIVE_COMPONENT",
"STATIC",
"PARTIAL",
"ROUTE_PAGE"
],
"type": "string"
},
"owner": {
"description": "Owner identifier. The canonical corpus manifest emits 'htmx-ui-template-scaffold'; legacy migration manifests may use 'TOOL_MANAGED', 'ROUTE_OWNED', 'USER_OWNED', or 'PROTECTED'.",
"minLength": 1,
"type": "string"
},
"path": {
"minLength": 1,
"type": "string"
},
"source_digest": {
"pattern": "^[a-f0-9]{64}$",
"type": "string"
}
},
"required": [
"path",
"owner",
"source_digest",
"corpus_revision",
"compatibility",
"kind"
],
"type": "object"
},
"excluded": {
"additionalProperties": false,
"properties": {
"category": {
"minLength": 1,
"type": "string"
},
"path": {
"minLength": 1,
"type": "string"
},
"reason": {
"minLength": 1,
"type": "string"
}
},
"required": [
"path",
"category",
"reason"
],
"type": "object"
}
},
"$id": "https://australis.systems/schemas/htmx-ui-template-scaffold/corpus-manifest.schema.json",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"description": "Strict schema for the canonical corpus manifest. The manifest includes deployable entries and explicitly excluded records; excluded records are governed data and are validated here so the on-disk contract is complete.",
"properties": {
"compatibility_profiles": {
"items": {
"minLength": 1,
"type": "string"
},
"minItems": 1,
"type": "array",
"uniqueItems": true
},
"corpus_revision": {
"minLength": 1,
"type": "string"
},
"entries": {
"items": {
"$ref": "#/$defs/entry"
},
"type": "array"
},
"excluded": {
"items": {
"$ref": "#/$defs/excluded"
},
"type": "array"
},
"schema_version": {
"const": "1.0.0",
"type": "string"
}
},
"required": [
"schema_version",
"corpus_revision",
"compatibility_profiles",
"entries"
],
"title": "Corpus Manifest",
"type": "object"
}