{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/hoshin-app/json-schema/hoshin-app-cascade-schema.json",
  "title": "Cascade",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/hoshin-app-openapi.json#/components/schemas/Cascade",
  "type": "object",
  "properties": {
    "rootId": {
      "type": "string",
      "format": "uuid"
    },
    "matrices": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "parentMatrixId": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "depth": {
            "type": "integer"
          }
        },
        "required": [
          "id",
          "name",
          "parentMatrixId",
          "depth"
        ]
      }
    },
    "edges": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "parentId": {
            "type": "string",
            "format": "uuid"
          },
          "parentName": {
            "type": "string"
          },
          "children": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "name": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "name"
              ]
            }
          },
          "coverage": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Share of active East and South elements taken up below, 0 to 100."
          },
          "deployed": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "title": {
                  "type": "string"
                },
                "quadrant": {
                  "type": "string",
                  "enum": [
                    "north",
                    "east",
                    "south",
                    "west"
                  ],
                  "description": "Role of the element, not its place on the drawing: north = breakthrough objectives (3-5 year vision), east = annual objectives, south = initiatives, west = KPIs. A matrix drawn with the vision at the bottom uses the same values."
                },
                "takenUpBy": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "matrixId": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "matrixName": {
                        "type": "string"
                      },
                      "elementId": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "title": {
                        "type": "string"
                      },
                      "quadrant": {
                        "type": "string",
                        "enum": [
                          "north",
                          "east",
                          "south",
                          "west"
                        ],
                        "description": "Role of the element, not its place on the drawing: north = breakthrough objectives (3-5 year vision), east = annual objectives, south = initiatives, west = KPIs. A matrix drawn with the vision at the bottom uses the same values."
                      }
                    },
                    "required": [
                      "matrixId",
                      "matrixName",
                      "elementId",
                      "title",
                      "quadrant"
                    ]
                  }
                }
              },
              "required": [
                "id",
                "title",
                "quadrant",
                "takenUpBy"
              ]
            }
          },
          "notDeployed": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "title": {
                  "type": "string"
                },
                "quadrant": {
                  "type": "string",
                  "enum": [
                    "north",
                    "east",
                    "south",
                    "west"
                  ],
                  "description": "Role of the element, not its place on the drawing: north = breakthrough objectives (3-5 year vision), east = annual objectives, south = initiatives, west = KPIs. A matrix drawn with the vision at the bottom uses the same values."
                }
              },
              "required": [
                "id",
                "title",
                "quadrant"
              ]
            }
          }
        },
        "required": [
          "parentId",
          "parentName",
          "children",
          "coverage",
          "deployed",
          "notDeployed"
        ]
      }
    },
    "unanchored": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "matrixId": {
            "type": "string",
            "format": "uuid"
          },
          "matrixName": {
            "type": "string"
          },
          "elements": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "title": {
                  "type": "string"
                },
                "quadrant": {
                  "type": "string",
                  "enum": [
                    "north",
                    "east",
                    "south",
                    "west"
                  ],
                  "description": "Role of the element, not its place on the drawing: north = breakthrough objectives (3-5 year vision), east = annual objectives, south = initiatives, west = KPIs. A matrix drawn with the vision at the bottom uses the same values."
                }
              },
              "required": [
                "id",
                "title",
                "quadrant"
              ]
            }
          }
        },
        "required": [
          "matrixId",
          "matrixName",
          "elements"
        ]
      }
    },
    "coverage": {
      "type": [
        "integer",
        "null"
      ]
    },
    "ancestors": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ]
      }
    }
  },
  "required": [
    "rootId",
    "matrices",
    "edges",
    "unanchored",
    "coverage",
    "ancestors"
  ]
}