Skip to content
Legislation
Esc
navigateopen⌘Jpreview

Legislation · public publication pilot

canonical-markdown-fingerprints: schema and stability

Generated reference for this publication’s exact JSON Schema sidecar. Field constraints below come directly from the sidecar; JSON Schema does not reproduce every Effect refinement.

Published stability metadata

Schema version
1.0.0
Digest meaning
exact-file-bytes
Empty file meaning
not-record-oriented
Additive changes
artifact-added, field-added
Breaking changes
artifact-bytes-changed, artifact-removed, contract-digest-changed, digest-framing-changed, field-removed, path-pattern-changed, schema-digest-changed
Identifier stability rules
[
  {
    "identifierName": "digest",
    "mechanicalInputs": "sha256 digest of the governed file or text bytes",
    "stabilityRule": "content-addressed",
    "uniquenessScope": "artifact-family"
  },
  {
    "identifierName": "slug",
    "mechanicalInputs": "source descriptor slug",
    "stabilityRule": "stable-while-source-descriptor-stable",
    "uniquenessScope": "dataset"
  }
]

Fields (8)

VariantFieldRequiredPublished constraints
CommonalgorithmYes
{
  "enum": [
    "sha256"
  ],
  "type": "string"
}
CommondigestYes
{
  "allOf": [
    {
      "pattern": "^[0-9a-f]{64}$"
    }
  ],
  "type": "string"
}
CommonfileCountYes
{
  "type": "integer"
}
CommonfilesYes
{
  "items": {
    "allOf": [
      {
        "pattern": "^(?!\\/)(?!.*(?:^|\\/)\\.\\.(?:\\/|$))(?!.*\\/\\/)[^\\0\\r\\n]+\\.md$"
      }
    ],
    "type": "string"
  },
  "type": "array"
}
CommonschemaVersionYes
{
  "type": "string"
}
CommonscopeYes
{
  "enum": [
    "canonical-markdown-only"
  ],
  "type": "string"
}
CommonslugYes
{
  "allOf": [
    {
      "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
    }
  ],
  "type": "string"
}
CommonversionDateYes
{
  "allOf": [
    {
      "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
    }
  ],
  "type": "string"
}
Complete JSON Schema
{
  "$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"
  }
}

a6de85cccf489b7b121dcec0cddf38c459fff4af3f64d1bc4fde69b4753ec0c5