{
  "openapi": "3.1.0",
  "info": {
    "title": "Foresight Engine public API",
    "version": "0.1.0",
    "summary": "Read-only access to sourced venture catalogs, loss forecasts and evidence.",
    "description": "Read the runs and frozen pilots of the Foresight Engine: each run's venture catalog, mitigation categories, ten-year insured-loss forecast, sensitivity, source graph and archived source bytes. No authentication and no API key. Every JSON body is byte for byte what the Foresight Engine kernel returns for the same path. Writes (sign-offs, new runs, task replies) run in the browser kernel of the web app and are not part of this API. Guide: https://foresight-engine.pages.dev/docs",
    "contact": {
      "name": "Foresight Engine",
      "url": "https://foresight-engine.pages.dev/contact"
    }
  },
  "externalDocs": {
    "description": "API and agent guide",
    "url": "https://foresight-engine.pages.dev/docs"
  },
  "servers": [
    {
      "url": "https://foresight-engine.pages.dev",
      "description": "Production"
    }
  ],
  "tags": [
    {
      "name": "Engine",
      "description": "Whether the engine is up, and its version."
    },
    {
      "name": "Runs",
      "description": "Forecast runs and frozen pilots: scope, stages, sign-offs, history."
    },
    {
      "name": "Ventures",
      "description": "The venture catalog, its mitigation categories and logos."
    },
    {
      "name": "Analysis",
      "description": "The ten-year loss forecast and its sensitivity."
    },
    {
      "name": "Evidence",
      "description": "Sources, archived snapshots, evidence tiers and methodology gates."
    },
    {
      "name": "Tasks",
      "description": "Agent tasks: prompts an agent answers and the kernel validates."
    },
    {
      "name": "Packs",
      "description": "Industry packs that make the kernel work for one industry."
    }
  ],
  "paths": {
    "/api/health": {
      "get": {
        "summary": "Engine health and version",
        "operationId": "getHealth",
        "responses": {
          "200": {
            "description": "Engine health and version.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "llm_provider": {
                      "type": "string"
                    },
                    "ok": {
                      "type": "boolean"
                    },
                    "packs": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "runs": {
                      "type": "integer"
                    },
                    "time": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "llm_provider",
                    "ok",
                    "packs",
                    "runs",
                    "time",
                    "version"
                  ],
                  "title": "GetHealthResponse"
                }
              }
            }
          }
        },
        "description": "Reports whether the engine is up, its version, how many runs it knows about and which industry packs are installed. Use it as a cheap liveness probe before other calls.",
        "tags": [
          "Engine"
        ]
      }
    },
    "/api/packs": {
      "get": {
        "summary": "List industry packs",
        "operationId": "listPacks",
        "responses": {
          "200": {
            "description": "List industry packs.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "broken": {
                      "type": "object",
                      "properties": {}
                    },
                    "packs": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "channels": {
                            "type": "object",
                            "properties": {
                              "H": {
                                "type": "object",
                                "properties": {
                                  "description": {
                                    "type": "string"
                                  },
                                  "label": {
                                    "type": "string"
                                  },
                                  "long_label": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "description",
                                  "label",
                                  "long_label"
                                ]
                              },
                              "R": {
                                "type": "object",
                                "properties": {
                                  "description": {
                                    "type": "string"
                                  },
                                  "label": {
                                    "type": "string"
                                  },
                                  "long_label": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "description",
                                  "label",
                                  "long_label"
                                ]
                              },
                              "V": {
                                "type": "object",
                                "properties": {
                                  "description": {
                                    "type": "string"
                                  },
                                  "label": {
                                    "type": "string"
                                  },
                                  "long_label": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "description",
                                  "label",
                                  "long_label"
                                ]
                              }
                            },
                            "required": [
                              "H",
                              "R",
                              "V"
                            ]
                          },
                          "description": {
                            "type": "string"
                          },
                          "discovery_axes": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string"
                                },
                                "label": {
                                  "type": "string"
                                },
                                "peers": {
                                  "type": "array"
                                },
                                "queries": {
                                  "type": "array"
                                }
                              },
                              "required": [
                                "id",
                                "label",
                                "queries"
                              ]
                            }
                          },
                          "evidence_axes": {
                            "type": "object",
                            "properties": {
                              "academic_studies": {
                                "type": "object",
                                "properties": {
                                  "examples": {
                                    "type": "array"
                                  },
                                  "label": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "examples",
                                  "label"
                                ]
                              },
                              "industry_reports": {
                                "type": "object",
                                "properties": {
                                  "examples": {
                                    "type": "array"
                                  },
                                  "label": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "examples",
                                  "label"
                                ]
                              },
                              "ngo_reports": {
                                "type": "object",
                                "properties": {
                                  "examples": {
                                    "type": "array"
                                  },
                                  "label": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "examples",
                                  "label"
                                ]
                              },
                              "regulator_filings": {
                                "type": "object",
                                "properties": {
                                  "examples": {
                                    "type": "array"
                                  },
                                  "label": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "examples",
                                  "label"
                                ]
                              }
                            },
                            "required": [
                              "academic_studies",
                              "industry_reports",
                              "ngo_reports",
                              "regulator_filings"
                            ]
                          },
                          "fit_check": {
                            "type": "object",
                            "properties": {
                              "questions": {
                                "type": "array",
                                "items": {
                                  "type": "object"
                                }
                              }
                            },
                            "required": [
                              "questions"
                            ]
                          },
                          "geography": {
                            "type": "object",
                            "properties": {
                              "home_markets": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "home_markets_label": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "home_markets",
                              "home_markets_label"
                            ]
                          },
                          "hash": {
                            "type": "string"
                          },
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "outcome_lines": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "default_forecast": {
                                  "type": "boolean"
                                },
                                "direction": {
                                  "type": "string"
                                },
                                "id": {
                                  "type": "string"
                                },
                                "label": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "default_forecast",
                                "direction",
                                "id",
                                "label"
                              ]
                            }
                          },
                          "publisher_count": {
                            "type": "integer"
                          },
                          "t1_publisher_count": {
                            "type": "integer"
                          },
                          "thresholds": {
                            "type": "object",
                            "properties": {
                              "confirmed_min_axes": {
                                "type": "integer"
                              },
                              "confirmed_min_sources": {
                                "type": "integer"
                              },
                              "discovery_min_axes_hit": {
                                "type": "integer"
                              },
                              "emerging_investment_floor": {
                                "type": "integer"
                              },
                              "shallow_catalog_min_deep_share": {
                                "type": "number"
                              }
                            },
                            "required": [
                              "confirmed_min_axes",
                              "confirmed_min_sources",
                              "discovery_min_axes_hit",
                              "emerging_investment_floor",
                              "shallow_catalog_min_deep_share"
                            ]
                          },
                          "units": {
                            "type": "object",
                            "properties": {
                              "baseline_unit": {
                                "type": "string"
                              },
                              "currencies": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "default_currency": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "baseline_unit",
                              "currencies",
                              "default_currency"
                            ]
                          },
                          "version": {
                            "type": "string"
                          },
                          "vocabulary": {
                            "type": "object",
                            "properties": {
                              "actionability_label": {
                                "type": "string"
                              },
                              "actionability_modes": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "actor_example": {
                                "type": "string"
                              },
                              "actor_label": {
                                "type": "string"
                              },
                              "baseline_label": {
                                "type": "string"
                              },
                              "initiative_types": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "market_label": {
                                "type": "string"
                              },
                              "outcome_example": {
                                "type": "string"
                              },
                              "outcome_label": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "actionability_label",
                              "actionability_modes",
                              "actor_example",
                              "actor_label",
                              "baseline_label",
                              "initiative_types",
                              "market_label",
                              "outcome_example",
                              "outcome_label"
                            ]
                          }
                        },
                        "required": [
                          "channels",
                          "description",
                          "discovery_axes",
                          "evidence_axes",
                          "fit_check",
                          "geography",
                          "hash",
                          "id",
                          "name",
                          "outcome_lines",
                          "publisher_count",
                          "t1_publisher_count",
                          "thresholds",
                          "units",
                          "version",
                          "vocabulary"
                        ]
                      }
                    }
                  },
                  "required": [
                    "broken",
                    "packs"
                  ],
                  "title": "ListPacksResponse"
                }
              }
            }
          }
        },
        "description": "Lists the industry packs installed in the engine. A pack holds one industry's vocabulary, source tiers and prompts, so the same kernel can forecast insurance claims or logistics costs.",
        "tags": [
          "Packs"
        ]
      }
    },
    "/api/packs/{pack_id}": {
      "get": {
        "summary": "Get one industry pack",
        "operationId": "getPack",
        "parameters": [
          {
            "name": "pack_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "An industry pack id from listPacks, for example insurance."
          }
        ],
        "responses": {
          "200": {
            "description": "Get one industry pack.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "channels": {
                      "type": "object",
                      "properties": {
                        "H": {
                          "type": "object",
                          "properties": {
                            "description": {
                              "type": "string"
                            },
                            "label": {
                              "type": "string"
                            },
                            "long_label": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "description",
                            "label",
                            "long_label"
                          ]
                        },
                        "R": {
                          "type": "object",
                          "properties": {
                            "description": {
                              "type": "string"
                            },
                            "label": {
                              "type": "string"
                            },
                            "long_label": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "description",
                            "label",
                            "long_label"
                          ]
                        },
                        "V": {
                          "type": "object",
                          "properties": {
                            "description": {
                              "type": "string"
                            },
                            "label": {
                              "type": "string"
                            },
                            "long_label": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "description",
                            "label",
                            "long_label"
                          ]
                        }
                      },
                      "required": [
                        "H",
                        "R",
                        "V"
                      ]
                    },
                    "description": {
                      "type": "string"
                    },
                    "discovery_axes": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "label": {
                            "type": "string"
                          },
                          "peers": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "queries": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        },
                        "required": [
                          "id",
                          "label",
                          "queries"
                        ]
                      }
                    },
                    "evidence_axes": {
                      "type": "object",
                      "properties": {
                        "academic_studies": {
                          "type": "object",
                          "properties": {
                            "examples": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "label": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "examples",
                            "label"
                          ]
                        },
                        "industry_reports": {
                          "type": "object",
                          "properties": {
                            "examples": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "label": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "examples",
                            "label"
                          ]
                        },
                        "ngo_reports": {
                          "type": "object",
                          "properties": {
                            "examples": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "label": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "examples",
                            "label"
                          ]
                        },
                        "regulator_filings": {
                          "type": "object",
                          "properties": {
                            "examples": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "label": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "examples",
                            "label"
                          ]
                        }
                      },
                      "required": [
                        "academic_studies",
                        "industry_reports",
                        "ngo_reports",
                        "regulator_filings"
                      ]
                    },
                    "fit_check": {
                      "type": "object",
                      "properties": {
                        "questions": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "hint": {
                                "type": "string"
                              },
                              "id": {
                                "type": "string"
                              },
                              "text": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "id",
                              "text"
                            ]
                          }
                        }
                      },
                      "required": [
                        "questions"
                      ]
                    },
                    "geography": {
                      "type": "object",
                      "properties": {
                        "home_markets": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "home_markets_label": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "home_markets",
                        "home_markets_label"
                      ]
                    },
                    "hash": {
                      "type": "string"
                    },
                    "id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "outcome_lines": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "default_forecast": {
                            "type": "boolean"
                          },
                          "direction": {
                            "type": "string"
                          },
                          "id": {
                            "type": "string"
                          },
                          "label": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "default_forecast",
                          "direction",
                          "id",
                          "label"
                        ]
                      }
                    },
                    "publisher_count": {
                      "type": "integer"
                    },
                    "publishers": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "axes": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "series": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "tier": {
                            "type": "string"
                          },
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "axes",
                          "id",
                          "name",
                          "series",
                          "tier",
                          "url"
                        ]
                      }
                    },
                    "t1_publisher_count": {
                      "type": "integer"
                    },
                    "thresholds": {
                      "type": "object",
                      "properties": {
                        "confirmed_min_axes": {
                          "type": "integer"
                        },
                        "confirmed_min_sources": {
                          "type": "integer"
                        },
                        "discovery_min_axes_hit": {
                          "type": "integer"
                        },
                        "emerging_investment_floor": {
                          "type": "integer"
                        },
                        "shallow_catalog_min_deep_share": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "confirmed_min_axes",
                        "confirmed_min_sources",
                        "discovery_min_axes_hit",
                        "emerging_investment_floor",
                        "shallow_catalog_min_deep_share"
                      ]
                    },
                    "units": {
                      "type": "object",
                      "properties": {
                        "baseline_unit": {
                          "type": "string"
                        },
                        "currencies": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "default_currency": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "baseline_unit",
                        "currencies",
                        "default_currency"
                      ]
                    },
                    "version": {
                      "type": "string"
                    },
                    "vocabulary": {
                      "type": "object",
                      "properties": {
                        "actionability_label": {
                          "type": "string"
                        },
                        "actionability_modes": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "actor_example": {
                          "type": "string"
                        },
                        "actor_label": {
                          "type": "string"
                        },
                        "baseline_label": {
                          "type": "string"
                        },
                        "initiative_types": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "market_label": {
                          "type": "string"
                        },
                        "outcome_example": {
                          "type": "string"
                        },
                        "outcome_label": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "actionability_label",
                        "actionability_modes",
                        "actor_example",
                        "actor_label",
                        "baseline_label",
                        "initiative_types",
                        "market_label",
                        "outcome_example",
                        "outcome_label"
                      ]
                    },
                    "vocabulary_prompt": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "channels",
                    "description",
                    "discovery_axes",
                    "evidence_axes",
                    "fit_check",
                    "geography",
                    "hash",
                    "id",
                    "name",
                    "outcome_lines",
                    "publisher_count",
                    "publishers",
                    "t1_publisher_count",
                    "thresholds",
                    "units",
                    "version",
                    "vocabulary",
                    "vocabulary_prompt"
                  ],
                  "title": "GetPackResponse"
                }
              }
            }
          },
          "404": {
            "description": "No such run, pack, venture, view or snapshot.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Returns one industry pack in full: its outcome vocabulary, publisher tiers and the prompts its agent steps use.",
        "tags": [
          "Packs"
        ]
      }
    },
    "/api/runs": {
      "get": {
        "summary": "List forecast runs",
        "operationId": "listRuns",
        "responses": {
          "200": {
            "description": "List forecast runs.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Response Get Runs Api Runs Get",
                  "properties": {
                    "runs": {
                      "items": {
                        "$ref": "#/components/schemas/RunSummary"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "runs"
                  ]
                }
              }
            }
          }
        },
        "description": "Lists every forecast run with its scope (driver, outcome, geography, horizon), current stage, status and venture and category counts. Start here to find a run_id for the other run endpoints.",
        "tags": [
          "Runs"
        ]
      }
    },
    "/api/runs/{run_id}": {
      "get": {
        "summary": "Get one run with its stages and sign-offs",
        "operationId": "getRun",
        "parameters": [
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
            },
            "description": "A run or pilot id from listRuns, for example 2026-wildfire-southern-europe."
          }
        ],
        "responses": {
          "200": {
            "description": "Get one run with its stages and sign-offs.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunDetail"
                }
              }
            }
          },
          "404": {
            "description": "No such run, pack, venture, view or snapshot.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Returns one run: its scope, every stage with its status, gate findings and the two research leads' sign-offs, and the artifacts each stage produced.",
        "tags": [
          "Runs"
        ]
      }
    },
    "/api/runs/{run_id}/ventures": {
      "get": {
        "summary": "List a run's venture catalog",
        "operationId": "listRunVentures",
        "parameters": [
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
            },
            "description": "A run or pilot id from listRuns, for example 2026-wildfire-southern-europe."
          }
        ],
        "responses": {
          "200": {
            "description": "List a run's venture catalog.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VenturesResponse"
                }
              }
            }
          },
          "404": {
            "description": "No such run, pack, venture, view or snapshot.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Returns the run's venture catalog: every company or initiative working on the run's outcome, with its category, impact channel, country, evidence and serviceability scores, and the sources behind each field.",
        "tags": [
          "Ventures"
        ]
      }
    },
    "/api/runs/{run_id}/categories": {
      "get": {
        "summary": "List a run's mitigation categories",
        "operationId": "listRunCategories",
        "parameters": [
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
            },
            "description": "A run or pilot id from listRuns, for example 2026-wildfire-southern-europe."
          }
        ],
        "responses": {
          "200": {
            "description": "List a run's mitigation categories.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CategoriesResponse"
                }
              }
            }
          },
          "404": {
            "description": "No such run, pack, venture, view or snapshot.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Returns the mitigation categories the run's ventures are clustered into, each with its evidence tier, member ventures and rationale.",
        "tags": [
          "Ventures"
        ]
      }
    },
    "/api/runs/{run_id}/forecast": {
      "get": {
        "summary": "Get a run's loss forecast",
        "operationId": "getRunForecast",
        "parameters": [
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
            },
            "description": "A run or pilot id from listRuns, for example 2026-wildfire-southern-europe."
          }
        ],
        "responses": {
          "200": {
            "description": "Get a run's loss forecast.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "actor_view": {
                      "type": "object",
                      "properties": {
                        "vig_market_share": {
                          "type": "object",
                          "properties": {
                            "lower": {
                              "type": "number"
                            },
                            "sources": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "note": {
                                    "type": "string"
                                  },
                                  "page_or_span": {
                                    "type": "string"
                                  },
                                  "wiki_source_id": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "page_or_span",
                                  "wiki_source_id"
                                ]
                              }
                            },
                            "unit": {
                              "type": "string"
                            },
                            "upper": {
                              "type": "number"
                            },
                            "value": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "lower",
                            "sources",
                            "upper",
                            "value"
                          ]
                        },
                        "vig_view_at_t10": {
                          "type": "object",
                          "properties": {
                            "L_base_eur": {
                              "type": "number"
                            },
                            "L_high_eur": {
                              "type": "number"
                            },
                            "L_low_eur": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "L_base_eur",
                            "L_high_eur",
                            "L_low_eur"
                          ]
                        },
                        "vig_view_note": {
                          "type": "string"
                        }
                      }
                    },
                    "available": {
                      "type": "boolean"
                    },
                    "base_year": {
                      "type": "integer"
                    },
                    "channel_decomposition": {
                      "type": "object",
                      "properties": {
                        "hazard_mitigation": {
                          "type": "object",
                          "properties": {
                            "M": {
                              "type": "number"
                            },
                            "contribution_eur": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "M",
                            "contribution_eur"
                          ]
                        },
                        "recovery_mitigation": {
                          "type": "object",
                          "properties": {
                            "M": {
                              "type": "number"
                            },
                            "contribution_eur": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "M",
                            "contribution_eur"
                          ]
                        },
                        "total_avoided_vs_unmitigated_eur": {
                          "type": "number"
                        },
                        "vulnerability_mitigation": {
                          "type": "object",
                          "properties": {
                            "M": {
                              "type": "number"
                            },
                            "contribution_eur": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "M",
                            "contribution_eur"
                          ]
                        }
                      }
                    },
                    "diagnostics": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "horizon_years": {
                      "type": "integer"
                    },
                    "mitigated": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "base": {
                            "type": "number"
                          },
                          "high": {
                            "type": "number"
                          },
                          "low": {
                            "type": "number"
                          },
                          "t": {
                            "type": "integer"
                          },
                          "year": {
                            "type": "integer"
                          }
                        },
                        "required": [
                          "base",
                          "high",
                          "low",
                          "t",
                          "year"
                        ]
                      }
                    },
                    "note": {
                      "type": "string"
                    },
                    "params": {
                      "type": "object",
                      "properties": {
                        "L_0": {
                          "type": "object",
                          "properties": {
                            "lower": {
                              "type": "integer"
                            },
                            "sources": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "note": {
                                    "type": "string"
                                  },
                                  "page_or_span": {
                                    "type": "string"
                                  },
                                  "wiki_source_id": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "note",
                                  "page_or_span",
                                  "wiki_source_id"
                                ]
                              }
                            },
                            "unit": {
                              "type": "string"
                            },
                            "upper": {
                              "type": "integer"
                            },
                            "value": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "lower",
                            "sources",
                            "unit",
                            "upper",
                            "value"
                          ]
                        },
                        "categories": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "anchors": {
                                "type": "object",
                                "properties": {
                                  "y0": {
                                    "type": "object"
                                  },
                                  "y10": {
                                    "type": "object"
                                  },
                                  "y3": {
                                    "type": "object"
                                  },
                                  "y5": {
                                    "type": "object"
                                  }
                                },
                                "required": [
                                  "y0",
                                  "y10",
                                  "y3",
                                  "y5"
                                ]
                              },
                              "channel": {
                                "type": "string"
                              },
                              "id": {
                                "type": "string"
                              },
                              "mitigation": {
                                "type": "number"
                              },
                              "name": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "anchors",
                              "channel",
                              "id",
                              "mitigation",
                              "name"
                            ]
                          }
                        },
                        "g": {
                          "type": "object",
                          "properties": {
                            "lower": {
                              "type": "number"
                            },
                            "sources": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "note": {
                                    "type": "string"
                                  },
                                  "page_or_span": {
                                    "type": "string"
                                  },
                                  "wiki_source_id": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "note",
                                  "page_or_span",
                                  "wiki_source_id"
                                ]
                              }
                            },
                            "unit": {
                              "type": "string"
                            },
                            "upper": {
                              "type": "number"
                            },
                            "value": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "lower",
                            "sources",
                            "unit",
                            "upper",
                            "value"
                          ]
                        },
                        "outcome_line": {
                          "type": "string"
                        },
                        "policy": {
                          "type": "string"
                        },
                        "rebase": {
                          "type": "string"
                        }
                      }
                    },
                    "run_id": {
                      "type": "string"
                    },
                    "schema_version": {
                      "type": "string"
                    },
                    "unit": {
                      "type": "string"
                    },
                    "unmitigated": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "base": {
                            "type": "number"
                          },
                          "high": {
                            "type": "number"
                          },
                          "low": {
                            "type": "number"
                          },
                          "t": {
                            "type": "integer"
                          },
                          "year": {
                            "type": "integer"
                          }
                        },
                        "required": [
                          "base",
                          "high",
                          "low",
                          "t",
                          "year"
                        ]
                      }
                    },
                    "waterfall": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "channel": {
                            "type": "string"
                          },
                          "delta": {
                            "type": "number"
                          },
                          "end": {
                            "type": "number"
                          },
                          "id": {
                            "type": "string"
                          },
                          "label": {
                            "type": "string"
                          },
                          "start": {
                            "type": "number"
                          }
                        },
                        "required": [
                          "channel",
                          "delta",
                          "end",
                          "id",
                          "label",
                          "start"
                        ]
                      }
                    }
                  },
                  "required": [
                    "actor_view",
                    "available",
                    "base_year",
                    "channel_decomposition",
                    "diagnostics",
                    "horizon_years",
                    "mitigated",
                    "note",
                    "params",
                    "run_id",
                    "schema_version",
                    "unit",
                    "unmitigated",
                    "waterfall"
                  ],
                  "title": "GetRunForecastResponse"
                }
              }
            }
          },
          "404": {
            "description": "No such run, pack, venture, view or snapshot.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Returns the run's ten-year forecast: the unmitigated and mitigated loss trajectories with their low and high bands, split by impact channel where the run computes it. Answers 404 or 409 when the run has not reached the computed stage.",
        "tags": [
          "Analysis"
        ]
      }
    },
    "/api/runs/{run_id}/sensitivity": {
      "get": {
        "summary": "Get a run's sensitivity analysis",
        "operationId": "getRunSensitivity",
        "parameters": [
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
            },
            "description": "A run or pilot id from listRuns, for example 2026-wildfire-southern-europe."
          }
        ],
        "responses": {
          "200": {
            "description": "Get a run's sensitivity analysis.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "available": {
                      "type": "boolean"
                    },
                    "backtest": {
                      "type": "object",
                      "properties": {
                        "anchor_event": {
                          "type": "object",
                          "properties": {
                            "actual_loss_eur": {
                              "type": "integer"
                            },
                            "name": {
                              "type": "string"
                            },
                            "source": {
                              "type": "object",
                              "properties": {
                                "page_or_span": {
                                  "type": "string"
                                },
                                "wiki_source_id": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "page_or_span",
                                "wiki_source_id"
                              ]
                            },
                            "year": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "actual_loss_eur",
                            "name",
                            "source",
                            "year"
                          ]
                        },
                        "anchor_events": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "geography_covered": {
                                "type": "string"
                              },
                              "id": {
                                "type": "string"
                              },
                              "model_retrodiction": {
                                "type": "object",
                                "properties": {
                                  "L_base_eur": {
                                    "type": "number"
                                  },
                                  "L_high_eur": {
                                    "type": "number"
                                  },
                                  "L_low_eur": {
                                    "type": "number"
                                  },
                                  "actual_within_band": {
                                    "type": "boolean"
                                  }
                                },
                                "required": [
                                  "L_base_eur",
                                  "L_high_eur",
                                  "L_low_eur",
                                  "actual_within_band"
                                ]
                              },
                              "name": {
                                "type": "string"
                              },
                              "observed_insured_loss_eur": {
                                "type": "integer"
                              },
                              "scored": {
                                "type": "boolean"
                              },
                              "status": {
                                "type": "string"
                              },
                              "year": {
                                "type": "integer"
                              }
                            },
                            "required": [
                              "id",
                              "name",
                              "scored",
                              "year"
                            ]
                          }
                        },
                        "backtest_status": {
                          "type": "string"
                        },
                        "model_retrodiction": {
                          "type": "object",
                          "properties": {
                            "L_base_eur": {
                              "type": "number"
                            },
                            "L_high_eur": {
                              "type": "number"
                            },
                            "L_low_eur": {
                              "type": "number"
                            },
                            "actual_within_band": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "L_base_eur",
                            "L_high_eur",
                            "L_low_eur",
                            "actual_within_band"
                          ]
                        },
                        "recalibration_recommendation": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "primary_trigger": {
                                  "type": "string"
                                },
                                "review_cadence": {
                                  "type": "string"
                                },
                                "secondary_triggers": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "primary_trigger",
                                "review_cadence",
                                "secondary_triggers"
                              ]
                            },
                            {
                              "type": "string"
                            }
                          ]
                        }
                      },
                      "required": [
                        "recalibration_recommendation"
                      ]
                    },
                    "central_t10": {
                      "type": [
                        "null",
                        "number"
                      ]
                    },
                    "computation": {
                      "type": "object",
                      "properties": {
                        "impact_area": {
                          "type": "string"
                        },
                        "rebasing": {
                          "type": "string"
                        },
                        "retrodiction_bracket": {
                          "type": "string"
                        },
                        "retrodiction_rebased": {
                          "type": "boolean"
                        },
                        "schema": {
                          "type": "string"
                        },
                        "tool": {
                          "type": "string"
                        }
                      }
                    },
                    "interaction_share": {
                      "type": [
                        "null",
                        "number"
                      ]
                    },
                    "method": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "morris": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "S1": {
                            "type": "number"
                          },
                          "S1_conf": {
                            "type": "number"
                          },
                          "ST": {
                            "type": "number"
                          },
                          "ST_conf": {
                            "type": "number"
                          },
                          "label": {
                            "type": "string"
                          },
                          "mu_star": {
                            "type": "number"
                          },
                          "mu_star_conf": {
                            "type": "number"
                          },
                          "param": {
                            "type": "string"
                          },
                          "sigma": {
                            "type": "number"
                          }
                        },
                        "required": [
                          "S1",
                          "S1_conf",
                          "ST",
                          "ST_conf",
                          "label",
                          "mu_star",
                          "mu_star_conf",
                          "param",
                          "sigma"
                        ]
                      }
                    },
                    "note": {
                      "type": "string"
                    },
                    "notes": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "sobol": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "S1": {
                            "type": "number"
                          },
                          "S1_conf": {
                            "type": "number"
                          },
                          "ST": {
                            "type": "number"
                          },
                          "ST_conf": {
                            "type": "number"
                          },
                          "label": {
                            "type": "string"
                          },
                          "mu_star": {
                            "type": "number"
                          },
                          "mu_star_conf": {
                            "type": "number"
                          },
                          "param": {
                            "type": "string"
                          },
                          "sigma": {
                            "type": "number"
                          }
                        },
                        "required": [
                          "S1",
                          "S1_conf",
                          "ST",
                          "ST_conf",
                          "label",
                          "mu_star",
                          "mu_star_conf",
                          "param",
                          "sigma"
                        ]
                      }
                    },
                    "top_drivers": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "tornado": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "high": {
                            "type": "number"
                          },
                          "label": {
                            "type": "string"
                          },
                          "low": {
                            "type": "number"
                          },
                          "param": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "high",
                          "label",
                          "low",
                          "param"
                        ]
                      }
                    }
                  },
                  "required": [
                    "available",
                    "morris",
                    "sobol",
                    "tornado"
                  ],
                  "title": "GetRunSensitivityResponse"
                }
              }
            }
          },
          "404": {
            "description": "No such run, pack, venture, view or snapshot.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Returns which parameters move the year-ten loss most: the one-at-a-time tornado and, where computed, global sensitivity indices. Answers 404 or 409 when the run has no computed forecast.",
        "tags": [
          "Analysis"
        ]
      }
    },
    "/api/runs/{run_id}/evidence": {
      "get": {
        "summary": "Get a run's evidence graph",
        "operationId": "getRunEvidence",
        "parameters": [
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
            },
            "description": "A run or pilot id from listRuns, for example 2026-wildfire-southern-europe."
          }
        ],
        "responses": {
          "200": {
            "description": "Get a run's evidence graph.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "counts": {
                      "type": "object",
                      "properties": {
                        "archives": {
                          "type": "integer"
                        },
                        "by_tier": {
                          "type": "object",
                          "properties": {
                            "T1": {
                              "type": "integer"
                            },
                            "T2": {
                              "type": "integer"
                            },
                            "T3": {
                              "type": "integer"
                            }
                          },
                          "required": [
                            "T1"
                          ]
                        },
                        "missing_pages": {
                          "type": "integer"
                        },
                        "snapshots": {
                          "type": "integer"
                        },
                        "sources": {
                          "type": "integer"
                        }
                      },
                      "required": [
                        "archives",
                        "by_tier",
                        "missing_pages",
                        "snapshots",
                        "sources"
                      ]
                    },
                    "edges": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "from": {
                            "type": "string"
                          },
                          "kind": {
                            "type": "string"
                          },
                          "to": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "from",
                          "kind",
                          "to"
                        ]
                      }
                    },
                    "nodes": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "kind": {
                            "type": "string"
                          },
                          "label": {
                            "type": "string"
                          },
                          "meta": {
                            "type": "object",
                            "properties": {
                              "channel": {
                                "type": "string"
                              },
                              "hash": {
                                "type": "string"
                              },
                              "lower": {
                                "type": "number"
                              },
                              "page_exists": {
                                "type": "boolean"
                              },
                              "path": {
                                "type": "string"
                              },
                              "publisher": {
                                "type": "string"
                              },
                              "slug": {
                                "type": "string"
                              },
                              "tier": {
                                "type": "string"
                              },
                              "unit": {
                                "type": "string"
                              },
                              "upper": {
                                "type": "number"
                              },
                              "url": {
                                "type": "string"
                              },
                              "value": {
                                "type": "number"
                              }
                            }
                          },
                          "tier": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "kind",
                          "label",
                          "meta"
                        ]
                      }
                    },
                    "run_id": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "counts",
                    "edges",
                    "nodes",
                    "run_id"
                  ],
                  "title": "GetRunEvidenceResponse"
                }
              }
            }
          },
          "404": {
            "description": "No such run, pack, venture, view or snapshot.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Returns the sources the run cites, with publisher, tier (T1, T2 or T3), archive links and the parameters and ventures each source supports.",
        "tags": [
          "Evidence"
        ]
      }
    },
    "/api/runs/{run_id}/log": {
      "get": {
        "summary": "Get a run's event log",
        "operationId": "getRunLog",
        "parameters": [
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
            },
            "description": "A run or pilot id from listRuns, for example 2026-wildfire-southern-europe."
          }
        ],
        "responses": {
          "200": {
            "description": "Get a run's event log.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "events": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "at": {
                            "type": "string"
                          },
                          "detail": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "kind": {
                            "type": "string"
                          },
                          "label": {
                            "type": "string"
                          },
                          "meta": {
                            "type": "object",
                            "additionalProperties": {
                              "anyOf": [
                                {
                                  "type": "array",
                                  "items": {
                                    "type": [
                                      "object",
                                      "string"
                                    ]
                                  }
                                },
                                {
                                  "type": "boolean"
                                },
                                {
                                  "type": "null"
                                },
                                {
                                  "type": "number"
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "cat_h_flood_retention_infrastructure": {
                                      "type": "object"
                                    },
                                    "cat_h_floodplain_wetland_restoration": {
                                      "type": "object"
                                    },
                                    "cat_h_structural_flood_defence": {
                                      "type": "object"
                                    },
                                    "cat_r_ai_actuarial_pricing": {
                                      "type": "object"
                                    },
                                    "cat_r_ai_claims_triage": {
                                      "type": "object"
                                    },
                                    "cat_r_modular_rapid_reconstruction": {
                                      "type": "object"
                                    },
                                    "cat_r_post_event_remote_assessment": {
                                      "type": "object"
                                    },
                                    "cat_v_building_standards_pfr": {
                                      "type": "object"
                                    },
                                    "cat_v_deployable_property_barriers": {
                                      "type": "object"
                                    },
                                    "cat_v_flood_warning_forecasting": {
                                      "type": "object"
                                    },
                                    "cat_v_satellite_parametric_observation": {
                                      "type": "object"
                                    }
                                  },
                                  "required": [
                                    "cat_h_flood_retention_infrastructure",
                                    "cat_h_floodplain_wetland_restoration",
                                    "cat_h_structural_flood_defence",
                                    "cat_r_ai_actuarial_pricing",
                                    "cat_r_ai_claims_triage",
                                    "cat_r_modular_rapid_reconstruction",
                                    "cat_r_post_event_remote_assessment",
                                    "cat_v_building_standards_pfr",
                                    "cat_v_deployable_property_barriers",
                                    "cat_v_flood_warning_forecasting",
                                    "cat_v_satellite_parametric_observation"
                                  ]
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            }
                          },
                          "ref": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "source": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "at",
                          "detail",
                          "kind",
                          "label",
                          "meta",
                          "ref",
                          "source"
                        ]
                      }
                    }
                  },
                  "required": [
                    "events"
                  ],
                  "title": "GetRunLogResponse"
                }
              }
            }
          },
          "404": {
            "description": "No such run, pack, venture, view or snapshot.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Returns the run's append-only event log: stage starts, agent replies applied, sign-offs and send-backs, each with its time and actor.",
        "tags": [
          "Runs"
        ]
      }
    },
    "/api/runs/{run_id}/tasks": {
      "get": {
        "summary": "List a run's agent tasks",
        "operationId": "listRunTasks",
        "parameters": [
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
            },
            "description": "A run or pilot id from listRuns, for example 2026-wildfire-southern-europe."
          }
        ],
        "responses": {
          "200": {
            "description": "List a run's agent tasks.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "tasks": {
                      "type": "array"
                    }
                  },
                  "required": [
                    "tasks"
                  ],
                  "title": "ListRunTasksResponse"
                }
              }
            }
          },
          "404": {
            "description": "No such run, pack, venture, view or snapshot.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Lists the agent tasks a run has issued (venture scouting, clustering, descriptions, domain checks) with their status. Answering a task happens in the web app, not through this read-only API.",
        "tags": [
          "Tasks"
        ]
      }
    },
    "/api/runs/{run_id}/gates": {
      "get": {
        "summary": "Get a run's methodology gate findings",
        "operationId": "getRunGates",
        "parameters": [
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
            },
            "description": "A run or pilot id from listRuns, for example 2026-wildfire-southern-europe."
          }
        ],
        "responses": {
          "200": {
            "description": "Get a run's methodology gate findings.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "findings": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          },
                          "ref": {
                            "type": "string"
                          },
                          "severity": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "code",
                          "message",
                          "ref",
                          "severity"
                        ]
                      }
                    }
                  },
                  "required": [
                    "findings"
                  ],
                  "title": "GetRunGatesResponse"
                }
              }
            }
          },
          "404": {
            "description": "No such run, pack, venture, view or snapshot.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Returns the findings of the methodology's validation gates for the run (schema checks, source tier rules, cross-phase consistency), each with its code, severity and the file it refers to.",
        "tags": [
          "Evidence"
        ]
      }
    },
    "/api/runs/{run_id}/evals/tiering": {
      "get": {
        "summary": "Get a run's category tiering check",
        "operationId": "getRunTieringEval",
        "parameters": [
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
            },
            "description": "A run or pilot id from listRuns, for example 2026-wildfire-southern-europe."
          }
        ],
        "responses": {
          "200": {
            "description": "Get a run's category tiering check.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "agreement": {
                      "type": [
                        "null",
                        "number"
                      ]
                    },
                    "categories": {
                      "type": "integer"
                    },
                    "rows": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "agrees": {
                            "type": "boolean"
                          },
                          "computed": {
                            "type": "string"
                          },
                          "declared": {
                            "type": "string"
                          },
                          "id": {
                            "type": "string"
                          },
                          "reason": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "agrees",
                          "computed",
                          "declared",
                          "id",
                          "reason"
                        ]
                      }
                    },
                    "run_id": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "agreement",
                    "categories",
                    "rows",
                    "run_id"
                  ],
                  "title": "GetRunTieringEvalResponse"
                }
              }
            }
          },
          "404": {
            "description": "No such run, pack, venture, view or snapshot.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Recomputes each category's evidence tier from its sources and reports where the recorded tier and the recomputed one disagree.",
        "tags": [
          "Evidence"
        ]
      }
    },
    "/api/tasks": {
      "get": {
        "summary": "List agent tasks across all runs",
        "operationId": "listTasks",
        "responses": {
          "200": {
            "description": "List agent tasks across all runs.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "tasks": {
                      "type": "array"
                    }
                  },
                  "required": [
                    "tasks"
                  ],
                  "title": "ListTasksResponse"
                }
              }
            }
          }
        },
        "description": "Lists open and finished agent tasks across every run, newest first, including intake tasks that turn a plain-text request into a run scope.",
        "tags": [
          "Tasks"
        ]
      }
    },
    "/api/runs/{run_id}/snapshots/{digest}": {
      "get": {
        "summary": "Download an archived source snapshot",
        "operationId": "getRunSnapshot",
        "parameters": [
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
            },
            "description": "A run or pilot id from listRuns, for example 2026-wildfire-southern-europe."
          },
          {
            "name": "digest",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[0-9a-f]{64}$"
            },
            "description": "The SHA-256 hex digest of a snapshot, as listed by getRunEvidence."
          }
        ],
        "responses": {
          "200": {
            "description": "Download an archived source snapshot.",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "application/pdf": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/jpeg": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/webp": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "404": {
            "description": "No such run, pack, venture, view or snapshot.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "400": {
            "description": "The digest is not a SHA-256 hex string.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Returns the archived bytes of a cited source by its SHA-256 digest (HTML, PDF or image). Snapshots are served inert, inside a sandbox content security policy. Snapshots over 25 MiB are not hosted; use the archive link from the evidence endpoint instead.",
        "tags": [
          "Evidence"
        ]
      }
    },
    "/api/runs/{run_id}/logos/{vid}": {
      "get": {
        "summary": "Download a venture's logo",
        "operationId": "getVentureLogo",
        "parameters": [
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
            },
            "description": "A run or pilot id from listRuns, for example 2026-wildfire-southern-europe."
          },
          {
            "name": "vid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "A venture id from listRunVentures."
          }
        ],
        "responses": {
          "200": {
            "description": "Download a venture's logo.",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/jpeg": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/webp": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/gif": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/x-icon": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "404": {
            "description": "No such run, pack, venture, view or snapshot.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Returns the archived logo image of one venture in a run, as PNG, JPEG, WebP, GIF, ICO or SVG.",
        "tags": [
          "Ventures"
        ]
      }
    },
    "/api/runs/{run_id}/exports/catalog.xlsx": {
      "get": {
        "summary": "Download a run's venture catalog workbook",
        "operationId": "downloadVentureCatalog",
        "parameters": [
          {
            "name": "run_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$"
            },
            "description": "A run or pilot id from listRuns, for example 2026-wildfire-southern-europe."
          }
        ],
        "responses": {
          "200": {
            "description": "Download a run's venture catalog workbook.",
            "content": {
              "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "404": {
            "description": "No such run, pack, venture, view or snapshot.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "description": "Returns the run's rendered venture catalog as an Excel workbook (two sheets: the catalog and the venture details). Answers 404 when no catalog has been rendered for the run yet.",
        "tags": [
          "Ventures"
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "Actionability": {
        "properties": {
          "mode": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Mode"
          },
          "rationale": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rationale"
          },
          "next_step": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Step"
          }
        },
        "type": "object",
        "title": "Actionability"
      },
      "ArtifactMeta": {
        "properties": {
          "type": {
            "type": "string",
            "title": "Type"
          },
          "path": {
            "type": "string",
            "title": "Path"
          },
          "exists": {
            "type": "boolean",
            "title": "Exists"
          },
          "hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hash"
          },
          "signed_off": {
            "type": "boolean",
            "title": "Signed Off",
            "default": false
          },
          "signoffs": {
            "items": {
              "$ref": "#/components/schemas/Signoff"
            },
            "type": "array",
            "title": "Signoffs"
          }
        },
        "type": "object",
        "required": [
          "type",
          "path",
          "exists"
        ],
        "title": "ArtifactMeta"
      },
      "Bounded": {
        "properties": {
          "value": {
            "type": "number",
            "title": "Value"
          },
          "lower": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Lower"
          },
          "upper": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Upper"
          },
          "unit": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Unit"
          }
        },
        "type": "object",
        "required": [
          "value"
        ],
        "title": "Bounded"
      },
      "CategoriesResponse": {
        "properties": {
          "run_id": {
            "type": "string",
            "title": "Run Id"
          },
          "categories": {
            "items": {
              "$ref": "#/components/schemas/Category"
            },
            "type": "array",
            "title": "Categories"
          },
          "excluded": {
            "items": {
              "type": "object"
            },
            "type": "array",
            "title": "Excluded"
          },
          "revision_log": {
            "items": {
              "type": "object"
            },
            "type": "array",
            "title": "Revision Log"
          },
          "orphans": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Orphans"
          },
          "thresholds": {
            "type": "object",
            "title": "Thresholds"
          },
          "gates": {
            "items": {
              "$ref": "#/components/schemas/GateFinding"
            },
            "type": "array",
            "title": "Gates"
          }
        },
        "type": "object",
        "required": [
          "run_id",
          "categories"
        ],
        "title": "CategoriesResponse"
      },
      "Category": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "channel": {
            "type": "string",
            "enum": [
              "H",
              "V",
              "R"
            ],
            "title": "Channel"
          },
          "channel_label": {
            "type": "string",
            "title": "Channel Label"
          },
          "tier": {
            "type": "string",
            "title": "Tier"
          },
          "tier_rationale": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tier Rationale"
          },
          "definition": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Definition"
          },
          "cluster_rationale": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cluster Rationale"
          },
          "members": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Members"
          },
          "member_names": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Member Names"
          },
          "effectiveness": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Bounded"
              },
              {
                "type": "null"
              }
            ]
          },
          "effectiveness_definition": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Effectiveness Definition"
          },
          "effectiveness_sources": {
            "items": {
              "$ref": "#/components/schemas/SourceRef"
            },
            "type": "array",
            "title": "Effectiveness Sources"
          },
          "addressable_share": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Addressable Share"
          },
          "axes_hit": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Axes Hit"
          },
          "citations": {
            "items": {
              "type": "object"
            },
            "type": "array",
            "title": "Citations"
          },
          "total_disclosed": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Total Disclosed"
          },
          "unknown_count": {
            "type": "integer",
            "title": "Unknown Count",
            "default": 0
          },
          "adoption": {
            "anyOf": [
              {
                "additionalProperties": {
                  "$ref": "#/components/schemas/Bounded"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Adoption"
          },
          "saturation_cap": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Saturation Cap"
          },
          "mitigation": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "object"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Mitigation"
          },
          "tier_check": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TierCheck"
              },
              {
                "type": "null"
              }
            ]
          },
          "wiki_page": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Wiki Page"
          }
        },
        "type": "object",
        "required": [
          "id",
          "name",
          "channel",
          "channel_label",
          "tier"
        ],
        "title": "Category"
      },
      "DomainResolution": {
        "properties": {
          "verdict": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Verdict"
          },
          "domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Domain"
          },
          "grade": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Grade"
          },
          "anchor_signal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Anchor Signal"
          },
          "leads_review": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Leads Review"
          },
          "evidence_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Evidence Url"
          },
          "evidence_excerpt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Evidence Excerpt"
          },
          "proposed_by": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Proposed By"
          },
          "reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reason"
          },
          "resolved_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Resolved At"
          }
        },
        "type": "object",
        "title": "DomainResolution"
      },
      "Error": {
        "type": "object",
        "title": "Error",
        "required": [
          "detail"
        ],
        "properties": {
          "detail": {
            "type": "string",
            "description": "What went wrong, in plain words."
          }
        }
      },
      "Facet": {
        "properties": {
          "key": {
            "type": "string",
            "title": "Key"
          },
          "label": {
            "type": "string",
            "title": "Label"
          },
          "values": {
            "items": {
              "type": "object"
            },
            "type": "array",
            "title": "Values"
          }
        },
        "type": "object",
        "required": [
          "key",
          "label",
          "values"
        ],
        "title": "Facet"
      },
      "GateFinding": {
        "properties": {
          "code": {
            "type": "string",
            "title": "Code"
          },
          "severity": {
            "type": "string",
            "enum": [
              "error",
              "warning",
              "info"
            ],
            "title": "Severity"
          },
          "message": {
            "type": "string",
            "title": "Message"
          },
          "ref": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ref"
          }
        },
        "type": "object",
        "required": [
          "code",
          "severity",
          "message"
        ],
        "title": "GateFinding"
      },
      "Identity": {
        "properties": {
          "legal_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Legal Name"
          },
          "entity_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Entity Type"
          },
          "jurisdiction": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Jurisdiction"
          },
          "registration_ids": {
            "items": {
              "type": "object"
            },
            "type": "array",
            "title": "Registration Ids"
          },
          "registered_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Registered Address"
          },
          "programme_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Programme Id"
          },
          "programme_host": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Programme Host"
          },
          "enrichment_status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enrichment Status"
          },
          "identity_sources": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Identity Sources"
          }
        },
        "type": "object",
        "title": "Identity"
      },
      "Logo": {
        "properties": {
          "status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Status"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          },
          "source_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Source Url"
          },
          "hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Hash"
          },
          "ext": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ext"
          },
          "confidence": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Confidence"
          },
          "reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reason"
          },
          "brand_verified": {
            "type": "boolean",
            "title": "Brand Verified",
            "default": false
          },
          "discovered_via": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Discovered Via"
          }
        },
        "type": "object",
        "title": "Logo"
      },
      "RunDetail": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "kind": {
            "type": "string",
            "enum": [
              "pilot",
              "run"
            ],
            "title": "Kind"
          },
          "pack": {
            "type": "string",
            "title": "Pack"
          },
          "scope": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Scope"
              },
              {
                "type": "null"
              }
            ]
          },
          "frozen_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Frozen At"
          },
          "stage": {
            "type": "string",
            "title": "Stage"
          },
          "stage_label": {
            "type": "string",
            "title": "Stage Label"
          },
          "status": {
            "type": "string",
            "enum": [
              "not_started",
              "draft",
              "awaiting_review",
              "signed_off",
              "frozen",
              "blocked"
            ],
            "title": "Status"
          },
          "venture_count": {
            "type": "integer",
            "title": "Venture Count",
            "default": 0
          },
          "category_count": {
            "type": "integer",
            "title": "Category Count",
            "default": 0
          },
          "method_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Method Hash"
          },
          "pack_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Pack Hash"
          },
          "scope_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scope Hash"
          },
          "updated_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Updated At"
          },
          "readonly": {
            "type": "boolean",
            "title": "Readonly",
            "default": false
          },
          "readonly_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Readonly Reason"
          },
          "stages": {
            "items": {
              "$ref": "#/components/schemas/Stage"
            },
            "type": "array",
            "title": "Stages"
          },
          "artifacts": {
            "additionalProperties": {
              "$ref": "#/components/schemas/ArtifactMeta"
            },
            "type": "object",
            "title": "Artifacts"
          },
          "headline": {
            "type": "object",
            "title": "Headline"
          },
          "scope_rationale": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scope Rationale"
          }
        },
        "type": "object",
        "required": [
          "id",
          "title",
          "kind",
          "pack",
          "stage",
          "stage_label",
          "status",
          "stages",
          "artifacts"
        ],
        "title": "RunDetail"
      },
      "RunSummary": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "kind": {
            "type": "string",
            "enum": [
              "pilot",
              "run"
            ],
            "title": "Kind"
          },
          "pack": {
            "type": "string",
            "title": "Pack"
          },
          "scope": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Scope"
              },
              {
                "type": "null"
              }
            ]
          },
          "frozen_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Frozen At"
          },
          "stage": {
            "type": "string",
            "title": "Stage"
          },
          "stage_label": {
            "type": "string",
            "title": "Stage Label"
          },
          "status": {
            "type": "string",
            "enum": [
              "not_started",
              "draft",
              "awaiting_review",
              "signed_off",
              "frozen",
              "blocked"
            ],
            "title": "Status"
          },
          "venture_count": {
            "type": "integer",
            "title": "Venture Count",
            "default": 0
          },
          "category_count": {
            "type": "integer",
            "title": "Category Count",
            "default": 0
          },
          "method_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Method Hash"
          },
          "pack_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Pack Hash"
          },
          "scope_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scope Hash"
          },
          "updated_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Updated At"
          },
          "readonly": {
            "type": "boolean",
            "title": "Readonly",
            "default": false
          },
          "readonly_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Readonly Reason"
          }
        },
        "type": "object",
        "required": [
          "id",
          "title",
          "kind",
          "pack",
          "stage",
          "stage_label",
          "status"
        ],
        "title": "RunSummary"
      },
      "Scope": {
        "properties": {
          "industry": {
            "type": "string",
            "maxLength": 64,
            "minLength": 1,
            "title": "Industry"
          },
          "driver": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1,
            "title": "Driver"
          },
          "outcome": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1,
            "title": "Outcome"
          },
          "geography": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1,
            "title": "Geography"
          },
          "base_year": {
            "type": "integer",
            "maximum": 2200.0,
            "minimum": 1900.0,
            "title": "Base Year"
          },
          "horizon_years": {
            "type": "integer",
            "maximum": 10.0,
            "minimum": 1.0,
            "title": "Horizon Years",
            "default": 10
          },
          "unit": {
            "type": "string",
            "maxLength": 8,
            "minLength": 1,
            "title": "Unit",
            "default": "EUR"
          },
          "actor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 120
              },
              {
                "type": "null"
              }
            ],
            "title": "Actor"
          }
        },
        "type": "object",
        "required": [
          "industry",
          "driver",
          "outcome",
          "geography",
          "base_year"
        ],
        "title": "Scope"
      },
      "Serviceability": {
        "properties": {
          "score": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Score"
          },
          "gates": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object",
            "title": "Gates"
          },
          "install_cost_eur": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Install Cost Eur"
          },
          "install_cost_tier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Install Cost Tier"
          },
          "payback_years": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payback Years"
          },
          "next_gate": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Gate"
          },
          "confidence": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Confidence"
          },
          "evidence_gap": {
            "type": "boolean",
            "title": "Evidence Gap",
            "default": false
          },
          "gap_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gap Reason"
          },
          "justification": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Justification"
          },
          "sources": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Sources"
          }
        },
        "type": "object",
        "title": "Serviceability"
      },
      "Signoff": {
        "properties": {
          "lead": {
            "type": "string",
            "title": "Lead"
          },
          "decision": {
            "type": "string",
            "enum": [
              "approve",
              "send_back"
            ],
            "title": "Decision"
          },
          "artifact_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Artifact Hash"
          },
          "at": {
            "type": "string",
            "title": "At"
          },
          "notes": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Notes"
          }
        },
        "type": "object",
        "required": [
          "lead",
          "decision",
          "at"
        ],
        "title": "Signoff"
      },
      "SourceRef": {
        "properties": {
          "slug": {
            "type": "string",
            "title": "Slug"
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Title"
          },
          "tier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tier"
          },
          "publisher": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Publisher"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          },
          "wayback_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Wayback Url"
          },
          "snapshot_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Snapshot Hash"
          },
          "snapshot_path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Snapshot Path"
          },
          "publication_date": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Publication Date"
          },
          "fetched_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fetched At"
          },
          "page_exists": {
            "type": "boolean",
            "title": "Page Exists",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "slug"
        ],
        "title": "SourceRef"
      },
      "Stage": {
        "properties": {
          "key": {
            "type": "string",
            "title": "Key"
          },
          "label": {
            "type": "string",
            "title": "Label"
          },
          "status": {
            "type": "string",
            "enum": [
              "not_started",
              "draft",
              "awaiting_review",
              "signed_off",
              "frozen",
              "blocked"
            ],
            "title": "Status"
          },
          "artifacts": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Artifacts"
          },
          "gates": {
            "items": {
              "$ref": "#/components/schemas/GateFinding"
            },
            "type": "array",
            "title": "Gates"
          },
          "signoffs": {
            "items": {
              "$ref": "#/components/schemas/Signoff"
            },
            "type": "array",
            "title": "Signoffs"
          },
          "keys_required": {
            "type": "integer",
            "title": "Keys Required",
            "default": 2
          },
          "note": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Note"
          }
        },
        "type": "object",
        "required": [
          "key",
          "label",
          "status"
        ],
        "title": "Stage"
      },
      "TierCheck": {
        "properties": {
          "computed": {
            "type": "string",
            "enum": [
              "confirmed",
              "emerging",
              "insufficient"
            ],
            "title": "Computed"
          },
          "declared": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Declared"
          },
          "agrees": {
            "type": "boolean",
            "title": "Agrees"
          },
          "axes_hit": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Axes Hit"
          },
          "distinct_sources": {
            "type": "integer",
            "title": "Distinct Sources"
          },
          "total_disclosed": {
            "type": "number",
            "title": "Total Disclosed"
          },
          "unknown_count": {
            "type": "integer",
            "title": "Unknown Count"
          },
          "reason": {
            "type": "string",
            "title": "Reason"
          }
        },
        "type": "object",
        "required": [
          "computed",
          "agrees",
          "axes_hit",
          "distinct_sources",
          "total_disclosed",
          "unknown_count",
          "reason"
        ],
        "title": "TierCheck"
      },
      "VentureDossier": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "initiative_type": {
            "type": "string",
            "title": "Initiative Type"
          },
          "channel": {
            "type": "string",
            "enum": [
              "H",
              "V",
              "R"
            ],
            "title": "Channel"
          },
          "channel_label": {
            "type": "string",
            "title": "Channel Label"
          },
          "mechanism_summary": {
            "type": "string",
            "title": "Mechanism Summary"
          },
          "mechanism_tags": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Mechanism Tags"
          },
          "tech_stack": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Tech Stack"
          },
          "disclosed_funding": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Disclosed Funding"
          },
          "currency": {
            "type": "string",
            "title": "Currency",
            "default": "EUR"
          },
          "difficulty": {
            "type": "string",
            "enum": [
              "obvious",
              "mid",
              "deep"
            ],
            "title": "Difficulty"
          },
          "axes_hit": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Axes Hit"
          },
          "sources": {
            "items": {
              "$ref": "#/components/schemas/SourceRef"
            },
            "type": "array",
            "title": "Sources"
          },
          "evidence_score": {
            "type": "integer",
            "title": "Evidence Score",
            "default": 0
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "description_status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description Status"
          },
          "actionability": {
            "$ref": "#/components/schemas/Actionability"
          },
          "identity": {
            "$ref": "#/components/schemas/Identity"
          },
          "domain": {
            "$ref": "#/components/schemas/DomainResolution"
          },
          "logo": {
            "$ref": "#/components/schemas/Logo"
          },
          "serviceability": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Serviceability"
              },
              {
                "type": "null"
              }
            ]
          },
          "category_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Category Id"
          },
          "category_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Category Name"
          },
          "category_tier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Category Tier"
          },
          "wiki_page": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Wiki Page"
          },
          "flags": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Flags"
          }
        },
        "type": "object",
        "required": [
          "id",
          "name",
          "initiative_type",
          "channel",
          "channel_label",
          "mechanism_summary",
          "difficulty"
        ],
        "title": "VentureDossier"
      },
      "VenturesResponse": {
        "properties": {
          "run_id": {
            "type": "string",
            "title": "Run Id"
          },
          "ventures": {
            "items": {
              "$ref": "#/components/schemas/VentureDossier"
            },
            "type": "array",
            "title": "Ventures"
          },
          "facets": {
            "items": {
              "$ref": "#/components/schemas/Facet"
            },
            "type": "array",
            "title": "Facets"
          },
          "counts": {
            "type": "object",
            "title": "Counts"
          },
          "excluded": {
            "items": {
              "type": "object"
            },
            "type": "array",
            "title": "Excluded"
          },
          "pool_quotas": {
            "type": "object",
            "title": "Pool Quotas"
          },
          "catalog_shallow": {
            "type": "boolean",
            "title": "Catalog Shallow",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "run_id",
          "ventures",
          "facets",
          "counts"
        ],
        "title": "VenturesResponse"
      }
    }
  }
}
