{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://strategicsignal.ai/data/ai-data-transactions/v1.0.1/transaction.schema.json",
  "title": "Strategic Signal Corporate AI Data Transaction",
  "description": "Canonical V1 record for observed transactions granting AI-relevant rights to proprietary corporate data. Schema v1.0.1 permits explicit unknown scores and records publication review separately from transaction status.",
  "type": "object",
  "additionalProperties": true,
  "required": [
    "transaction_id",
    "slug",
    "canonical_path",
    "announcement_date",
    "buyer_ai_developer",
    "seller_data_owner",
    "transaction_status",
    "industry",
    "data_category",
    "corpus_description",
    "primary_transaction_structure",
    "access_structure",
    "asset_disposition",
    "corpus_renewal",
    "disclosed_consideration",
    "estimated_economics",
    "economics_scope",
    "rights",
    "restrictions",
    "refreshability",
    "historical_depth",
    "decision_outcome_richness",
    "likely_model_use",
    "likely_strategic_value",
    "m_and_a_implications",
    "analysis_boundary",
    "confidence",
    "scores",
    "sources",
    "date_added",
    "date_last_reviewed"
  ],
  "properties": {
    "transaction_id": {
      "type": "string",
      "pattern": "^SS-AIDT-[0-9]{4}-[0-9]{4}$"
    },
    "slug": {
      "type": "string",
      "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
    },
    "canonical_path": {
      "type": "string",
      "pattern": "^/ai-data-transactions/deals/ss-aidt-[0-9]{4}-[0-9]{4}/$"
    },
    "announcement_date": {
      "type": "string",
      "format": "date"
    },
    "buyer_ai_developer": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "string"
      }
    },
    "seller_data_owner": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "string"
      }
    },
    "transaction_status": {
      "type": "string"
    },
    "industry": {
      "type": "string"
    },
    "data_category": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "string"
      }
    },
    "corpus_description": {
      "type": "string",
      "minLength": 20
    },
    "primary_transaction_structure": {
      "enum": [
        "Data Asset Acquisition",
        "Proprietary Corpus License",
        "Training Rights License",
        "Governed Live Data Access",
        "Federated / Controlled Learning Rights",
        "Sovereign / On-Prem Learning",
        "Strategic Model Co-Development",
        "Proprietary Data + Equity Partnership"
      ]
    },
    "access_structure": {
      "type": "string"
    },
    "asset_disposition": {
      "enum": [
        "Stranded / Separable",
        "Embedded / Continuing"
      ]
    },
    "corpus_renewal": {
      "enum": [
        "Finite Corpus",
        "Renewable Corpus"
      ]
    },
    "source_code_software_asset": {
      "enum": [
        "yes",
        "no",
        "unknown"
      ]
    },
    "disclosed_consideration": {
      "$ref": "#/$defs/economics"
    },
    "estimated_economics": {
      "$ref": "#/$defs/economics"
    },
    "economics_scope": {
      "type": "string"
    },
    "rights": {
      "type": "object",
      "required": [
        "training",
        "post_training",
        "inference_retrieval",
        "ownership_transfer",
        "exclusivity",
        "retention",
        "derived_model",
        "sublicensing"
      ],
      "additionalProperties": false,
      "properties": {
        "training": {
          "type": "string"
        },
        "post_training": {
          "type": "string"
        },
        "inference_retrieval": {
          "type": "string"
        },
        "ownership_transfer": {
          "type": "string"
        },
        "exclusivity": {
          "type": "string"
        },
        "retention": {
          "type": "string"
        },
        "derived_model": {
          "type": "string"
        },
        "sublicensing": {
          "type": "string"
        }
      }
    },
    "restrictions": {
      "type": "object",
      "required": [
        "governed_access",
        "geographic_sovereignty",
        "privacy_pii",
        "trade_secret",
        "de_identification",
        "employee_customer_data"
      ],
      "additionalProperties": false,
      "properties": {
        "governed_access": {
          "type": "string"
        },
        "geographic_sovereignty": {
          "type": "string"
        },
        "privacy_pii": {
          "type": "string"
        },
        "trade_secret": {
          "type": "string"
        },
        "de_identification": {
          "type": "string"
        },
        "employee_customer_data": {
          "type": "string"
        }
      }
    },
    "refreshability": {
      "type": "string"
    },
    "historical_depth": {
      "type": "string"
    },
    "decision_outcome_richness": {
      "type": "string"
    },
    "likely_model_use": {
      "type": "string"
    },
    "likely_strategic_value": {
      "type": "string"
    },
    "m_and_a_implications": {
      "type": "string"
    },
    "analysis_boundary": {
      "type": "string"
    },
    "confidence": {
      "enum": [
        "low",
        "medium",
        "medium_high",
        "high"
      ]
    },
    "scores": {
      "type": "object",
      "required": [
        "methodology_version",
        "asset",
        "transaction_signal"
      ],
      "properties": {
        "methodology_version": {
          "const": "1.0.0"
        },
        "asset": {
          "$ref": "#/$defs/score"
        },
        "transaction_signal": {
          "$ref": "#/$defs/score"
        }
      }
    },
    "sources": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/source"
      }
    },
    "date_added": {
      "type": "string",
      "format": "date"
    },
    "date_last_reviewed": {
      "type": "string",
      "format": "date"
    },
    "publication_review": {
      "type": "object",
      "required": [
        "status"
      ],
      "properties": {
        "status": {
          "enum": [
            "legacy_review_required",
            "human_reviewed"
          ]
        }
      }
    }
  },
  "$defs": {
    "economics": {
      "type": "object",
      "required": [
        "status",
        "amount",
        "currency"
      ],
      "properties": {
        "status": {
          "type": "string"
        },
        "amount": {
          "type": [
            "number",
            "null"
          ],
          "minimum": 0
        },
        "currency": {
          "type": [
            "string",
            "null"
          ]
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        },
        "method": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "score": {
      "type": "object",
      "required": [
        "score",
        "coverage_pct",
        "rationale",
        "factor_ratings"
      ],
      "properties": {
        "score": {
          "type": [
            "integer",
            "null"
          ],
          "minimum": 0,
          "maximum": 100
        },
        "coverage_pct": {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        },
        "rationale": {
          "type": "string"
        },
        "factor_ratings": {
          "type": "object",
          "additionalProperties": {
            "type": [
              "number",
              "null"
            ],
            "minimum": 0,
            "maximum": 5,
            "multipleOf": 0.5
          }
        }
      }
    },
    "source": {
      "type": "object",
      "required": [
        "type",
        "publisher",
        "title",
        "url"
      ],
      "properties": {
        "type": {
          "enum": [
            "primary",
            "primary_syndicated",
            "secondary"
          ]
        },
        "publisher": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "url": {
          "type": "string",
          "format": "uri"
        }
      }
    }
  }
}
