{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "properties": {
    "algorithm": {
      "enum": [
        "sha256"
      ],
      "type": "string"
    },
    "digest": {
      "allOf": [
        {
          "pattern": "^[0-9a-f]{64}$"
        }
      ],
      "type": "string"
    },
    "fileCount": {
      "type": "integer"
    },
    "files": {
      "items": {
        "allOf": [
          {
            "pattern": "^(?!\\/)(?!.*(?:^|\\/)\\.\\.(?:\\/|$))(?!.*\\/\\/)[^\\0\\r\\n]+\\.md$"
          }
        ],
        "type": "string"
      },
      "type": "array"
    },
    "schemaVersion": {
      "type": "string"
    },
    "scope": {
      "enum": [
        "canonical-markdown-only"
      ],
      "type": "string"
    },
    "slug": {
      "allOf": [
        {
          "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
        }
      ],
      "type": "string"
    },
    "versionDate": {
      "allOf": [
        {
          "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
        }
      ],
      "type": "string"
    }
  },
  "required": [
    "schemaVersion",
    "scope",
    "algorithm",
    "slug",
    "versionDate",
    "digest",
    "fileCount",
    "files"
  ],
  "type": "object",
  "x-legislation": {
    "artifactFamilyKey": "canonical-markdown-fingerprints",
    "artifactPathPattern": ".tooling/canonical-markdown-fingerprints/<slug>.json",
    "derivationMode": "effect-derived",
    "schemaPath": ".tooling/schemas/canonical-markdown-fingerprints.schema.json",
    "schemaVersion": "1.0.0",
    "shapeKind": "encoded-json",
    "sourceEffectExport": "CanonicalMarkdownFingerprintJson",
    "sourceEffectModule": "src/domain/canonicalMarkdownFingerprint.ts"
  }
}
