Brand Studio docs
Engineering manualSchema reference

Brand Studio visual direction state

Declared schema: schemas/visual-direction-state.schema.json

Source: schemas/visual-direction-state.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-studio.mirrorfactory.ai/schemas/visual-direction-state.schema.json",
  "title": "Brand Studio visual direction state",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "stage_id",
    "route",
    "direction_count",
    "book_mode",
    "interview",
    "approval",
    "example_book_id",
    "blockers",
    "shipping_blocked",
    "updated_at"
  ],
  "properties": {
    "schema_version": {
      "const": "brand-studio-visual-direction-state/v1"
    },
    "stage_id": {
      "const": "visual_direction"
    },
    "route": {
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "reference_book",
        "standalone_directions",
        "straight_to_code",
        null
      ]
    },
    "direction_count": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 3,
      "maximum": 6
    },
    "book_mode": {
      "enum": [
        "brand_system",
        "feature_story",
        "component_system",
        "storyboard_motion",
        "campaign_narrative"
      ]
    },
    "interview": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "status",
        "question_bank_version",
        "batch_size",
        "answers",
        "brief_confirmed_at"
      ],
      "properties": {
        "status": {
          "enum": [
            "not_started",
            "interview_active",
            "brief_ready",
            "brief_confirmed"
          ]
        },
        "question_bank_version": {
          "type": "string",
          "minLength": 1
        },
        "batch_size": {
          "enum": [
            1,
            5,
            10
          ]
        },
        "answers": {
          "type": "array",
          "maxItems": 10,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "question_id",
              "value",
              "answered_at"
            ],
            "properties": {
              "question_id": {
                "type": "string",
                "minLength": 1
              },
              "value": {
                "type": "string",
                "minLength": 1,
                "maxLength": 1200
              },
              "answered_at": {
                "type": "string",
                "minLength": 1
              }
            }
          }
        },
        "brief_confirmed_at": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "approval": {
      "$ref": "https://brand-studio.mirrorfactory.ai/schemas/approval.schema.json"
    },
    "example_book_id": {
      "const": "brand-studio-spectrum-atlas"
    },
    "blockers": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "shipping_blocked": {
      "type": "boolean"
    },
    "updated_at": {
      "type": [
        "string",
        "null"
      ]
    }
  }
}