{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "@context": [
    "https://schemas.meta-aiml.org/v3.0.0/context.jsonld"
  ],
  "@id": "https://schemas.meta-aiml.org/v3.0.0/archetypes/broadcast_publisher.json",
  "@type": [
    "Thing",
    "ArchetypeSchema",
    "BroadcastPublisher"
  ],
  "schemaVersion": "3.0.0",
  "aimlVersion": "3.0.0",
  "title": "BroadcastPublisher Interaction Archetype",
  "description": "Platform publishes content to broad audience (hub-and-spoke, one-to-many model). Publisher creates/curates content; audience consumes passively or with minimal interaction. Content is the primary product. Economics driven by reach, not transaction volume.",
  "type": "object",
  "properties": {
    "interactionArchetype": {
      "type": "array",
      "description": "BroadcastPublisher archetype identifier",
      "contains": {
        "const": "BroadcastPublisher"
      },
      "items": {
        "type": "string",
        "enum": [
          "DirectService",
          "MediatedExchange",
          "NetworkGraph",
          "BroadcastPublisher",
          "ProtocolSystem"
        ]
      },
      "minItems": 1,
      "maxItems": 1
    },
    "structuralMetadata": {
      "type": "object",
      "description": "Structural definition of BroadcastPublisher model",
      "required": [
        "topology",
        "roles",
        "valueSource",
        "transactionFlow"
      ],
      "properties": {
        "topology": {
          "type": "string",
          "const": "hub_and_spoke",
          "description": "Asymmetric: One publisher (hub) broadcasts to many consumers (spokes)"
        },
        "roles": {
          "type": "array",
          "description": "Fixed role structure for broadcast model",
          "minItems": 2,
          "maxItems": 2,
          "const": [
            "publisher",
            "audience"
          ]
        },
        "valueSource": {
          "type": "string",
          "const": "content_creation",
          "description": "Platform value derives from creating or curating content"
        },
        "transactionFlow": {
          "type": "string",
          "const": "one_to_many",
          "description": "Content distributed from single source to many destinations"
        },
        "networkEffects": {
          "type": "string",
          "const": "none",
          "description": "No network effects between audience members — reach scales but audience members don't benefit from each other"
        },
        "economicModel": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "advertising",
              "subscription",
              "sponsorship",
              "freemium",
              "pay_per_view"
            ]
          },
          "description": "Monetization strategies compatible with broadcast"
        },
        "contentOwnership": {
          "type": "string",
          "enum": [
            "platform_owned",
            "creator_owned",
            "licensed",
            "mixed"
          ],
          "description": "Who owns intellectual property"
        }
      }
    },
    "publishingModel": {
      "type": "object",
      "description": "How content is acquired and managed",
      "properties": {
        "contentOrigin": {
          "type": "string",
          "enum": [
            "platform_creates",
            "platform_curates",
            "platform_republishes",
            "mixed"
          ],
          "description": "Source of content"
        },
        "editorialControl": {
          "type": "string",
          "enum": [
            "full_editorial",
            "moderated",
            "algorithmic",
            "minimal"
          ],
          "description": "Gatekeeping mechanism"
        },
        "updateCycle": {
          "type": "string",
          "enum": [
            "real_time",
            "hourly",
            "daily",
            "weekly",
            "periodic"
          ],
          "description": "Publication frequency"
        },
        "contentLifespan": {
          "type": "string",
          "enum": [
            "ephemeral",
            "short_term",
            "evergreen",
            "archived"
          ],
          "description": "How long content remains relevant/accessible"
        },
        "contentBreadth": {
          "type": "string",
          "enum": [
            "single_topic",
            "focused_niche",
            "broad_category",
            "general_interest"
          ],
          "description": "Scope of content coverage"
        }
      }
    },
    "contentRequirements": {
      "type": "object",
      "description": "Content capabilities (semantic definition)",
      "required": [
        "contentTypes"
      ],
      "properties": {
        "contentTypes": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "articles",
              "videos",
              "audio",
              "images",
              "documents",
              "livestreams",
              "interactive"
            ]
          },
          "minItems": 1,
          "description": "Supported content formats"
        },
        "contentFormats": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "examples": [
            "text/html",
            "text/markdown",
            "application/pdf",
            "video/mp4",
            "audio/mp3"
          ],
          "description": "Technical MIME types"
        },
        "accessLevels": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "public",
              "subscriber",
              "premium",
              "restricted",
              "members_only"
            ]
          },
          "description": "Audience segmentation for access"
        },
        "archiveStrategy": {
          "type": "string",
          "enum": [
            "no_archive",
            "limited_archive",
            "full_archive"
          ],
          "description": "Content preservation approach"
        },
        "searchability": {
          "type": "string",
          "enum": [
            "not_searchable",
            "limited_search",
            "full_text",
            "advanced_search"
          ],
          "description": "Content discovery mechanism"
        }
      }
    },
    "audienceModel": {
      "type": "object",
      "description": "Audience interaction patterns",
      "properties": {
        "interactionType": {
          "type": "string",
          "const": "minimal_passive",
          "description": "Audience is primarily passive consumer"
        },
        "optionalEngagement": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "comments",
              "ratings",
              "likes",
              "shares",
              "subscriptions"
            ]
          },
          "description": "Secondary engagement features"
        },
        "peerInteraction": {
          "type": "string",
          "const": "minimal_or_none",
          "description": "No significant peer-to-peer user interaction"
        },
        "community": {
          "type": "string",
          "enum": [
            "no_community",
            "minimal_community",
            "moderate_community"
          ],
          "description": "Degree of user community formation"
        }
      }
    },
    "requiredCapabilities": {
      "type": "array",
      "description": "Mandatory capability groups for BroadcastPublisher",
      "items": {
        "type": "string"
      },
      "uniqueItems": true,
      "minItems": 1,
      "contains": {
        "const": "content"
      }
    },
    "architectureComparisons": {
      "type": "object",
      "description": "How BroadcastPublisher differs from other archetypes",
      "properties": {
        "vs_DirectService": {
          "type": "string",
          "const": "Both are one-way (platform→user), but DirectService provides personalized service; BroadcastPublisher sends identical content to all."
        },
        "vs_MediatedExchange": {
          "type": "string",
          "const": "MediatedExchange has multiple suppliers matched with multiple buyers. BroadcastPublisher has one source (publisher) reaching many destinations (audience)."
        },
        "vs_NetworkGraph": {
          "type": "string",
          "const": "NetworkGraph enables peer-to-peer user connections. BroadcastPublisher is asymmetric: publisher→audience, no peer interaction."
        }
      }
    },
    "examples": {
      "type": "array",
      "description": "Real-world BroadcastPublisher implementations",
      "items": {
        "type": "string"
      },
      "examples": [
        "The New York Times (news content)",
        "BBC (broadcast media)",
        "Medium (blogging platform)",
        "Substack (newsletter service)",
        "Spotify (podcast distribution)",
        "YouTube (video publishing + distribution)",
        "NPR (radio/podcast network)",
        "TED (educational video publishing)"
      ]
    }
  },
  "required": [
    "interactionArchetype",
    "structuralMetadata"
  ],
  "validationMetadata": {
    "schemaVersion": "3.0.0",
    "phase": "phase_1",
    "status": "draft",
    "lastValidated": "2026-02-19",
    "validator": "META-AIML QA"
  },
  "$id": "https://schemas.meta-aiml.org/v3.0.0/archetypes/broadcast_publisher.json",
  "allOf": [
    {
      "if": {
        "properties": {
          "interactionArchetype": {
            "contains": {
              "const": "BroadcastPublisher"
            }
          }
        }
      },
      "then": {
        "required": [
          "capabilities"
        ],
        "properties": {
          "capabilities": {
            "type": "object",
            "required": [
              "content"
            ],
            "properties": {
              "content": {
                "$ref": "../components/capability_groups.json#/$defs/ContentCapabilities"
              }
            }
          }
        }
      }
    }
  ],
  "semanticAnnotations": {
    "classificationRationale": "BroadcastPublisher archetype schema aligned with META-AIML v3 structural completeness rules.",
    "disambiguationNotes": "Ontology and archetype constraints are encoded for machine-verifiable validation."
  },
  "governanceMetadata": {
    "schemaVersion": "3.0.0",
    "stabilityLevel": "draft",
    "sdkValidationRules": [
      "RULE-AR-BROADC-001: interactionArchetype MUST contain BroadcastPublisher",
      "RULE-AR-BROADC-002: structuralMetadata const fields MUST match archetype definition",
      "RULE-AR-BROADC-003: capabilities MUST include content"
    ]
  },
  "examples": [
    {
      "scenario": "BroadcastPublisher archetype reference usage #1",
      "note": "Demonstrates canonical structure and required constraints."
    },
    {
      "scenario": "BroadcastPublisher archetype reference usage #2",
      "note": "Demonstrates compliant alternative while preserving ontology/archetype semantics."
    }
  ]
}
