Brand Studio docs
Engineering manualSchema reference

Brand Studio Social Capture V1 bundle

Declared schema: schemas/social-capture-v1.schema.json

Source: schemas/social-capture-v1.schema.json. This is the complete declaration, including nested definitions and constraints. Its presence is not evidence that a runtime producer or consumer validates against it.

All schemas · Data structures and lineage

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://brand.mirrorfactory.ai/schemas/social-capture-v1.schema.json",
  "title": "Brand Studio Social Capture V1 bundle",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "generated_at",
    "canonical_source",
    "markdown_role",
    "captures",
    "totals"
  ],
  "properties": {
    "schema_version": {
      "const": "brand-studio-social-capture-bundle/v1"
    },
    "generated_at": {
      "type": "string"
    },
    "canonical_source": {
      "const": "social-capture.json"
    },
    "markdown_role": {
      "const": "deterministic_view_only"
    },
    "captures": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/capture"
      }
    },
    "totals": {
      "$ref": "#/$defs/counts"
    }
  },
  "$defs": {
    "counts": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "captures",
        "source_nodes",
        "accepted_records",
        "rejected_records",
        "quarantined_nodes"
      ],
      "properties": {
        "captures": {
          "type": "integer",
          "minimum": 0
        },
        "source_nodes": {
          "type": "integer",
          "minimum": 0
        },
        "accepted_records": {
          "type": "integer",
          "minimum": 0
        },
        "rejected_records": {
          "type": "integer",
          "minimum": 0
        },
        "quarantined_nodes": {
          "type": "integer",
          "minimum": 0
        }
      }
    },
    "capture": {
      "type": "object",
      "required": [
        "schema_version",
        "capture_id",
        "platform",
        "capture_method",
        "captured_at",
        "profile",
        "route",
        "capture_contract",
        "privacy",
        "checkpoints",
        "nodes",
        "records",
        "rejections",
        "quarantine",
        "receipt"
      ],
      "properties": {
        "schema_version": {
          "const": "brand-studio-social-capture/v1"
        },
        "capture_id": {
          "type": "string",
          "pattern": "^social-capture-[a-f0-9]{24}$"
        },
        "platform": {
          "type": "string",
          "minLength": 1
        },
        "adapter_version": {
          "type": "string"
        },
        "record_schema_version": {
          "type": "string"
        },
        "capture_method": {
          "type": "string",
          "minLength": 1
        },
        "captured_at": {
          "type": "string"
        },
        "profile": {
          "type": "object"
        },
        "route": {
          "type": "object",
          "required": [
            "url",
            "purpose",
            "kind",
            "status"
          ],
          "properties": {
            "url": {
              "type": "string"
            },
            "purpose": {
              "type": "string"
            },
            "kind": {
              "type": "string"
            },
            "status": {
              "enum": [
                "complete",
                "complete_empty",
                "partial",
                "auth_required",
                "challenge_detected",
                "navigation_failed",
                "extraction_stalled",
                "time_budget_reached"
              ]
            }
          }
        },
        "capture_contract": {
          "type": "object",
          "required": [
            "losslessness",
            "markdown_role",
            "normalization_source",
            "raw_dom_persisted",
            "import_mode"
          ],
          "properties": {
            "losslessness": {
              "type": "string"
            },
            "markdown_role": {
              "const": "deterministic_view_only"
            },
            "normalization_source": {
              "type": "string"
            },
            "raw_dom_persisted": {
              "const": false
            },
            "import_mode": {
              "type": "string"
            }
          }
        },
        "privacy": {
          "type": "object",
          "required": [
            "status",
            "quarantined_nodes",
            "quarantine_payloads_persisted",
            "viewer_identity_terms_configured"
          ],
          "properties": {
            "status": {
              "type": "string"
            },
            "quarantined_nodes": {
              "type": "integer",
              "minimum": 0
            },
            "quarantine_payloads_persisted": {
              "const": false
            },
            "viewer_identity_terms_configured": {
              "type": "boolean"
            }
          }
        },
        "limits": {
          "type": "object"
        },
        "archive_probe": {},
        "checkpoint_receipt": {},
        "checkpoints": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "index",
              "observed_at",
              "node_ids",
              "quarantined_count"
            ],
            "properties": {
              "index": {
                "type": "integer",
                "minimum": 0
              },
              "observed_at": {
                "type": "string"
              },
              "node_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              },
              "quarantined_count": {
                "type": "integer",
                "minimum": 0
              },
              "probe": {}
            }
          }
        },
        "nodes": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "node_id",
              "checkpoint_index",
              "group",
              "source_pointer",
              "classification",
              "payload"
            ],
            "properties": {
              "node_id": {
                "type": "string"
              },
              "checkpoint_index": {
                "type": "integer",
                "minimum": 0
              },
              "group": {
                "type": "string"
              },
              "source_pointer": {
                "type": "string"
              },
              "classification": {
                "type": "string"
              },
              "payload": {}
            }
          }
        },
        "records": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "field_provenance",
              "source_node_ids",
              "source_groups"
            ],
            "properties": {
              "field_provenance": {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "required": [
                    "source_node_id",
                    "source_pointer",
                    "classification",
                    "transform"
                  ],
                  "properties": {
                    "source_node_id": {
                      "type": "string"
                    },
                    "source_pointer": {
                      "type": "string"
                    },
                    "classification": {
                      "enum": [
                        "observed",
                        "adapter_derived",
                        "capture_metadata"
                      ]
                    },
                    "transform": {
                      "type": "string"
                    }
                  }
                }
              },
              "source_node_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "minItems": 1
              },
              "source_groups": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "minItems": 1
              }
            }
          }
        },
        "content_records": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "schema_version"
            ],
            "properties": {
              "schema_version": {
                "const": "brand-studio-social-content/v2"
              }
            }
          }
        },
        "rejections": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "reason"
            ],
            "properties": {
              "node_id": {
                "type": "string"
              },
              "checkpoint_index": {
                "type": "integer",
                "minimum": 0
              },
              "group": {
                "type": "string"
              },
              "reason": {
                "type": "string"
              },
              "payload_sha256": {
                "type": "string",
                "pattern": "^[a-f0-9]{64}$"
              }
            }
          }
        },
        "quarantine": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "node_id",
              "checkpoint_index",
              "group",
              "source_pointer",
              "reason",
              "payload_sha256"
            ],
            "properties": {
              "node_id": {
                "type": "string"
              },
              "checkpoint_index": {
                "type": "integer",
                "minimum": 0
              },
              "group": {
                "type": "string"
              },
              "source_pointer": {
                "type": "string"
              },
              "reason": {
                "type": "string"
              },
              "payload_sha256": {
                "type": "string",
                "pattern": "^[a-f0-9]{64}$"
              }
            }
          }
        },
        "receipt": {
          "type": "object",
          "required": [
            "source_nodes",
            "quarantined_nodes",
            "accepted_records",
            "rejected_records",
            "status"
          ],
          "properties": {
            "source_nodes": {
              "type": "integer",
              "minimum": 0
            },
            "quarantined_nodes": {
              "type": "integer",
              "minimum": 0
            },
            "accepted_records": {
              "type": "integer",
              "minimum": 0
            },
            "rejected_records": {
              "type": "integer",
              "minimum": 0
            },
            "status": {
              "type": "string"
            }
          }
        }
      }
    }
  }
}