{
  "meta": {
    "title": "AI Discovery Files Registry",
    "description": "Machine-readable single source of truth listing every AI Discovery File (ADF) defined by this specification, with media types, paths, paired files, precedence relationships, schema URLs, current version, and conformance-class membership.",
    "version": "1.5.0",
    "versionDate": "2026-05-11",
    "dateModified": "2026-05-11",
    "canonicalUrl": "https://www.ai-visibility.org.uk/specifications/registry.json",
    "specHub": "https://www.ai-visibility.org.uk/specifications/",
    "conformancePage": "https://www.ai-visibility.org.uk/specifications/conformance/",
    "conventionsPage": "https://www.ai-visibility.org.uk/specifications/conventions/",
    "licensingPage": "https://www.ai-visibility.org.uk/licensing/",
    "license": {
      "name": "Creative Commons Attribution 4.0 International",
      "identifier": "CC-BY-4.0",
      "url": "https://creativecommons.org/licenses/by/4.0/"
    },
    "language": "en-GB",
    "publisher": {
      "name": "AI Visibility",
      "url": "https://www.ai-visibility.org.uk/",
      "parent": {
        "name": "365i",
        "url": "https://www.365i.co.uk/"
      }
    }
  },
  "conformanceClasses": {
    "essential": {
      "name": "Essential",
      "url": "https://www.ai-visibility.org.uk/specifications/conformance/#essential",
      "description": "The minimum set: a published identity surface plus an AI-usage statement."
    },
    "recommended": {
      "name": "Recommended",
      "url": "https://www.ai-visibility.org.uk/specifications/conformance/#recommended",
      "description": "Essential plus machine-parseable identity, FAQs, and brand handling."
    },
    "complete": {
      "name": "Complete",
      "url": "https://www.ai-visibility.org.uk/specifications/conformance/#complete",
      "description": "All ten files published consistently."
    }
  },
  "files": [
    {
      "id": "ADF-001",
      "name": "llms.txt",
      "path": "/llms.txt",
      "specPage": "https://www.ai-visibility.org.uk/specifications/llms-txt/",
      "specData": {
        "json": "https://www.ai-visibility.org.uk/specifications/llms-txt/llms-txt-specification.json",
        "yaml": "https://www.ai-visibility.org.uk/specifications/llms-txt/llms-txt-specification.yaml"
      },
      "schemaUrl": null,
      "exampleUrl": "https://www.ai-visibility.org.uk/llms.txt",
      "format": "Markdown",
      "mediaTypes": [
        "text/markdown; charset=utf-8",
        "text/plain; charset=utf-8"
      ],
      "encoding": "UTF-8",
      "version": "1.7.0",
      "status": "Stable",
      "conformanceClasses": [
        "essential",
        "recommended",
        "complete"
      ],
      "pairedFiles": [
        "llms.html",
        "llm.txt"
      ],
      "redirectTarget": null,
      "precedenceWith": [
        {
          "file": "llm.txt",
          "rule": "llms.txt is canonical; llm.txt SHOULD be a 301 redirect to llms.txt."
        },
        {
          "file": "llms.html",
          "rule": "Same content, different format; llms.html is the human-readable companion to llms.txt."
        }
      ],
      "purpose": "AI-readable business identity, services, and context in Markdown."
    },
    {
      "id": "ADF-002",
      "name": "llm.txt",
      "path": "/llm.txt",
      "specPage": "https://www.ai-visibility.org.uk/specifications/llm-txt/",
      "specData": {
        "json": "https://www.ai-visibility.org.uk/specifications/llm-txt/llm-txt-specification.json",
        "yaml": "https://www.ai-visibility.org.uk/specifications/llm-txt/llm-txt-specification.yaml"
      },
      "schemaUrl": null,
      "exampleUrl": null,
      "format": "Markdown (via redirect)",
      "mediaTypes": [
        "text/plain; charset=utf-8"
      ],
      "encoding": "UTF-8",
      "version": "1.7.0",
      "status": "Stable",
      "conformanceClasses": [
        "complete"
      ],
      "pairedFiles": [
        "llms.txt"
      ],
      "redirectTarget": "/llms.txt",
      "precedenceWith": [
        {
          "file": "llms.txt",
          "rule": "llm.txt SHOULD return HTTP 301 to /llms.txt; it MUST NOT carry independent content."
        }
      ],
      "purpose": "Compatibility alias for crawlers that request the singular filename."
    },
    {
      "id": "ADF-003",
      "name": "llms.html",
      "path": "/llms.html",
      "specPage": "https://www.ai-visibility.org.uk/specifications/llms-html/",
      "specData": {
        "json": "https://www.ai-visibility.org.uk/specifications/llms-html/llms-html-specification.json",
        "yaml": "https://www.ai-visibility.org.uk/specifications/llms-html/llms-html-specification.yaml"
      },
      "schemaUrl": null,
      "exampleUrl": "https://www.ai-visibility.org.uk/llms.html",
      "format": "HTML",
      "mediaTypes": [
        "text/html; charset=utf-8"
      ],
      "encoding": "UTF-8",
      "version": "1.7.0",
      "status": "Stable",
      "conformanceClasses": [
        "complete"
      ],
      "pairedFiles": [
        "llms.txt"
      ],
      "redirectTarget": null,
      "precedenceWith": [
        {
          "file": "llms.txt",
          "rule": "llms.html mirrors llms.txt content in HTML; structured-data takes precedence over unstructured if they disagree."
        }
      ],
      "purpose": "Human-readable HTML companion to llms.txt, browsable and indexable."
    },
    {
      "id": "ADF-004",
      "name": "ai.txt",
      "path": "/ai.txt",
      "specPage": "https://www.ai-visibility.org.uk/specifications/ai-txt/",
      "specData": {
        "json": "https://www.ai-visibility.org.uk/specifications/ai-txt/ai-txt-specification.json",
        "yaml": "https://www.ai-visibility.org.uk/specifications/ai-txt/ai-txt-specification.yaml"
      },
      "schemaUrl": null,
      "exampleUrl": "https://www.ai-visibility.org.uk/ai.txt",
      "format": "Plain text (key: value)",
      "mediaTypes": [
        "text/plain; charset=utf-8"
      ],
      "encoding": "UTF-8",
      "version": "1.7.0",
      "status": "Stable",
      "conformanceClasses": [
        "essential",
        "recommended",
        "complete"
      ],
      "pairedFiles": [
        "ai.json"
      ],
      "redirectTarget": null,
      "precedenceWith": [
        {
          "file": "ai.json",
          "rule": "ai.json is the structured, parseable form and takes precedence over ai.txt if they disagree."
        },
        {
          "file": "robots.txt",
          "rule": "robots.txt is an external standard and always takes precedence for access control."
        }
      ],
      "purpose": "Human-readable AI usage permissions and attribution statement."
    },
    {
      "id": "ADF-005",
      "name": "ai.json",
      "path": "/ai.json",
      "specPage": "https://www.ai-visibility.org.uk/specifications/ai-json/",
      "specData": {
        "json": "https://www.ai-visibility.org.uk/specifications/ai-json/ai-json-specification.json",
        "yaml": "https://www.ai-visibility.org.uk/specifications/ai-json/ai-json-specification.yaml"
      },
      "schemaUrl": "https://www.ai-visibility.org.uk/specifications/ai-json/v1/ai-json.schema.json",
      "schemaUrlLatest": "https://www.ai-visibility.org.uk/specifications/ai-json/ai-json.schema.json",
      "exampleUrl": "https://www.ai-visibility.org.uk/ai.json",
      "format": "JSON",
      "mediaTypes": [
        "application/json"
      ],
      "encoding": "UTF-8",
      "version": "1.7.0",
      "status": "Stable",
      "conformanceClasses": [
        "recommended",
        "complete"
      ],
      "pairedFiles": [
        "ai.txt"
      ],
      "redirectTarget": null,
      "precedenceWith": [
        {
          "file": "ai.txt",
          "rule": "ai.json is the canonical, machine-parseable form; ai.txt is the human-readable summary."
        },
        {
          "file": "robots.txt",
          "rule": "robots.txt is an external standard and always takes precedence for access control."
        }
      ],
      "purpose": "Machine-parseable AI interaction guidance: permissions, restrictions, attribution."
    },
    {
      "id": "ADF-006",
      "name": "identity.json",
      "path": "/identity.json",
      "specPage": "https://www.ai-visibility.org.uk/specifications/identity-json/",
      "specData": {
        "json": "https://www.ai-visibility.org.uk/specifications/identity-json/identity-json-specification.json",
        "yaml": "https://www.ai-visibility.org.uk/specifications/identity-json/identity-json-specification.yaml"
      },
      "schemaUrl": "https://www.ai-visibility.org.uk/specifications/identity-json/v1/identity-json.schema.json",
      "schemaUrlLatest": "https://www.ai-visibility.org.uk/specifications/identity-json/identity-json.schema.json",
      "exampleUrl": "https://www.ai-visibility.org.uk/identity.json",
      "format": "JSON",
      "mediaTypes": [
        "application/json"
      ],
      "encoding": "UTF-8",
      "version": "1.7.0",
      "status": "Stable",
      "conformanceClasses": [
        "recommended",
        "complete"
      ],
      "pairedFiles": [
        "llms.txt",
        "brand.txt"
      ],
      "redirectTarget": null,
      "precedenceWith": [
        {
          "file": "llms.txt",
          "rule": "identity.json is authoritative for structured identity; llms.txt provides narrative context."
        },
        {
          "file": "brand.txt",
          "rule": "brand.txt is authoritative for naming and pronunciation; identity.json carries the legal and operational identity."
        }
      ],
      "purpose": "Structured organisation identity: legal name, brand name, services, contacts."
    },
    {
      "id": "ADF-007",
      "name": "brand.txt",
      "path": "/brand.txt",
      "specPage": "https://www.ai-visibility.org.uk/specifications/brand-txt/",
      "specData": {
        "json": "https://www.ai-visibility.org.uk/specifications/brand-txt/brand-txt-specification.json",
        "yaml": "https://www.ai-visibility.org.uk/specifications/brand-txt/brand-txt-specification.yaml"
      },
      "schemaUrl": null,
      "exampleUrl": "https://www.ai-visibility.org.uk/brand.txt",
      "format": "Plain text (key: value)",
      "mediaTypes": [
        "text/plain; charset=utf-8"
      ],
      "encoding": "UTF-8",
      "version": "1.7.0",
      "status": "Stable",
      "conformanceClasses": [
        "recommended",
        "complete"
      ],
      "pairedFiles": [
        "identity.json"
      ],
      "redirectTarget": null,
      "precedenceWith": [
        {
          "file": "identity.json",
          "rule": "brand.txt is authoritative for naming, pronunciation, and terminology guidance."
        }
      ],
      "purpose": "Naming, pronunciation, terminology preferences, and brand do-not-call-us-that guidance."
    },
    {
      "id": "ADF-008",
      "name": "faq-ai.txt",
      "path": "/faq-ai.txt",
      "specPage": "https://www.ai-visibility.org.uk/specifications/faq-ai-txt/",
      "specData": {
        "json": "https://www.ai-visibility.org.uk/specifications/faq-ai-txt/faq-ai-txt-specification.json",
        "yaml": "https://www.ai-visibility.org.uk/specifications/faq-ai-txt/faq-ai-txt-specification.yaml"
      },
      "schemaUrl": null,
      "exampleUrl": "https://www.ai-visibility.org.uk/faq-ai.txt",
      "format": "Plain text (Q:/A: pairs)",
      "mediaTypes": [
        "text/plain; charset=utf-8"
      ],
      "encoding": "UTF-8",
      "version": "1.8.0",
      "status": "Stable",
      "conformanceClasses": [
        "recommended",
        "complete"
      ],
      "pairedFiles": [],
      "redirectTarget": null,
      "precedenceWith": [],
      "purpose": "AI-optimised question-and-answer pairs for retrieval and citation."
    },
    {
      "id": "ADF-009",
      "name": "developer-ai.txt",
      "path": "/developer-ai.txt",
      "specPage": "https://www.ai-visibility.org.uk/specifications/developer-ai-txt/",
      "specData": {
        "json": "https://www.ai-visibility.org.uk/specifications/developer-ai-txt/developer-ai-txt-specification.json",
        "yaml": "https://www.ai-visibility.org.uk/specifications/developer-ai-txt/developer-ai-txt-specification.yaml"
      },
      "schemaUrl": null,
      "exampleUrl": "https://www.ai-visibility.org.uk/developer-ai.txt",
      "format": "Plain text (key: value)",
      "mediaTypes": [
        "text/plain; charset=utf-8"
      ],
      "encoding": "UTF-8",
      "version": "1.8.0",
      "status": "Stable",
      "conformanceClasses": [
        "complete"
      ],
      "pairedFiles": [],
      "redirectTarget": null,
      "precedenceWith": [],
      "purpose": "Technical context: stack, APIs, code conventions, deployment surface."
    },
    {
      "id": "ADF-010",
      "name": "robots-ai.txt",
      "path": "/robots-ai.txt",
      "specPage": "https://www.ai-visibility.org.uk/specifications/robots-ai-txt/",
      "specData": {
        "json": "https://www.ai-visibility.org.uk/specifications/robots-ai-txt/robots-ai-txt-specification.json",
        "yaml": "https://www.ai-visibility.org.uk/specifications/robots-ai-txt/robots-ai-txt-specification.yaml"
      },
      "schemaUrl": null,
      "exampleUrl": "https://www.ai-visibility.org.uk/robots-ai.txt",
      "format": "Plain text (User-agent: / Allow: / Disallow: directives)",
      "mediaTypes": [
        "text/plain; charset=utf-8"
      ],
      "encoding": "UTF-8",
      "version": "1.7.0",
      "status": "Stable",
      "conformanceClasses": [
        "complete"
      ],
      "pairedFiles": [],
      "redirectTarget": null,
      "precedenceWith": [
        {
          "file": "robots.txt",
          "rule": "robots.txt is an external standard and always takes precedence; robots-ai.txt supplements with AI-specific directives but MUST NOT contradict it."
        }
      ],
      "purpose": "AI-specific crawler directives that complement (never override) robots.txt."
    }
  ],
  "versionHistory": [
    {
      "version": "1.5.0",
      "date": "2026-05-11",
      "changes": "Phase 6 standardisation release. Bumped each files[].version to match its specification's Phase 6 release. The robots-ai.txt specification at ADF-010 carries the new normative Discovery: directive; all other entries reflect documentation-only bumps."
    },
    {
      "version": "1.4.0",
      "date": "2026-05-11",
      "changes": "Phase 5 standardisation release. Bumped each files[].version to match its specification's Phase 5 release. No structural changes to the registry."
    },
    {
      "version": "1.3.0",
      "date": "2026-05-11",
      "changes": "Phase 4 release. Updated each file entry to the Phase 4 spec version."
    },
    {
      "version": "1.2.0",
      "date": "2026-05-11",
      "changes": "Phase 3 release. Updated each file entry to the Phase 3 spec version. No structural changes."
    },
    {
      "version": "1.1.0",
      "date": "2026-05-11",
      "changes": "Phase 2 release. Updated each file entry to the Phase 2 spec version. No structural changes; the registry shape is unchanged."
    },
    {
      "version": "1.0.0",
      "date": "2026-05-11",
      "changes": "Initial publication. Phase 2 of the spec standardisation work. Lists all 10 ADFs with media types, paths, paired files, precedence rules, schema URLs, current versions, and conformance-class membership."
    }
  ]
}
