{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://schemas.driftframestudios.org/ca/schema/publication-boundary.schema.json",
  "title": "PublicationBoundary",
  "description": "Boundary record for deciding whether a schema, package artifact, route, or summary is ready for public release.",
  "type": "object",
  "additionalProperties": true,
  "required": [
    "id",
    "type",
    "label"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "label": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "boundaryKind": {
      "type": "string",
      "enum": [
        "schema",
        "context",
        "example",
        "documentation",
        "generated_artifact",
        "release_candidate"
      ]
    },
    "releaseSurface": {
      "type": "string"
    },
    "ownerPackage": {
      "type": "string"
    },
    "publicReadiness": {
      "type": "string",
      "enum": [
        "blocked",
        "preflight",
        "candidate",
        "ready",
        "published"
      ]
    },
    "evidenceRequirementRefs": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "evidenceReferenceRefs": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "routePolicyStatus": {
      "type": "string",
      "enum": [
        "local_preflight_publication_held",
        "candidate_for_public_route",
        "promoted_public_route"
      ]
    },
    "prodPosture": {
      "type": "string",
      "enum": [
        "prod_hold_until_release_clearance",
        "release_candidate_ready",
        "prod_promoted"
      ]
    },
    "sourceBand": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "sourceOfTruthBand": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "publicationStatus": {
      "type": "string",
      "enum": [
        "private_source",
        "public_safe_summary",
        "experimental_schema",
        "candidate",
        "promoted",
        "retired"
      ]
    },
    "accessConfidence": {
      "type": "string",
      "enum": [
        "direct_fetch_confirmed",
        "page_lookup_confirmed",
        "human_reported",
        "source_note_only",
        "not_currently_reachable"
      ]
    },
    "aiActivationAlias": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "notes": {
      "type": "string"
    }
  }
}
