{
  "openapi": "3.1.1",
  "info": {
    "title": "Orchestra API",
    "version": "1.1.0",
    "description": "Public data needs no key: the anonymous aggregate routes under /api/public (tag Public data) return raw JSON from https://orchestra.money, cached at the edge and readable from any origin. The versioned API at /api/v1 serves authenticated camera observations, world tracks, insights, jobs and incidents in a {data, meta} envelope; /status and /openapi.json need no key. Machine clients use server-managed bearer keys (1200 requests/minute and six writes/minute). The website and explorer use Google login sessions; cookie writes require X-CSRF-Token and an allowed Origin. The versioned API enables no browser CORS. Media links require authentication; use versioned frame and clip endpoints with Authorization for machine clients. HLS is session-only. Keys never belong in URLs or frontend code. Idempotency state is bounded and resets on server restart. Calibration and training remain session-only.",
    "contact": {
      "name": "Orchestra developer access",
      "url": "https://orchestra.money/developer#access"
    }
  },
  "servers": [
    {
      "url": "https://orchestra.money/api/v1",
      "description": "Production"
    }
  ],
  "tags": [
    {
      "name": "Public data",
      "description": "Anonymous aggregate reads. No key, no envelope, edge-cached, any origin. Camera locations, imagery, tracks and model text are never included."
    },
    {
      "name": "Status"
    },
    {
      "name": "Cameras"
    },
    {
      "name": "Media"
    },
    {
      "name": "Observations"
    },
    {
      "name": "Insights"
    },
    {
      "name": "Counts"
    },
    {
      "name": "Incidents"
    }
  ],
  "security": [
    {
      "apiKey": []
    }
  ],
  "paths": {
    "/api/public/pulse": {
      "servers": [
        {
          "url": "https://orchestra.money",
          "description": "Public data, no key"
        }
      ],
      "get": {
        "operationId": "publicPulse",
        "summary": "Get the city pulse",
        "tags": [
          "Public data"
        ],
        "security": [],
        "description": "Per-camera average counts for the city and for neighborhoods with at least three counting cameras, the citywide forecast series, sampled AI review activity and possible-incident screening per Pacific day. A section whose source is unavailable is null; show it as unavailable, never as zero.\n\nCadence: Recomputed at most every 10 seconds from the latest count snapshot, the AI review status and incident screening.\n\nCache: Edge copy fresh for 10 s, then served while refreshing for up to 20 s; kept for 24 h if the origin fails. Browsers cache 5 s. Responses from the edge allow any origin (Access-Control-Allow-Origin: *).",
        "parameters": [],
        "x-orchestra-cache": {
          "browserMaxAgeSeconds": 5,
          "freshSeconds": 10,
          "staleWhileRevalidateSeconds": 20,
          "staleIfErrorSeconds": 86400
        },
        "responses": {
          "200": {
            "description": "Aggregate projection; the example is illustrative, not a measurement.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CityPulse"
                },
                "example": {
                  "schemaVersion": "city-pulse-v1",
                  "generatedAt": 1792454400000,
                  "counts": {
                    "asOf": 1792454280000,
                    "snapshotAt": 1792454370000,
                    "windowMinutes": 15,
                    "cameras": {
                      "inventory": 99,
                      "counting": 52,
                      "countingLocationPending": 11
                    },
                    "city": {
                      "people": {
                        "perCamera": 0.83
                      },
                      "vehicles": {
                        "perCamera": 6.41
                      }
                    },
                    "neighborhoods": [
                      {
                        "id": "hayes-valley",
                        "name": "Hayes Valley",
                        "counting": 12,
                        "published": true,
                        "people": {
                          "perCamera": 1.92
                        },
                        "vehicles": {
                          "perCamera": 7.85
                        },
                        "vsForecast": {
                          "people": "above",
                          "vehicles": "near",
                          "z": {
                            "people": [
                              2.3,
                              2.6
                            ],
                            "vehicles": [
                              0.4,
                              -0.2
                            ]
                          },
                          "through": 1792454400000
                        },
                        "series24h": {
                          "start": 1792368000000,
                          "stepMs": 3600000,
                          "people": [
                            1.4,
                            1.6
                          ],
                          "vehicles": [
                            7.1,
                            7.4
                          ]
                        }
                      },
                      {
                        "id": "north-beach",
                        "name": "North Beach",
                        "counting": 1,
                        "published": false
                      }
                    ]
                  },
                  "forecast": {
                    "takenAt": 1792454370000,
                    "history48h": {
                      "start": 1792281600000,
                      "stepMs": 3600000,
                      "people": [
                        0.71,
                        null,
                        0.66
                      ],
                      "vehicles": [
                        5.9,
                        null,
                        6.2
                      ]
                    },
                    "next24h": {
                      "start": 1792454400000,
                      "stepMs": 3600000,
                      "people": {
                        "mean": [
                          0.8,
                          0.9
                        ],
                        "stddev": [
                          0.2,
                          0.25
                        ]
                      },
                      "vehicles": {
                        "mean": [
                          6.3,
                          6.6
                        ],
                        "stddev": [
                          1.1,
                          1.2
                        ]
                      }
                    }
                  },
                  "ai": {
                    "model": "Cosmos 3 Nano",
                    "source": "basic",
                    "camerasReviewedLast5Min": 33,
                    "lastCompletedAt": 1792454396000,
                    "sampledAgeP50Seconds": 240,
                    "completedLastHour": null,
                    "rotation5m": null
                  },
                  "incidents": {
                    "timeZone": "America/Los_Angeles",
                    "complete": true,
                    "since": 1791874800000,
                    "days": [
                      {
                        "date": "2026-10-19",
                        "candidates": 4,
                        "rejected": 2,
                        "expiredNoVerdict": 2,
                        "confirmed": 0,
                        "humanConfirmed": 0,
                        "byKind": {
                          "collision": {
                            "candidates": 4,
                            "rejected": 2,
                            "expiredNoVerdict": 2,
                            "confirmed": 0,
                            "humanConfirmed": 0
                          }
                        }
                      }
                    ]
                  },
                  "insights": {
                    "state": "ready",
                    "published": 0
                  }
                }
              }
            },
            "headers": {
              "X-Orchestra-Projection": {
                "description": "The privacy projection of this payload.",
                "schema": {
                  "const": "public-v2"
                }
              }
            }
          },
          "503": {
            "description": "Starting or temporarily unavailable; retry after Retry-After seconds. Never a placeholder number.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicUnavailable"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/forecast-accuracy": {
      "servers": [
        {
          "url": "https://orchestra.money",
          "description": "Public data, no key"
        }
      ],
      "get": {
        "operationId": "publicForecastAccuracy",
        "summary": "Get citywide forecast accuracy",
        "tags": [
          "Public data"
        ],
        "security": [],
        "description": "Forecasts saved at least 24 hours ahead against later detector-estimated counts, over complete hours with the same cameras on both sides, compared with same-hour-yesterday and seasonal baselines. Any figure based on fewer than 72 matched hours is null and carries a reason. Both targets always appear, including when a baseline wins.\n\nCadence: Recomputed every 30 minutes from the count snapshot.\n\nCache: Edge copy fresh for 5 min, then served while refreshing for up to 1 h; kept for 24 h if the origin fails. Browsers cache 60 s. Responses from the edge allow any origin (Access-Control-Allow-Origin: *).",
        "parameters": [],
        "x-orchestra-cache": {
          "browserMaxAgeSeconds": 60,
          "freshSeconds": 300,
          "staleWhileRevalidateSeconds": 3600,
          "staleIfErrorSeconds": 86400
        },
        "responses": {
          "200": {
            "description": "Aggregate projection; the example is illustrative, not a measurement.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForecastAccuracy"
                },
                "example": {
                  "schemaVersion": "forecast-accuracy-v1",
                  "generatedAt": 1792454400000,
                  "window": {
                    "start": 1791842400000,
                    "end": 1792454400000,
                    "completeHours": 170
                  },
                  "minimumMatchedHours": 72,
                  "targets": {
                    "people": {
                      "model": {
                        "n": 151,
                        "mae": 0.16,
                        "bias": -0.01
                      },
                      "coverage": {
                        "inside": 142,
                        "n": 151,
                        "nominal": 0.68,
                        "band": "issued"
                      },
                      "baselines": [
                        {
                          "id": "previous-day",
                          "matched": {
                            "n": 127,
                            "modelMae": 0.15,
                            "baselineMae": 0.37,
                            "relativeReduction": 0.59,
                            "interval90": [
                              0.41,
                              0.7
                            ]
                          }
                        },
                        {
                          "id": "seasonal",
                          "matched": {
                            "n": 40,
                            "relativeReduction": null,
                            "reason": "fewer than 72 matched hours"
                          }
                        }
                      ]
                    },
                    "vehicles": {
                      "model": {
                        "n": 23,
                        "mae": null,
                        "bias": null,
                        "reason": "fewer than 72 matched hours"
                      },
                      "coverage": {
                        "inside": null,
                        "n": 23,
                        "nominal": 0.68,
                        "band": "issued",
                        "reason": "fewer than 72 matched hours"
                      },
                      "baselines": [
                        {
                          "id": "previous-day",
                          "matched": {
                            "n": 20,
                            "relativeReduction": null,
                            "reason": "fewer than 72 matched hours"
                          }
                        },
                        {
                          "id": "seasonal",
                          "matched": {
                            "n": 9,
                            "relativeReduction": null,
                            "reason": "fewer than 72 matched hours"
                          }
                        }
                      ]
                    }
                  },
                  "method": {
                    "bootstrap": "moving-block, 6-h blocks, 2000 resamples, seed 1"
                  }
                }
              }
            },
            "headers": {
              "X-Orchestra-Projection": {
                "description": "The privacy projection of this payload.",
                "schema": {
                  "const": "public-v2"
                }
              }
            }
          },
          "503": {
            "description": "Starting or temporarily unavailable; retry after Retry-After seconds. Never a placeholder number.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicUnavailable"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/city-forecast": {
      "servers": [
        {
          "url": "https://orchestra.money",
          "description": "Public data, no key"
        }
      ],
      "get": {
        "operationId": "publicCityForecast",
        "summary": "Get the citywide or neighborhood count forecast",
        "tags": [
          "Public data"
        ],
        "security": [],
        "description": "Hourly per-camera means: measured history, forecasts saved a day ahead, and the forecast up to 30 days out with approximate, uncalibrated ±1σ bands.\n\nCadence: From the count snapshot, refreshed every minute.\n\nCache: Edge copy fresh for 1 min, then served while refreshing for up to 15 min; kept for 24 h if the origin fails. Browsers cache 30 s. With any parameter: Edge copy fresh for 5 min, then served while refreshing for up to 1 h; kept for 24 h if the origin fails. Browsers cache 60 s. Responses from the edge allow any origin (Access-Control-Allow-Origin: *).",
        "parameters": [
          {
            "name": "start",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "Start, Unix milliseconds; snapped to the hour at the edge."
          },
          {
            "name": "end",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "End, Unix milliseconds; snapped to the hour at the edge. At most 60 days after start and 30 days ahead."
          },
          {
            "name": "neighborhood",
            "in": "query",
            "schema": {
              "type": "string",
              "maxLength": 80
            },
            "description": "A neighborhood name from /api/public/pulse. Adds scope; unknown names return 400."
          }
        ],
        "x-orchestra-cache": {
          "browserMaxAgeSeconds": 30,
          "freshSeconds": 60,
          "staleWhileRevalidateSeconds": 900,
          "staleIfErrorSeconds": 86400,
          "ranged": {
            "browserMaxAgeSeconds": 60,
            "freshSeconds": 300,
            "staleWhileRevalidateSeconds": 3600,
            "staleIfErrorSeconds": 86400
          }
        },
        "responses": {
          "200": {
            "description": "Aggregate projection; the example is illustrative, not a measurement.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCityForecast"
                }
              }
            },
            "headers": {
              "X-Orchestra-Projection": {
                "description": "The privacy projection of this payload.",
                "schema": {
                  "const": "public-v2"
                }
              }
            }
          },
          "400": {
            "description": "Unsupported, repeated or invalid parameter.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "503": {
            "description": "Starting or temporarily unavailable; retry after Retry-After seconds. Never a placeholder number.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicUnavailable"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/counts/cameras": {
      "servers": [
        {
          "url": "https://orchestra.money",
          "description": "Public data, no key"
        }
      ],
      "get": {
        "operationId": "publicCountCameras",
        "summary": "List counting cameras",
        "tags": [
          "Public data"
        ],
        "security": [],
        "description": "Each camera by ID and neighborhood only: no address, coordinates or counting geometry. A camera whose location is unverified reads \"Location pending\".\n\nCadence: Catalog snapshot refreshed every 5 minutes.\n\nCache: Edge copy fresh for 1 min, then served while refreshing for up to 15 min; kept for 24 h if the origin fails. Browsers cache 30 s. Responses from the edge allow any origin (Access-Control-Allow-Origin: *).",
        "parameters": [],
        "x-orchestra-cache": {
          "browserMaxAgeSeconds": 30,
          "freshSeconds": 60,
          "staleWhileRevalidateSeconds": 900,
          "staleIfErrorSeconds": 86400
        },
        "responses": {
          "200": {
            "description": "Aggregate projection; the example is illustrative, not a measurement.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCountsCatalog"
                },
                "example": {
                  "schemaVersion": "public-counts-v2",
                  "takenAt": 1792454370000,
                  "stale": false,
                  "cameras": [
                    {
                      "id": "CAM-01",
                      "neighborhood": "Hayes Valley",
                      "location": "Hayes Valley",
                      "firstObservation": 1786924800000,
                      "lastObservation": 1792454340000,
                      "observedMinutes": 80123,
                      "validMinutes": 79001,
                      "config": {
                        "lineReviewed": false
                      }
                    },
                    {
                      "id": "CAM-90",
                      "neighborhood": null,
                      "location": "Location pending",
                      "firstObservation": null,
                      "lastObservation": null,
                      "observedMinutes": 0,
                      "validMinutes": 0,
                      "config": {
                        "lineReviewed": false
                      }
                    }
                  ]
                }
              }
            },
            "headers": {
              "X-Orchestra-Projection": {
                "description": "The privacy projection of this payload.",
                "schema": {
                  "const": "public-v2"
                }
              }
            }
          },
          "503": {
            "description": "Starting or temporarily unavailable; retry after Retry-After seconds. Never a placeholder number.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicUnavailable"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/counts/{cameraId}": {
      "servers": [
        {
          "url": "https://orchestra.money",
          "description": "Public data, no key"
        }
      ],
      "get": {
        "operationId": "publicCountSeries",
        "summary": "Get one camera's counts and forecasts",
        "tags": [
          "Public data"
        ],
        "security": [],
        "description": "One-minute to hourly visible counts, forecasts and their checks for one camera. Forecast inputs are named by source and feature, never by values that follow where the camera stands (its weather outlook, nights, peer cameras or nearby closures).\n\nCadence: Computed on request and shared for 20 seconds.\n\nCache: Edge copy fresh for 30 s, then served while refreshing for up to 2 min; kept for 1 h if the origin fails. Browsers cache 15 s. Responses from the edge allow any origin (Access-Control-Allow-Origin: *).",
        "parameters": [
          {
            "name": "cameraId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^CAM-\\d{2,3}$"
            }
          },
          {
            "name": "start",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "Start, Unix milliseconds; snapped to the step at the edge."
          },
          {
            "name": "end",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "End, Unix milliseconds; snapped to the step at the edge. At most 60 days after start and 30 days ahead."
          },
          {
            "name": "stepMinutes",
            "in": "query",
            "schema": {
              "type": "integer",
              "enum": [
                1,
                5,
                15,
                60
              ]
            },
            "description": "Aggregation step in minutes."
          }
        ],
        "x-orchestra-cache": {
          "browserMaxAgeSeconds": 15,
          "freshSeconds": 30,
          "staleWhileRevalidateSeconds": 120,
          "staleIfErrorSeconds": 3600
        },
        "responses": {
          "200": {
            "description": "Aggregate projection; the example is illustrative, not a measurement.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCountsSeries"
                }
              }
            },
            "headers": {
              "X-Orchestra-Projection": {
                "description": "The privacy projection of this payload.",
                "schema": {
                  "const": "public-v2"
                }
              }
            }
          },
          "400": {
            "description": "Unsupported, repeated or invalid parameter.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "503": {
            "description": "Starting or temporarily unavailable; retry after Retry-After seconds. Never a placeholder number.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicUnavailable"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/city-insights": {
      "servers": [
        {
          "url": "https://orchestra.money",
          "description": "Public data, no key"
        }
      ],
      "get": {
        "operationId": "publicCityInsights",
        "summary": "Get model-written city insights",
        "tags": [
          "Public data"
        ],
        "security": [],
        "description": "Only quantitative insights (forecast departures and cross-neighborhood contrasts) citing scopes with at least three cameras, with counts as evidence and no coordinates or frame times. Model-written; may be wrong.\n\nCadence: Generated hourly; earlier analysis is marked stale and expires after two hours.\n\nCache: Edge copy fresh for 2 min, then served while refreshing for up to 10 min; kept for 2 h if the origin fails. Browsers cache 60 s. Responses from the edge allow any origin (Access-Control-Allow-Origin: *).",
        "parameters": [],
        "x-orchestra-cache": {
          "browserMaxAgeSeconds": 60,
          "freshSeconds": 120,
          "staleWhileRevalidateSeconds": 600,
          "staleIfErrorSeconds": 7200
        },
        "responses": {
          "200": {
            "description": "Aggregate projection; the example is illustrative, not a measurement.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCityInsights"
                }
              }
            },
            "headers": {
              "X-Orchestra-Projection": {
                "description": "The privacy projection of this payload.",
                "schema": {
                  "const": "public-v2"
                }
              }
            }
          },
          "503": {
            "description": "Starting or temporarily unavailable; retry after Retry-After seconds. Never a placeholder number.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicUnavailable"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/observations": {
      "servers": [
        {
          "url": "https://orchestra.money",
          "description": "Public data, no key"
        }
      ],
      "get": {
        "operationId": "publicObservations",
        "summary": "Get sampled demographic estimates",
        "tags": [
          "Public data"
        ],
        "security": [],
        "description": "Machine estimates of apparent age, visible skin lightness, apparent presentation and vehicle value for the city and its neighborhoods: not census data, and no identity or race is inferred. A camera's estimates stay in the window while it is offline; activeCameras counts the cameras live at the last refresh. A distribution from fewer than 20 estimates, from a scope with fewer than three active cameras, or from estimates of fewer than three cameras is suppressed to its sample count, as is one that would let a withheld distribution be worked out from the city's.\n\nCadence: Sampled about every 30 minutes over a rolling 7-day window; times rounded down to the hour.\n\nCache: Edge copy fresh for 5 min, then served while refreshing for up to 1 h; kept for 24 h if the origin fails. Browsers cache 60 s. Responses from the edge allow any origin (Access-Control-Allow-Origin: *).",
        "parameters": [],
        "x-orchestra-cache": {
          "browserMaxAgeSeconds": 60,
          "freshSeconds": 300,
          "staleWhileRevalidateSeconds": 3600,
          "staleIfErrorSeconds": 86400
        },
        "responses": {
          "200": {
            "description": "Aggregate projection; the example is illustrative, not a measurement.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicObservations"
                }
              }
            },
            "headers": {
              "X-Orchestra-Projection": {
                "description": "The privacy projection of this payload.",
                "schema": {
                  "const": "public-v2"
                }
              }
            }
          },
          "503": {
            "description": "Starting or temporarily unavailable; retry after Retry-After seconds. Never a placeholder number.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicUnavailable"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/alerts": {
      "servers": [
        {
          "url": "https://orchestra.money",
          "description": "Public data, no key"
        }
      ],
      "get": {
        "operationId": "publicAlerts",
        "summary": "Get current possible-incident alerts",
        "tags": [
          "Public data"
        ],
        "security": [],
        "description": "Alerts confirmed by two automated reviews, not verified by a person, with their neighborhood and camera ID for the shipped Apple apps.\n\nCadence: Live. Treat a response older than 30 seconds as unavailable; the edge never serves an old copy after an error.\n\nCache: Edge copy fresh for 5 s, then served while refreshing for up to 10 s; never served after an origin failure. Browsers cache 5 s. Responses from the edge allow any origin (Access-Control-Allow-Origin: *).",
        "parameters": [],
        "x-orchestra-cache": {
          "browserMaxAgeSeconds": 5,
          "freshSeconds": 5,
          "staleWhileRevalidateSeconds": 10,
          "staleIfErrorSeconds": 0
        },
        "responses": {
          "200": {
            "description": "Aggregate projection; the example is illustrative, not a measurement.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicAlerts"
                }
              }
            }
          },
          "503": {
            "description": "Starting or temporarily unavailable; retry after Retry-After seconds. Never a placeholder number.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicUnavailable"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/machine": {
      "servers": [
        {
          "url": "https://orchestra.money",
          "description": "Public data, no key"
        }
      ],
      "get": {
        "operationId": "publicMachine",
        "summary": "Get what the GPU machine is doing now",
        "tags": [
          "Public data"
        ],
        "security": [],
        "description": "What the machine that runs our models is doing: each GPU by index with its role, utilization and memory in use; live detection frames per second and cameras analyzed; routine scene reviews in the last complete hour; and the motion-model trainer's state. No camera IDs, locations, hostnames, file names or errors. A figure that cannot be read is null; show it as unavailable, never as zero.\n\nCadence: Sampled at most every 30 seconds, and only when requested.\n\nCache: Edge copy fresh for 15 s, then served while refreshing for up to 15 s; kept for 2 min if the origin fails. Browsers cache 15 s. Responses from the edge allow any origin (Access-Control-Allow-Origin: *).",
        "parameters": [],
        "x-orchestra-cache": {
          "browserMaxAgeSeconds": 15,
          "freshSeconds": 15,
          "staleWhileRevalidateSeconds": 15,
          "staleIfErrorSeconds": 120
        },
        "responses": {
          "200": {
            "description": "Aggregate projection; the example is illustrative, not a measurement.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicMachine"
                }
              }
            },
            "headers": {
              "X-Orchestra-Projection": {
                "description": "The privacy projection of this payload.",
                "schema": {
                  "const": "public-v2"
                }
              }
            }
          },
          "503": {
            "description": "Starting or temporarily unavailable; retry after Retry-After seconds. Never a placeholder number.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicUnavailable"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/compute": {
      "servers": [
        {
          "url": "https://orchestra.money",
          "description": "Public data, no key"
        }
      ],
      "get": {
        "operationId": "publicCompute",
        "summary": "Get GPU samples and recorded native model losses",
        "tags": [
          "Public data"
        ],
        "security": [],
        "description": "Three RTX 5090 GPUs and one RTX 3090. Native training, validation and test losses retain their run boundaries. Missing measurements stay null or empty. V-JEPA current-process cumulative means are single snapshots, never a reconstructed training curve. Machine-label cross-entropy is not validated incident accuracy.\n\nCadence: The read-only companion and dev gateway independently sample hardware every five seconds; model points retain their actual measurement times.\n\nCache: Edge copy fresh for 5 s, then served while refreshing for up to 5 s; kept for 2 min if the origin fails. Browsers cache 5 s. Responses from the edge allow any origin (Access-Control-Allow-Origin: *).",
        "parameters": [],
        "x-orchestra-cache": {
          "browserMaxAgeSeconds": 5,
          "freshSeconds": 5,
          "staleWhileRevalidateSeconds": 5,
          "staleIfErrorSeconds": 120
        },
        "responses": {
          "200": {
            "description": "Aggregate projection; the example is illustrative, not a measurement.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCompute"
                },
                "example": {
                  "schemaVersion": "public-compute-v1",
                  "generatedAt": 1,
                  "gpus": [],
                  "losses": {
                    "cosmos": {
                      "state": null,
                      "updatedAt": null,
                      "reason": "No readable loss samples have been recorded.",
                      "series": []
                    },
                    "vjepa": {
                      "state": null,
                      "updatedAt": null,
                      "reason": "No readable loss samples have been recorded.",
                      "series": []
                    },
                    "yolo": {
                      "state": null,
                      "updatedAt": null,
                      "reason": "No readable loss samples have been recorded.",
                      "series": []
                    },
                    "object-review": {
                      "state": null,
                      "updatedAt": null,
                      "reason": "No readable loss samples have been recorded.",
                      "series": []
                    },
                    "chronos": {
                      "state": null,
                      "updatedAt": null,
                      "reason": "No readable loss samples have been recorded.",
                      "series": []
                    },
                    "vehicle": {
                      "state": null,
                      "updatedAt": null,
                      "reason": "No readable loss samples have been recorded.",
                      "series": []
                    },
                    "incident-student": {
                      "state": null,
                      "updatedAt": null,
                      "reason": "No readable loss samples have been recorded.",
                      "series": []
                    },
                    "forecast": {
                      "state": null,
                      "updatedAt": null,
                      "reason": "No readable loss samples have been recorded.",
                      "series": []
                    }
                  }
                }
              }
            },
            "headers": {
              "X-Orchestra-Projection": {
                "description": "The privacy projection of this payload.",
                "schema": {
                  "const": "public-v2"
                }
              }
            }
          },
          "503": {
            "description": "Starting or temporarily unavailable; retry after Retry-After seconds. Never a placeholder number.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicUnavailable"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/models": {
      "servers": [
        {
          "url": "https://orchestra.money",
          "description": "Public data, no key"
        }
      ],
      "get": {
        "operationId": "publicModels",
        "summary": "Get what our two world models are doing and how their training is going",
        "tags": [
          "Public data"
        ],
        "security": [],
        "description": "Totals about Cosmos 3 Nano (routine screening counts, possible incidents, fine-tuning runs with held-out loss against machine labels) and V-JEPA 2.1 (training state, motion-puzzle accuracy per round on validation cameras with each task's chance level, and whether a version is in live use). Puzzle accuracies are on known transforms of real footage, not event accuracy; losses are against machine labels, not accuracy. No camera IDs, locations, imagery, file names or errors. A figure that cannot be read, or is out of date, is null; show it as unavailable, never as zero.\n\nCadence: Built at most every 30 seconds, only when requested. Hourly counts change on the hour; V-JEPA rounds end about hourly; Cosmos runs are rare.\n\nCache: Edge copy fresh for 30 s, then served while refreshing for up to 30 s; kept for 10 min if the origin fails. Browsers cache 30 s. Responses from the edge allow any origin (Access-Control-Allow-Origin: *).",
        "parameters": [],
        "x-orchestra-cache": {
          "browserMaxAgeSeconds": 30,
          "freshSeconds": 30,
          "staleWhileRevalidateSeconds": 30,
          "staleIfErrorSeconds": 600
        },
        "responses": {
          "200": {
            "description": "Aggregate projection; the example is illustrative, not a measurement.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicModels"
                },
                "example": {
                  "schemaVersion": "public-models-v1",
                  "generatedAt": 1792553668182,
                  "cosmos": {
                    "live": {
                      "model": "Cosmos 3 Nano",
                      "liveCameras": 50,
                      "screenedCameras": 50,
                      "screenAgeMedianSeconds": 60,
                      "screensLastHour": 2532,
                      "routineSceneReviewsLastHour": 422,
                      "hourStart": 1792548000000,
                      "possibleIncidents": {
                        "flagged": 8,
                        "confirmed": 0,
                        "since": 1792522408997,
                        "complete": false
                      }
                    },
                    "training": {
                      "state": "candidate",
                      "waitingReason": null,
                      "updatedAt": 1792535951883,
                      "automaticPromotion": false,
                      "runCount": 4,
                      "runs": [
                        {
                          "finishedAt": 1792450640000,
                          "steps": 24,
                          "examples": 48,
                          "trainingSeconds": 50.5,
                          "validationLossBefore": 2.5299,
                          "validationLossAfter": 2.2728,
                          "testLossAfter": 2.1001,
                          "heldOutExamplesMax": 8,
                          "extra": {}
                        },
                        {
                          "finishedAt": 1792453113000,
                          "steps": 24,
                          "examples": 48,
                          "trainingSeconds": 55.9,
                          "validationLossBefore": 2.4095,
                          "validationLossAfter": 2.1795,
                          "testLossAfter": 2.1497,
                          "heldOutExamplesMax": 8,
                          "extra": {}
                        },
                        {
                          "finishedAt": 1792523134000,
                          "steps": 24,
                          "examples": 48,
                          "trainingSeconds": 85.2,
                          "validationLossBefore": 2.3614,
                          "validationLossAfter": 2.0936,
                          "testLossAfter": 2.3595,
                          "heldOutExamplesMax": 8,
                          "extra": {}
                        },
                        {
                          "finishedAt": 1792535951000,
                          "steps": 24,
                          "examples": 48,
                          "trainingSeconds": 49.8,
                          "validationLossBefore": 2.4739,
                          "validationLossAfter": 2.2088,
                          "testLossAfter": 2.1732,
                          "heldOutExamplesMax": 8,
                          "extra": {}
                        }
                      ],
                      "dataset": {
                        "train": 163,
                        "validation": 68,
                        "test": 33,
                        "labelledScenes": 256,
                        "freshTrain": 121,
                        "supportedIncidentExamples": 0,
                        "updatedAt": 1792552979697
                      },
                      "extra": {}
                    }
                  },
                  "vjepa": {
                    "live": {
                      "inUse": false,
                      "since": null,
                      "probationUntil": null,
                      "promotedBy": null,
                      "automaticPromotion": "on",
                      "lastCheck": null
                    },
                    "training": {
                      "state": "training",
                      "updatedAt": 1792553581054,
                      "stage": "1b",
                      "round": 6,
                      "roundStep": 220,
                      "roundSteps": 250,
                      "steps": 1520,
                      "startedAt": 1792536120000,
                      "examplesPerHour": 9311,
                      "examplesToday": 41432,
                      "trainingHoursToday": 4.357,
                      "todayCountedAt": 1792550159583,
                      "freshShare": 0.6675,
                      "mix": {
                        "arrow": 1608,
                        "order": 1608,
                        "span": 1307,
                        "sync": 1709,
                        "sceneAnswers": 1428,
                        "incidentAnswers": 272,
                        "machineLabels": 63
                      }
                    },
                    "select": {
                      "round": 5,
                      "finishedAt": 1792550155900,
                      "epoch": 1,
                      "examples": 434,
                      "cameras": 10,
                      "tasks": {
                        "arrow": {
                          "n": 100,
                          "accuracy": 0.55,
                          "majorityShare": 0.55
                        },
                        "order": {
                          "n": 100,
                          "accuracy": 0.17,
                          "majorityShare": 0.2
                        },
                        "span": null,
                        "sync": {
                          "n": 100,
                          "accuracy": 0.59,
                          "majorityShare": 0.59
                        }
                      },
                      "machineLabelLoss": 0.7726,
                      "machineLabelExamplesMax": 2
                    },
                    "rounds": [
                      {
                        "round": 0,
                        "stage": "1a",
                        "finishedAt": 1792531282133,
                        "step": 250,
                        "epoch": 1,
                        "tasks": {
                          "arrow": {
                            "n": 100,
                            "accuracy": 0.54
                          },
                          "order": {
                            "n": 100,
                            "accuracy": 0.18
                          },
                          "span": null,
                          "sync": {
                            "n": 100,
                            "accuracy": 0.59
                          }
                        },
                        "machineLabelLoss": 2.6245
                      },
                      {
                        "round": 1,
                        "stage": "1a",
                        "finishedAt": 1792533249622,
                        "step": 300,
                        "epoch": 1,
                        "tasks": {
                          "arrow": {
                            "n": 100,
                            "accuracy": 0.41
                          },
                          "order": {
                            "n": 100,
                            "accuracy": 0.14
                          },
                          "span": null,
                          "sync": {
                            "n": 100,
                            "accuracy": 0.6
                          }
                        },
                        "machineLabelLoss": 1.9671
                      },
                      {
                        "round": 2,
                        "stage": "1b",
                        "finishedAt": 1792538317683,
                        "step": 550,
                        "epoch": 1,
                        "tasks": {
                          "arrow": {
                            "n": 100,
                            "accuracy": 0.55
                          },
                          "order": {
                            "n": 100,
                            "accuracy": 0.13
                          },
                          "span": null,
                          "sync": {
                            "n": 100,
                            "accuracy": 0.59
                          }
                        },
                        "machineLabelLoss": 0.7052
                      },
                      {
                        "round": 3,
                        "stage": "1b",
                        "finishedAt": 1792542077705,
                        "step": 800,
                        "epoch": 1,
                        "tasks": {
                          "arrow": {
                            "n": 100,
                            "accuracy": 0.55
                          },
                          "order": {
                            "n": 100,
                            "accuracy": 0.2
                          },
                          "span": null,
                          "sync": {
                            "n": 100,
                            "accuracy": 0.59
                          }
                        },
                        "machineLabelLoss": 0.6091
                      },
                      {
                        "round": 4,
                        "stage": "1b",
                        "finishedAt": 1792546008725,
                        "step": 1050,
                        "epoch": 1,
                        "tasks": {
                          "arrow": {
                            "n": 100,
                            "accuracy": 0.55
                          },
                          "order": {
                            "n": 100,
                            "accuracy": 0.15
                          },
                          "span": null,
                          "sync": {
                            "n": 100,
                            "accuracy": 0.59
                          }
                        },
                        "machineLabelLoss": 0.6747
                      },
                      {
                        "round": 5,
                        "stage": "1b",
                        "finishedAt": 1792550155900,
                        "step": 1300,
                        "epoch": 1,
                        "tasks": {
                          "arrow": {
                            "n": 100,
                            "accuracy": 0.55
                          },
                          "order": {
                            "n": 100,
                            "accuracy": 0.17
                          },
                          "span": null,
                          "sync": {
                            "n": 100,
                            "accuracy": 0.59
                          }
                        },
                        "machineLabelLoss": 0.7726
                      }
                    ],
                    "chance": {
                      "arrow": 0.5,
                      "order": 0.16667,
                      "span": 0.33333,
                      "sync": 0.5
                    },
                    "options": {
                      "arrow": 2,
                      "order": 6,
                      "span": 3,
                      "sync": 2
                    },
                    "goLive": {
                      "aboveChance": 0.05,
                      "checks": 13,
                      "canaryHours": 3,
                      "probationHours": 24
                    }
                  }
                }
              }
            },
            "headers": {
              "X-Orchestra-Projection": {
                "description": "The privacy projection of this payload.",
                "schema": {
                  "const": "public-v2"
                }
              }
            }
          },
          "503": {
            "description": "Starting or temporarily unavailable; retry after Retry-After seconds. Never a placeholder number.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicUnavailable"
                }
              }
            }
          }
        }
      }
    },
    "/status": {
      "get": {
        "operationId": "status",
        "summary": "Service status",
        "tags": [
          "Status"
        ],
        "security": [],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "version": {
                          "type": "string"
                        },
                        "status": {
                          "enum": [
                            "operational",
                            "degraded"
                          ]
                        },
                        "reasons": {
                          "type": "array",
                          "items": {
                            "enum": [
                              "counts-stale",
                              "catalog-stale",
                              "perception-stopped",
                              "no-fresh-cameras",
                              "ai-review-stalled"
                            ],
                            "description": "counts-stale: no count snapshot in 15 minutes; catalog-stale: no camera catalog in 30 minutes; perception-stopped: the detector is not running; no-fresh-cameras: no camera frame in the last minute; ai-review-stalled: no AI scene review completed in 10 minutes while cameras are screened."
                          }
                        },
                        "checkedAt": {
                          "type": "number",
                          "description": "Unix epoch milliseconds; source clocks are estimates."
                        }
                      },
                      "required": [
                        "version",
                        "status",
                        "reasons",
                        "checkedAt"
                      ],
                      "additionalProperties": true
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/runtime": {
      "get": {
        "operationId": "runtime",
        "summary": "Get native client polling configuration",
        "tags": [
          "Status"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/cameras": {
      "get": {
        "operationId": "cameras",
        "summary": "List cameras",
        "tags": [
          "Cameras"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 50,
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Opaque nextCursor. Live collections change; restart pagination after invalid_cursor."
          },
          {
            "name": "cameraId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "cameras": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Camera"
                          }
                        },
                        "pagination": {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      },
                      "required": [
                        "cameras",
                        "pagination"
                      ],
                      "additionalProperties": true
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/cameras/{cameraId}": {
      "get": {
        "operationId": "camera",
        "summary": "Get a camera",
        "tags": [
          "Cameras"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [
          {
            "name": "cameraId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Camera"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/cameras/{cameraId}/analysis": {
      "get": {
        "operationId": "analysis",
        "summary": "Get frame detections and timing",
        "tags": [
          "Cameras"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [
          {
            "name": "cameraId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "metadata",
            "in": "query",
            "schema": {
              "type": "integer",
              "enum": [
                1
              ]
            },
            "description": "Use 1 to omit the embedded JPEG."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "cameraId": {
                          "type": "string"
                        },
                        "now": {
                          "type": "number",
                          "description": "Unix epoch milliseconds; source clocks are estimates."
                        },
                        "fresh": {
                          "type": "boolean"
                        },
                        "timing": {
                          "type": "object",
                          "properties": {},
                          "additionalProperties": true
                        },
                        "objects": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/DetectedObject"
                          }
                        },
                        "boxSamples": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {},
                            "additionalProperties": true
                          }
                        },
                        "videoFraming": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {},
                              "additionalProperties": true
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "image": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": true
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/cameras/{cameraId}/frame": {
      "get": {
        "operationId": "frame",
        "summary": "Get a camera JPEG",
        "tags": [
          "Media"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [
          {
            "name": "cameraId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "enum": [
                "thumbnail",
                "full"
              ]
            }
          },
          {
            "name": "t",
            "in": "query",
            "schema": {
              "type": "number"
            },
            "description": "Optional cache bucket."
          }
        ],
        "responses": {
          "200": {
            "description": "Raw media bytes; no JSON envelope.",
            "content": {
              "image/jpeg": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/cameras/{cameraId}/hd": {
      "post": {
        "operationId": "hd",
        "summary": "Prepare an HD stream",
        "tags": [
          "Media"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [
          {
            "name": "cameraId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 8,
              "maxLength": 128
            },
            "description": "Unique per action. Exact-body replays return the first result for up to 24 hours within the current server process. An uncertain request returns 409; inspect jobs before retrying."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/world": {
      "get": {
        "operationId": "world",
        "summary": "Get camera observations and geometry",
        "tags": [
          "Observations"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/World"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/world/native": {
      "get": {
        "operationId": "nativeWorld",
        "summary": "Get the server-computed world",
        "tags": [
          "Observations"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/NativeWorld"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/map/vehicles": {
      "get": {
        "operationId": "mapVehicles",
        "summary": "Get server-computed map vehicles",
        "tags": [
          "Observations"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "now": {
                          "type": "number",
                          "description": "Unix epoch milliseconds; source clocks are estimates."
                        },
                        "vehicles": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "cameraID": {
                                "type": "string"
                              },
                              "className": {
                                "type": "string"
                              },
                              "coordinate": {
                                "type": "object",
                                "properties": {
                                  "latitude": {
                                    "type": "number"
                                  },
                                  "longitude": {
                                    "type": "number"
                                  }
                                },
                                "additionalProperties": true
                              },
                              "observedAt": {
                                "type": "number",
                                "description": "Unix epoch milliseconds; source clocks are estimates."
                              },
                              "expiresAt": {
                                "type": "number",
                                "description": "Unix epoch milliseconds; source clocks are estimates."
                              },
                              "opacity": {
                                "type": "number"
                              },
                              "heading": {
                                "anyOf": [
                                  {
                                    "type": "number"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "speedMps": {
                                "type": "number"
                              }
                            },
                            "additionalProperties": true
                          }
                        }
                      },
                      "additionalProperties": true
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/observations": {
      "get": {
        "operationId": "observations",
        "summary": "List camera observations",
        "tags": [
          "Observations"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 50,
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Opaque nextCursor. Live collections change; restart pagination after invalid_cursor."
          },
          {
            "name": "cameraId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "observations": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Observation"
                          }
                        },
                        "pagination": {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      },
                      "required": [
                        "observations",
                        "pagination"
                      ],
                      "additionalProperties": true
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/objects": {
      "get": {
        "operationId": "objects",
        "summary": "List detected objects",
        "tags": [
          "Observations"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 50,
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Opaque nextCursor. Live collections change; restart pagination after invalid_cursor."
          },
          {
            "name": "cameraId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "class",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "objects": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/DetectedObject"
                          }
                        },
                        "pagination": {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      },
                      "required": [
                        "objects",
                        "pagination"
                      ],
                      "additionalProperties": true
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/insights": {
      "get": {
        "operationId": "insights",
        "summary": "Get ranked live insights",
        "tags": [
          "Insights"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [
          {
            "name": "cameraId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Insights"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/cameras/{cameraId}/insights": {
      "get": {
        "operationId": "cameraInsights",
        "summary": "Get camera insights",
        "tags": [
          "Insights"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [
          {
            "name": "cameraId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Insights"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/models": {
      "get": {
        "operationId": "models",
        "summary": "Get server model availability",
        "tags": [
          "Insights"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/counts/status": {
      "get": {
        "operationId": "countStatus",
        "summary": "Get count collection and forecasting status",
        "tags": [
          "Counts"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "state": {
                          "type": "string"
                        },
                        "camerasWithHistory": {
                          "type": "integer"
                        },
                        "forecastModel": {
                          "type": "string"
                        },
                        "fineTuned": {
                          "type": "boolean"
                        },
                        "detector": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {},
                              "additionalProperties": true
                            },
                            {
                              "type": "null"
                            }
                          ]
                        }
                      },
                      "additionalProperties": true
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/counts/cameras": {
      "get": {
        "operationId": "countCameras",
        "summary": "List cameras with count history",
        "tags": [
          "Counts"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "cameras": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "observedMinutes": {
                                "type": "integer"
                              },
                              "validMinutes": {
                                "type": "integer"
                              },
                              "firstObservation": {
                                "anyOf": [
                                  {
                                    "type": "number",
                                    "description": "Unix epoch milliseconds; source clocks are estimates."
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "lastObservation": {
                                "anyOf": [
                                  {
                                    "type": "number",
                                    "description": "Unix epoch milliseconds; source clocks are estimates."
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "config": {
                                "type": "object",
                                "properties": {},
                                "additionalProperties": true
                              }
                            },
                            "additionalProperties": true
                          }
                        }
                      },
                      "additionalProperties": true
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/counts/map": {
      "get": {
        "operationId": "countMap",
        "summary": "Get the shared 30-day camera activity outlook",
        "tags": [
          "Counts"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "schemaVersion": {
                          "type": "string"
                        },
                        "now": {
                          "type": "number",
                          "description": "Unix epoch milliseconds; source clocks are estimates."
                        },
                        "forecastEnd": {
                          "type": "number",
                          "description": "Unix epoch milliseconds; source clocks are estimates."
                        },
                        "forecastVersion": {
                          "type": "string"
                        },
                        "targets": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "pointFields": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "nearResolutionMs": {
                          "type": "integer"
                        },
                        "hourlyResolutionMs": {
                          "type": "integer"
                        },
                        "refreshAfterMs": {
                          "type": "integer"
                        },
                        "cameras": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "location": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "state": {
                                "type": "string"
                              },
                              "reason": {
                                "type": "string"
                              },
                              "generatedAt": {
                                "anyOf": [
                                  {
                                    "type": "number",
                                    "description": "Unix epoch milliseconds; source clocks are estimates."
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "forecastEnd": {
                                "anyOf": [
                                  {
                                    "type": "number",
                                    "description": "Unix epoch milliseconds; source clocks are estimates."
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "observed": {
                                "anyOf": [
                                  {
                                    "type": "object",
                                    "properties": {},
                                    "additionalProperties": true
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "stale": {
                                "type": "boolean"
                              },
                              "personalizedTargets": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "near": {
                                "type": "array",
                                "items": {
                                  "type": "array",
                                  "items": {
                                    "type": [
                                      "number",
                                      "null"
                                    ]
                                  },
                                  "minItems": 5,
                                  "maxItems": 5
                                }
                              },
                              "hourly": {
                                "type": "array",
                                "items": {
                                  "type": "array",
                                  "items": {
                                    "type": [
                                      "number",
                                      "null"
                                    ]
                                  },
                                  "minItems": 5,
                                  "maxItems": 5
                                }
                              }
                            },
                            "additionalProperties": true
                          }
                        }
                      },
                      "additionalProperties": true
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/counts/{countCameraId}": {
      "get": {
        "operationId": "countSeries",
        "summary": "Get historical counts and 30-day count forecasts",
        "tags": [
          "Counts"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [
          {
            "name": "countCameraId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "Start timestamp in Unix milliseconds."
          },
          {
            "name": "end",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "End timestamp in Unix milliseconds, up to 30 days ahead."
          },
          {
            "name": "stepMinutes",
            "in": "query",
            "schema": {
              "type": "integer",
              "enum": [
                1,
                5,
                15,
                60
              ]
            },
            "description": "Chart aggregation in minutes."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "camera": {
                          "type": "object",
                          "properties": {},
                          "additionalProperties": true
                        },
                        "now": {
                          "type": "number",
                          "description": "Unix epoch milliseconds; source clocks are estimates."
                        },
                        "start": {
                          "type": "number",
                          "description": "Unix epoch milliseconds; source clocks are estimates."
                        },
                        "end": {
                          "type": "number",
                          "description": "Unix epoch milliseconds; source clocks are estimates."
                        },
                        "stepMinutes": {
                          "type": "integer",
                          "enum": [
                            1,
                            5,
                            15,
                            60
                          ]
                        },
                        "history": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/CountHistoryPoint"
                          }
                        },
                        "forecast": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/CountForecastPoint"
                          }
                        },
                        "model": {
                          "type": "object",
                          "properties": {},
                          "additionalProperties": true
                        },
                        "detector": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {},
                              "additionalProperties": true
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "generating": {
                          "type": "boolean"
                        },
                        "stale": {
                          "type": "boolean"
                        },
                        "aggregation": {
                          "type": "string"
                        },
                        "refreshAfterMs": {
                          "type": "integer"
                        }
                      },
                      "additionalProperties": true
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/jobs": {
      "get": {
        "operationId": "jobs",
        "summary": "List recent analysis jobs",
        "tags": [
          "Insights"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 50,
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Opaque nextCursor. Live collections change; restart pagination after invalid_cursor."
          },
          {
            "name": "cameraId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "jobs": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Job"
                          }
                        },
                        "pagination": {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      },
                      "required": [
                        "jobs",
                        "pagination"
                      ],
                      "additionalProperties": true
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "createJob",
        "summary": "Request scene, vehicle, or comparison analysis",
        "tags": [
          "Insights"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 8,
              "maxLength": 128
            },
            "description": "Unique per action. Exact-body replays return the first result for up to 24 hours within the current server process. An uncertain request returns 409; inspect jobs before retrying."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Job"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "202": {
            "description": "Accepted; poll the returned job id. No guaranteed completion time.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Job"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/SceneJobInput"
                  },
                  {
                    "$ref": "#/components/schemas/VehicleJobInput"
                  },
                  {
                    "$ref": "#/components/schemas/CompareJobInput"
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/jobs/{jobId}": {
      "get": {
        "operationId": "job",
        "summary": "Get an analysis job",
        "tags": [
          "Insights"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Job"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/object-insights": {
      "get": {
        "operationId": "objectInsights",
        "summary": "Get source-linked object insights",
        "tags": [
          "Insights"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [
          {
            "name": "cameraId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "trackId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "session",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "generation",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "observedAt",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "sourceInstance",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "insights": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Job"
                          }
                        },
                        "models": {
                          "type": "object",
                          "properties": {},
                          "additionalProperties": true
                        }
                      },
                      "additionalProperties": true
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "createObjectInsight",
        "summary": "Request object analysis",
        "tags": [
          "Insights"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 8,
              "maxLength": 128
            },
            "description": "Unique per action. Exact-body replays return the first result for up to 24 hours within the current server process. An uncertain request returns 409; inspect jobs before retrying."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Job"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "202": {
            "description": "Accepted; poll the returned job id. No guaranteed completion time.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Job"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ObjectJobInput"
              }
            }
          }
        }
      }
    },
    "/object-insights/{jobId}": {
      "delete": {
        "operationId": "cancelObjectInsight",
        "summary": "Cancel your object analysis job",
        "tags": [
          "Insights"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 8,
              "maxLength": 128
            },
            "description": "Unique per action. Exact-body replays return the first result for up to 24 hours within the current server process. An uncertain request returns 409; inspect jobs before retrying."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/incidents": {
      "get": {
        "operationId": "incidents",
        "summary": "List possible incidents",
        "tags": [
          "Incidents"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 50,
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Opaque nextCursor. Live collections change; restart pagination after invalid_cursor."
          },
          {
            "name": "cameraId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "incidents": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Incident"
                          }
                        },
                        "pagination": {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      },
                      "required": [
                        "incidents",
                        "pagination"
                      ],
                      "additionalProperties": true
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/incidents/{incidentId}": {
      "get": {
        "operationId": "incident",
        "summary": "Get a possible incident",
        "tags": [
          "Incidents"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [
          {
            "name": "incidentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Incident"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/incidents/{incidentId}/clip": {
      "get": {
        "operationId": "clip",
        "summary": "Get an incident video clip",
        "tags": [
          "Media"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [
          {
            "name": "incidentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Range",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "description": "Standard bytes range for video seeking."
          }
        ],
        "responses": {
          "200": {
            "description": "Raw media bytes; no JSON envelope.",
            "content": {
              "video/mp4": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "206": {
            "description": "Raw media bytes; no JSON envelope.",
            "content": {
              "video/mp4": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/incidents/{incidentId}/acknowledge": {
      "post": {
        "operationId": "acknowledge",
        "summary": "Acknowledge a possible incident",
        "tags": [
          "Incidents"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [
          {
            "name": "incidentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 8,
              "maxLength": 128
            },
            "description": "Unique per action. Exact-body replays return the first result for up to 24 hours within the current server process. An uncertain request returns 409; inspect jobs before retrying."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              }
            }
          }
        }
      }
    },
    "/events": {
      "get": {
        "operationId": "events",
        "summary": "Stream world snapshots",
        "tags": [
          "Observations"
        ],
        "security": [
          {
            "apiKey": []
          },
          {
            "session": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Legacy world snapshot/delta SSE payloads (no JSON envelope), up to 110 seconds; reconnect with Authorization. No replay. Two streams per key. Poll /world if this deployment returns 503.",
            "content": {
              "text/event-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "default": {
            "description": "Structured error. 400 invalid input; 401 invalid key; 403 CSRF or Origin failure; 404 missing resource; 409 conflict; 429 quota; 503 processing unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/openapi.json": {
      "get": {
        "operationId": "get__openapi_json",
        "summary": "Download the OpenAPI contract (raw JSON, no envelope)",
        "tags": [
          "Access"
        ],
        "security": [],
        "parameters": [],
        "responses": {
          "200": {
            "description": "OpenAPI 3.1.1 document",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true
                }
              }
            }
          },
          "default": {
            "description": "Structured error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "apiKey": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "orch_live_…",
        "description": "Operator-managed machine API key."
      },
      "session": {
        "type": "apiKey",
        "in": "cookie",
        "name": "__Host-session",
        "description": "Google web session; mutating requests also require X-CSRF-Token and an allowed Origin."
      }
    },
    "schemas": {
      "Meta": {
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "requestId": {
            "type": "string",
            "description": "Opaque correlation ID shared with X-Request-ID."
          },
          "generatedAt": {
            "type": "number",
            "description": "Unix epoch milliseconds; source clocks are estimates."
          }
        },
        "required": [
          "apiVersion",
          "requestId",
          "generatedAt"
        ],
        "additionalProperties": true
      },
      "Error": {
        "type": "object",
        "properties": {
          "error": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "requestId": {
                "type": "string"
              }
            },
            "required": [
              "code",
              "message",
              "requestId"
            ],
            "additionalProperties": true
          },
          "meta": {
            "$ref": "#/components/schemas/Meta"
          }
        },
        "required": [
          "error",
          "meta"
        ],
        "additionalProperties": true
      },
      "Pagination": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "hasMore": {
            "type": "boolean"
          },
          "nextCursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "limit",
          "hasMore",
          "nextCursor"
        ],
        "additionalProperties": true
      },
      "Camera": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^CAM-\\d{2,3}$"
          },
          "location": {
            "type": "string"
          },
          "lat": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          },
          "lng": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          },
          "status": {
            "type": "string"
          },
          "stream": {
            "type": "string"
          },
          "hdStream": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "location",
          "lat",
          "lng"
        ],
        "additionalProperties": true
      },
      "Source": {
        "type": "object",
        "properties": {
          "cameraId": {
            "type": "string"
          },
          "trackId": {
            "type": "string"
          },
          "session": {
            "type": "string"
          },
          "generation": {
            "type": "integer"
          },
          "observedAt": {
            "type": "number",
            "description": "Unix epoch milliseconds; source clocks are estimates."
          },
          "sourceInstance": {
            "type": "string"
          }
        },
        "additionalProperties": true
      },
      "Insight": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "cameraId": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "type": {
            "enum": [
              "finding",
              "scene",
              "activity",
              "status"
            ]
          },
          "priority": {
            "type": "number"
          },
          "observedAt": {
            "anyOf": [
              {
                "type": "number",
                "description": "Unix epoch milliseconds; source clocks are estimates."
              },
              {
                "type": "null"
              }
            ]
          },
          "expiresAt": {
            "anyOf": [
              {
                "type": "number",
                "description": "Unix epoch milliseconds; source clocks are estimates."
              },
              {
                "type": "null"
              }
            ]
          },
          "model": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "provenance": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Source"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "title",
          "detail",
          "type",
          "priority",
          "observedAt",
          "expiresAt"
        ],
        "additionalProperties": true
      },
      "Insights": {
        "type": "object",
        "properties": {
          "now": {
            "type": "number",
            "description": "Unix epoch milliseconds; source clocks are estimates."
          },
          "insights": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Insight"
            }
          },
          "inference": {
            "type": "object",
            "properties": {
              "location": {
                "const": "server"
              },
              "state": {
                "type": "string"
              },
              "model": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true
          },
          "refreshAfterMs": {
            "type": "integer"
          }
        },
        "required": [
          "now",
          "insights",
          "inference",
          "refreshAfterMs"
        ],
        "additionalProperties": true
      },
      "Observation": {
        "type": "object",
        "properties": {
          "cameraId": {
            "type": "string"
          },
          "session": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "status": {
            "type": "string"
          },
          "fresh": {
            "type": "boolean"
          },
          "decodedAt": {
            "anyOf": [
              {
                "type": "number",
                "description": "Unix epoch milliseconds; source clocks are estimates."
              },
              {
                "type": "null"
              }
            ]
          },
          "timing": {
            "type": "object",
            "properties": {
              "observedAt": {
                "type": "number",
                "description": "Unix epoch milliseconds; source clocks are estimates."
              },
              "generation": {
                "type": "integer"
              }
            },
            "additionalProperties": true
          },
          "objects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DetectedObject"
            }
          },
          "geometry": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": true
      },
      "DetectedObject": {
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "string",
              "integer"
            ]
          },
          "class": {
            "type": "string"
          },
          "confidence": {
            "type": "number"
          },
          "bbox": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "observedAt": {
            "type": "number",
            "description": "Unix epoch milliseconds; source clocks are estimates."
          },
          "expiresAt": {
            "type": "number",
            "description": "Unix epoch milliseconds; source clocks are estimates."
          }
        },
        "additionalProperties": true
      },
      "World": {
        "type": "object",
        "properties": {
          "now": {
            "type": "number",
            "description": "Unix epoch milliseconds; source clocks are estimates."
          },
          "staleAfterMs": {
            "type": "number"
          },
          "pipeline": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "observations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Observation"
            }
          }
        },
        "required": [
          "now",
          "observations"
        ],
        "additionalProperties": true
      },
      "NativeWorld": {
        "type": "object",
        "properties": {
          "schemaVersion": {
            "const": 1
          },
          "sessionId": {
            "type": "string"
          },
          "generatedAt": {
            "type": "number",
            "description": "Unix epoch milliseconds; source clocks are estimates."
          },
          "staleAfterMs": {
            "type": "number"
          },
          "origin": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "cameras": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "tracks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorldTrack"
            }
          }
        },
        "required": [
          "schemaVersion",
          "sessionId",
          "generatedAt",
          "tracks"
        ],
        "additionalProperties": true
      },
      "WorldTrack": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "cameraId": {
            "type": "string"
          },
          "className": {
            "type": "string"
          },
          "coordinate": {
            "type": "object",
            "properties": {
              "latitude": {
                "type": "number"
              },
              "longitude": {
                "type": "number"
              }
            },
            "additionalProperties": true
          },
          "observedAt": {
            "type": "number",
            "description": "Unix epoch milliseconds; source clocks are estimates."
          },
          "expiresAt": {
            "type": "number",
            "description": "Unix epoch milliseconds; source clocks are estimates."
          },
          "heading": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          },
          "speedMps": {
            "type": "number"
          },
          "sourceReference": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Source"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": true
      },
      "Job": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "task": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "createdAt": {
            "type": "number",
            "description": "Unix epoch milliseconds; source clocks are estimates."
          },
          "completedAt": {
            "anyOf": [
              {
                "type": "number",
                "description": "Unix epoch milliseconds; source clocks are estimates."
              },
              {
                "type": "null"
              }
            ]
          },
          "provenance": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Source"
            }
          },
          "result": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "null"
              }
            ]
          },
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "state"
        ],
        "additionalProperties": true
      },
      "Incident": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "cameraId": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "firstObservedAt": {
            "type": "number",
            "description": "Unix epoch milliseconds; source clocks are estimates."
          },
          "lastObservedAt": {
            "type": "number",
            "description": "Unix epoch milliseconds; source clocks are estimates."
          },
          "clip": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string"
                  },
                  "state": {
                    "type": "string"
                  }
                },
                "additionalProperties": true
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": true
      },
      "SceneJobInput": {
        "type": "object",
        "properties": {
          "task": {
            "const": "scene"
          },
          "cameraId": {
            "type": "string",
            "pattern": "^CAM-\\d{2,3}$"
          }
        },
        "required": [
          "task",
          "cameraId"
        ],
        "additionalProperties": true
      },
      "VehicleJobInput": {
        "type": "object",
        "properties": {
          "task": {
            "const": "vehicle"
          },
          "cameraId": {
            "type": "string"
          },
          "trackId": {
            "type": "string"
          }
        },
        "required": [
          "task",
          "cameraId",
          "trackId"
        ],
        "additionalProperties": true
      },
      "CompareJobInput": {
        "type": "object",
        "properties": {
          "task": {
            "const": "compare"
          },
          "left": {
            "type": "object",
            "properties": {
              "cameraId": {
                "type": "string"
              },
              "trackId": {
                "type": "string"
              }
            },
            "required": [
              "cameraId",
              "trackId"
            ],
            "additionalProperties": true
          },
          "right": {
            "type": "object",
            "properties": {
              "cameraId": {
                "type": "string"
              },
              "trackId": {
                "type": "string"
              }
            },
            "required": [
              "cameraId",
              "trackId"
            ],
            "additionalProperties": true
          }
        },
        "required": [
          "task",
          "left",
          "right"
        ],
        "additionalProperties": true
      },
      "ObjectJobInput": {
        "type": "object",
        "properties": {
          "cameraId": {
            "type": "string"
          },
          "trackId": {
            "type": "string"
          },
          "session": {
            "type": "string"
          },
          "generation": {
            "type": "integer"
          },
          "observedAt": {
            "type": "number",
            "description": "Unix epoch milliseconds; source clocks are estimates."
          },
          "sourceInstance": {
            "type": "string"
          },
          "purpose": {
            "enum": [
              "quick",
              "deep"
            ]
          }
        },
        "required": [
          "cameraId",
          "trackId",
          "session",
          "generation",
          "observedAt"
        ],
        "additionalProperties": true
      },
      "CountMoment": {
        "type": "object",
        "properties": {
          "mean": {
            "type": "number",
            "minimum": 0
          },
          "stddev": {
            "type": "number",
            "minimum": 0
          },
          "lower": {
            "type": "number",
            "minimum": 0
          },
          "upper": {
            "type": "number",
            "minimum": 0
          }
        },
        "required": [
          "mean",
          "stddev",
          "lower",
          "upper"
        ],
        "additionalProperties": true
      },
      "CountHistoryPoint": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "number",
            "description": "Unix epoch milliseconds; source clocks are estimates."
          },
          "pedestriansVisible": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 0
              },
              {
                "type": "null"
              }
            ]
          },
          "vehiclesVisible": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 0
              },
              {
                "type": "null"
              }
            ]
          },
          "pedestriansPassing": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 0
              },
              {
                "type": "null"
              }
            ]
          },
          "vehiclesPassing": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 0
              },
              {
                "type": "null"
              }
            ]
          },
          "observedMinutes": {
            "type": "integer",
            "minimum": 0
          }
        },
        "required": [
          "timestamp"
        ],
        "additionalProperties": true
      },
      "CountForecastPoint": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "number",
            "description": "Unix epoch milliseconds; source clocks are estimates."
          },
          "pedestriansVisible": {
            "$ref": "#/components/schemas/CountMoment"
          },
          "vehiclesVisible": {
            "$ref": "#/components/schemas/CountMoment"
          },
          "pedestriansPassing": {
            "$ref": "#/components/schemas/CountMoment"
          },
          "vehiclesPassing": {
            "$ref": "#/components/schemas/CountMoment"
          }
        },
        "required": [
          "timestamp"
        ],
        "additionalProperties": true
      },
      "CityPulseMs": {
        "type": "integer",
        "minimum": 0,
        "description": "Unix time in milliseconds."
      },
      "CityPulseMsOrNull": {
        "type": [
          "integer",
          "null"
        ],
        "minimum": 0
      },
      "CityPulseCount": {
        "type": "integer",
        "minimum": 0
      },
      "CityPulseRate": {
        "type": [
          "number",
          "null"
        ],
        "minimum": 0,
        "description": "Mean visible count per counting camera; null when no camera contributes."
      },
      "CityPulseSlug": {
        "type": "string",
        "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
        "maxLength": 80
      },
      "CityPulseName": {
        "type": "string",
        "minLength": 1,
        "maxLength": 80,
        "pattern": "^[^0-9&<>]+$"
      },
      "CityPulsePerCamera": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "perCamera"
        ],
        "properties": {
          "perCamera": {
            "$ref": "#/components/schemas/CityPulseRate"
          }
        }
      },
      "CityPulseCounts": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "asOf",
          "snapshotAt",
          "windowMinutes",
          "cameras",
          "city",
          "neighborhoods"
        ],
        "properties": {
          "asOf": {
            "$ref": "#/components/schemas/CityPulseMsOrNull",
            "description": "End of the oldest latest complete minute among counting cameras; null when none is counting."
          },
          "snapshotAt": {
            "$ref": "#/components/schemas/CityPulseMs",
            "description": "When the origin took the count map snapshot behind these numbers."
          },
          "windowMinutes": {
            "const": 15,
            "description": "Each counting camera's value is the mean of at least five valid 1-minute averages in this window."
          },
          "cameras": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "inventory",
              "counting",
              "countingLocationPending"
            ],
            "properties": {
              "inventory": {
                "$ref": "#/components/schemas/CityPulseCount"
              },
              "counting": {
                "$ref": "#/components/schemas/CityPulseCount",
                "description": "Cameras whose latest complete minute ended at most 5 minutes before snapshotAt."
              },
              "countingLocationPending": {
                "$ref": "#/components/schemas/CityPulseCount",
                "description": "Counting cameras without a verified neighborhood; they count only toward city totals."
              }
            }
          },
          "city": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "people",
              "vehicles"
            ],
            "properties": {
              "people": {
                "$ref": "#/components/schemas/CityPulsePerCamera"
              },
              "vehicles": {
                "$ref": "#/components/schemas/CityPulsePerCamera"
              }
            }
          },
          "neighborhoods": {
            "type": "array",
            "maxItems": 60,
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/CityPulsePublishedNeighborhood"
                },
                {
                  "$ref": "#/components/schemas/CityPulseWithheldNeighborhood"
                }
              ]
            }
          }
        }
      },
      "CityPulsePublishedNeighborhood": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id",
          "name",
          "counting",
          "published",
          "people",
          "vehicles",
          "vsForecast",
          "series24h"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/CityPulseSlug"
          },
          "name": {
            "$ref": "#/components/schemas/CityPulseName"
          },
          "counting": {
            "type": "integer",
            "minimum": 3,
            "description": "Neighborhood numbers are published only with at least three counting cameras."
          },
          "published": {
            "const": true
          },
          "people": {
            "$ref": "#/components/schemas/CityPulsePerCamera"
          },
          "vehicles": {
            "$ref": "#/components/schemas/CityPulsePerCamera"
          },
          "vsForecast": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/CityPulseVsForecast"
              }
            ]
          },
          "series24h": {
            "$ref": "#/components/schemas/CityPulseSeries24h"
          }
        }
      },
      "CityPulseWithheldNeighborhood": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id",
          "name",
          "counting",
          "published"
        ],
        "description": "Fewer than three counting cameras: no numbers are published for the neighborhood.",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/CityPulseSlug"
          },
          "name": {
            "$ref": "#/components/schemas/CityPulseName"
          },
          "counting": {
            "type": "integer",
            "minimum": 0,
            "maximum": 2
          },
          "published": {
            "const": false
          }
        }
      },
      "CityPulseVsForecast": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "people",
          "vehicles",
          "z",
          "through"
        ],
        "description": "The last two complete 15-minute intervals against the forecast saved at least 24 hours earlier, on the same cameras. above or below needs |z| >= 2 in the same direction in both intervals; null when the target has no comparable forecast.",
        "properties": {
          "people": {
            "enum": [
              "above",
              "near",
              "below",
              null
            ]
          },
          "vehicles": {
            "enum": [
              "above",
              "near",
              "below",
              null
            ]
          },
          "z": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "people",
              "vehicles"
            ],
            "properties": {
              "people": {
                "anyOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/CityPulseZPair"
                  }
                ]
              },
              "vehicles": {
                "anyOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/CityPulseZPair"
                  }
                ]
              }
            }
          },
          "through": {
            "$ref": "#/components/schemas/CityPulseMs",
            "description": "End of the later interval."
          }
        }
      },
      "CityPulseZPair": {
        "type": "array",
        "minItems": 2,
        "maxItems": 2,
        "items": {
          "type": "number"
        },
        "description": "z against the issued band, earlier interval first."
      },
      "CityPulseHourly": {
        "type": "array",
        "maxItems": 49,
        "items": {
          "$ref": "#/components/schemas/CityPulseRate"
        }
      },
      "CityPulseSeries24h": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "start",
          "stepMs",
          "people",
          "vehicles"
        ],
        "properties": {
          "start": {
            "$ref": "#/components/schemas/CityPulseMs"
          },
          "stepMs": {
            "const": 3600000
          },
          "people": {
            "type": "array",
            "maxItems": 24,
            "items": {
              "$ref": "#/components/schemas/CityPulseRate"
            }
          },
          "vehicles": {
            "type": "array",
            "maxItems": 24,
            "items": {
              "$ref": "#/components/schemas/CityPulseRate"
            }
          }
        }
      },
      "CityPulseBand": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "mean",
          "stddev"
        ],
        "description": "Approximate predictive mean and one standard deviation per hour; uncalibrated.",
        "properties": {
          "mean": {
            "type": "array",
            "maxItems": 25,
            "items": {
              "$ref": "#/components/schemas/CityPulseRate"
            }
          },
          "stddev": {
            "type": "array",
            "maxItems": 25,
            "items": {
              "$ref": "#/components/schemas/CityPulseRate"
            }
          }
        }
      },
      "CityPulseForecast": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "takenAt",
          "history48h",
          "next24h"
        ],
        "description": "The citywide per-camera series from the same snapshot as /api/public/city-forecast.",
        "properties": {
          "takenAt": {
            "$ref": "#/components/schemas/CityPulseMs"
          },
          "history48h": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "start",
              "stepMs",
              "people",
              "vehicles"
            ],
            "properties": {
              "start": {
                "$ref": "#/components/schemas/CityPulseMs"
              },
              "stepMs": {
                "const": 3600000
              },
              "people": {
                "$ref": "#/components/schemas/CityPulseHourly"
              },
              "vehicles": {
                "$ref": "#/components/schemas/CityPulseHourly"
              }
            }
          },
          "next24h": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "start",
              "stepMs",
              "people",
              "vehicles"
            ],
            "properties": {
              "start": {
                "$ref": "#/components/schemas/CityPulseMs"
              },
              "stepMs": {
                "const": 3600000
              },
              "people": {
                "$ref": "#/components/schemas/CityPulseBand"
              },
              "vehicles": {
                "$ref": "#/components/schemas/CityPulseBand"
              }
            }
          }
        }
      },
      "CityPulseAi": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "model",
          "source",
          "camerasReviewedLast5Min",
          "lastCompletedAt",
          "sampledAgeP50Seconds",
          "completedLastHour",
          "rotation5m"
        ],
        "description": "Sampled review activity, citywide. Times are capture or completion times, never per-area timing.",
        "properties": {
          "model": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 60,
            "description": "Display name of the reviewing model."
          },
          "source": {
            "enum": [
              "basic",
              "telemetry"
            ],
            "description": "basic: from the screening status only; telemetry: with the alert telemetry counters."
          },
          "camerasReviewedLast5Min": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0
          },
          "lastCompletedAt": {
            "$ref": "#/components/schemas/CityPulseMsOrNull"
          },
          "sampledAgeP50Seconds": {
            "type": [
              "number",
              "null"
            ],
            "minimum": 0,
            "description": "Median time since a frame was sent for review, across cameras."
          },
          "completedLastHour": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "description": "null without telemetry."
          },
          "rotation5m": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/CityPulseRotation5m"
              }
            ]
          }
        }
      },
      "CityPulseRotation5m": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "bucketStart",
          "bucketMs",
          "areas",
          "otherAreas"
        ],
        "description": "Routine rotation reviews completed in the last complete 5-minute bucket, published one bucket late, for neighborhoods with at least three cameras; the rest are pooled.",
        "properties": {
          "bucketStart": {
            "$ref": "#/components/schemas/CityPulseMs"
          },
          "bucketMs": {
            "const": 300000
          },
          "areas": {
            "type": "array",
            "maxItems": 60,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "id",
                "name",
                "completed"
              ],
              "properties": {
                "id": {
                  "$ref": "#/components/schemas/CityPulseSlug"
                },
                "name": {
                  "$ref": "#/components/schemas/CityPulseName"
                },
                "completed": {
                  "$ref": "#/components/schemas/CityPulseCount"
                }
              }
            }
          },
          "otherAreas": {
            "$ref": "#/components/schemas/CityPulseCount"
          }
        }
      },
      "CityPulseIncidents": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "timeZone",
          "complete",
          "since",
          "days"
        ],
        "description": "Possible-incident screening, citywide and per Pacific day, public kinds only, counted by the alert telemetry's durable funnel across every candidate source. null while that telemetry is unavailable; never zero-filled.",
        "properties": {
          "timeZone": {
            "const": "America/Los_Angeles"
          },
          "complete": {
            "type": "boolean",
            "description": "false when the telemetry's unbroken record covers less than the seven days: it began later, a crash left a gap, or a day went unreported. Days before since are omitted; the day holding since may also count events from before it."
          },
          "since": {
            "$ref": "#/components/schemas/CityPulseMs"
          },
          "days": {
            "type": "array",
            "maxItems": 7,
            "items": {
              "$ref": "#/components/schemas/CityPulseIncidentDay"
            },
            "description": "Oldest day first."
          }
        }
      },
      "CityPulseIncidentCounts": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "candidates",
          "rejected",
          "expiredNoVerdict",
          "confirmed",
          "humanConfirmed"
        ],
        "properties": {
          "candidates": {
            "$ref": "#/components/schemas/CityPulseCount"
          },
          "rejected": {
            "$ref": "#/components/schemas/CityPulseCount",
            "description": "Rejected by AI review, locally or by the second reviewer."
          },
          "expiredNoVerdict": {
            "$ref": "#/components/schemas/CityPulseCount",
            "description": "No verdict reached: deadline, source change or restart."
          },
          "confirmed": {
            "$ref": "#/components/schemas/CityPulseCount",
            "description": "AI-reviewed by two models, not verified by a person."
          },
          "humanConfirmed": {
            "$ref": "#/components/schemas/CityPulseCount",
            "description": "Confirmed by a signed-in reviewer."
          }
        }
      },
      "CityPulseIncidentDay": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "date",
          "candidates",
          "rejected",
          "expiredNoVerdict",
          "confirmed",
          "humanConfirmed",
          "byKind"
        ],
        "properties": {
          "date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "candidates": {
            "$ref": "#/components/schemas/CityPulseCount"
          },
          "rejected": {
            "$ref": "#/components/schemas/CityPulseCount"
          },
          "expiredNoVerdict": {
            "$ref": "#/components/schemas/CityPulseCount"
          },
          "confirmed": {
            "$ref": "#/components/schemas/CityPulseCount"
          },
          "humanConfirmed": {
            "$ref": "#/components/schemas/CityPulseCount"
          },
          "byKind": {
            "type": "object",
            "maxProperties": 12,
            "description": "The day's counts split by public incident kind; they sum to the day's totals.",
            "propertyNames": {
              "pattern": "^[a-z][a-z-]{1,39}$"
            },
            "additionalProperties": {
              "$ref": "#/components/schemas/CityPulseIncidentCounts"
            }
          }
        }
      },
      "CityPulseInsights": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "state",
          "published"
        ],
        "properties": {
          "state": {
            "enum": [
              "ready",
              "stale",
              "collecting",
              "unavailable"
            ]
          },
          "published": {
            "$ref": "#/components/schemas/CityPulseCount",
            "description": "Insights published in /api/public/city-insights."
          }
        }
      },
      "CityPulse": {
        "title": "City pulse",
        "description": "GET /api/public/pulse, sent with X-Orchestra-Projection: public-v2. Citywide and neighborhood aggregates only: per-camera averages (never sums), AI review activity and daily incident screening counts. No camera IDs, positions, imagery, tracks or model text. A section whose source is unavailable is null; clients show it as unavailable, never as zero.",
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schemaVersion",
          "generatedAt",
          "counts",
          "forecast",
          "ai",
          "incidents",
          "insights"
        ],
        "properties": {
          "schemaVersion": {
            "const": "city-pulse-v1"
          },
          "generatedAt": {
            "$ref": "#/components/schemas/CityPulseMs"
          },
          "counts": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/CityPulseCounts"
              }
            ]
          },
          "forecast": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/CityPulseForecast"
              }
            ]
          },
          "ai": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/CityPulseAi"
              }
            ]
          },
          "incidents": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/CityPulseIncidents"
              }
            ]
          },
          "insights": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/CityPulseInsights"
              }
            ]
          }
        }
      },
      "ForecastAccuracyMs": {
        "type": "integer",
        "minimum": 0,
        "description": "Unix time in milliseconds."
      },
      "ForecastAccuracyCount": {
        "type": "integer",
        "minimum": 0
      },
      "ForecastAccuracyScored": {
        "type": "integer",
        "minimum": 72
      },
      "ForecastAccuracyPending": {
        "type": "integer",
        "minimum": 0,
        "maximum": 71
      },
      "ForecastAccuracyError": {
        "type": "number",
        "minimum": 0
      },
      "ForecastAccuracyReason": {
        "type": "string",
        "minLength": 1,
        "maxLength": 160
      },
      "ForecastAccuracyTarget": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "model",
          "coverage",
          "baselines"
        ],
        "properties": {
          "model": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ForecastAccuracyModelScore"
              },
              {
                "$ref": "#/components/schemas/ForecastAccuracyModelPending"
              }
            ]
          },
          "coverage": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ForecastAccuracyCoverageScore"
              },
              {
                "$ref": "#/components/schemas/ForecastAccuracyCoveragePending"
              }
            ]
          },
          "baselines": {
            "type": "array",
            "minItems": 2,
            "maxItems": 2,
            "items": {
              "$ref": "#/components/schemas/ForecastAccuracyBaseline"
            }
          }
        }
      },
      "ForecastAccuracyModelScore": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "n",
          "mae",
          "bias"
        ],
        "properties": {
          "n": {
            "$ref": "#/components/schemas/ForecastAccuracyScored"
          },
          "mae": {
            "$ref": "#/components/schemas/ForecastAccuracyError"
          },
          "bias": {
            "type": "number",
            "description": "Mean of forecast minus measured."
          }
        }
      },
      "ForecastAccuracyModelPending": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "n",
          "mae",
          "bias",
          "reason"
        ],
        "properties": {
          "n": {
            "$ref": "#/components/schemas/ForecastAccuracyPending"
          },
          "mae": {
            "type": "null"
          },
          "bias": {
            "type": "null"
          },
          "reason": {
            "$ref": "#/components/schemas/ForecastAccuracyReason"
          }
        }
      },
      "ForecastAccuracyCoverageScore": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "inside",
          "n",
          "nominal",
          "band"
        ],
        "description": "Hours whose measurement fell inside the issued ±1σ band, never the later-calibrated one.",
        "properties": {
          "inside": {
            "$ref": "#/components/schemas/ForecastAccuracyCount"
          },
          "n": {
            "$ref": "#/components/schemas/ForecastAccuracyScored"
          },
          "nominal": {
            "const": 0.68
          },
          "band": {
            "const": "issued"
          }
        }
      },
      "ForecastAccuracyCoveragePending": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "inside",
          "n",
          "nominal",
          "band",
          "reason"
        ],
        "properties": {
          "inside": {
            "type": "null"
          },
          "n": {
            "$ref": "#/components/schemas/ForecastAccuracyPending"
          },
          "nominal": {
            "const": 0.68
          },
          "band": {
            "const": "issued"
          },
          "reason": {
            "$ref": "#/components/schemas/ForecastAccuracyReason"
          }
        }
      },
      "ForecastAccuracyBaseline": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id",
          "matched"
        ],
        "description": "previous-day: the same hour one day earlier. seasonal: the same local hour on at least three earlier days of the same type, holidays excluded. Each is scored only on hours where it and the forecast both exist, with the model's error recomputed on those hours.",
        "properties": {
          "id": {
            "enum": [
              "previous-day",
              "seasonal"
            ]
          },
          "matched": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ForecastAccuracyMatchedScore"
              },
              {
                "$ref": "#/components/schemas/ForecastAccuracyMatchedPending"
              }
            ]
          }
        }
      },
      "ForecastAccuracyMatchedScore": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "n",
          "modelMae",
          "baselineMae",
          "relativeReduction",
          "interval90"
        ],
        "properties": {
          "n": {
            "$ref": "#/components/schemas/ForecastAccuracyScored"
          },
          "modelMae": {
            "$ref": "#/components/schemas/ForecastAccuracyError"
          },
          "baselineMae": {
            "type": "number",
            "exclusiveMinimum": 0
          },
          "relativeReduction": {
            "type": "number",
            "maximum": 1,
            "description": "(baselineMae - modelMae) / baselineMae; negative when the baseline wins."
          },
          "interval90": {
            "type": "array",
            "minItems": 2,
            "maxItems": 2,
            "items": {
              "type": "number",
              "maximum": 1
            },
            "description": "Moving-block bootstrap 90% interval of relativeReduction."
          }
        }
      },
      "ForecastAccuracyMatchedPending": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/ForecastAccuracyMatchedCollecting"
          },
          {
            "$ref": "#/components/schemas/ForecastAccuracyMatchedUndefined"
          }
        ]
      },
      "ForecastAccuracyMatchedCollecting": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "n",
          "relativeReduction",
          "reason"
        ],
        "properties": {
          "n": {
            "$ref": "#/components/schemas/ForecastAccuracyPending"
          },
          "relativeReduction": {
            "type": "null"
          },
          "reason": {
            "$ref": "#/components/schemas/ForecastAccuracyReason"
          }
        }
      },
      "ForecastAccuracyMatchedUndefined": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "n",
          "relativeReduction",
          "reason"
        ],
        "description": "Enough matched hours, but a relative reduction is undefined because the baseline's error is zero, as with a constant measurement.",
        "properties": {
          "n": {
            "$ref": "#/components/schemas/ForecastAccuracyScored"
          },
          "relativeReduction": {
            "type": "null"
          },
          "reason": {
            "const": "the baseline error is zero"
          }
        }
      },
      "ForecastAccuracy": {
        "title": "Forecast accuracy",
        "description": "GET /api/public/forecast-accuracy, sent with X-Orchestra-Projection: public-v2. Citywide forecasts issued at least 24 hours ahead, scored against later detector-estimated counts over complete hours, with the same camera set on both sides each hour. Both targets are always present, including when a baseline beats the model. Any figure based on fewer than minimumMatchedHours matched hours is null and carries a reason instead.",
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schemaVersion",
          "generatedAt",
          "window",
          "minimumMatchedHours",
          "targets",
          "method"
        ],
        "properties": {
          "schemaVersion": {
            "const": "forecast-accuracy-v1"
          },
          "generatedAt": {
            "$ref": "#/components/schemas/ForecastAccuracyMs"
          },
          "window": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "start",
              "end",
              "completeHours"
            ],
            "properties": {
              "start": {
                "$ref": "#/components/schemas/ForecastAccuracyMs"
              },
              "end": {
                "$ref": "#/components/schemas/ForecastAccuracyMs"
              },
              "completeHours": {
                "$ref": "#/components/schemas/ForecastAccuracyCount"
              }
            }
          },
          "minimumMatchedHours": {
            "const": 72
          },
          "targets": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "people",
              "vehicles"
            ],
            "properties": {
              "people": {
                "$ref": "#/components/schemas/ForecastAccuracyTarget"
              },
              "vehicles": {
                "$ref": "#/components/schemas/ForecastAccuracyTarget"
              }
            }
          },
          "method": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "bootstrap"
            ],
            "properties": {
              "bootstrap": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "matching": {
                "type": "string",
                "minLength": 1,
                "maxLength": 300
              }
            }
          }
        }
      },
      "PublicModelsMs": {
        "type": "integer",
        "minimum": 0,
        "description": "Unix time in milliseconds."
      },
      "PublicModelsCount": {
        "type": "integer",
        "minimum": 0,
        "maximum": 1000000000
      },
      "PublicModelsShare": {
        "type": "number",
        "minimum": 0,
        "maximum": 1
      },
      "PublicModelsLoss": {
        "type": "number",
        "minimum": 0,
        "maximum": 100,
        "description": "Answer-token cross-entropy against machine labels, averaged per token. Lower is closer to the labels. Not accuracy."
      },
      "PublicModelsSeconds": {
        "type": "number",
        "minimum": 0,
        "maximum": 10000000
      },
      "PublicModelsMsOrNull": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/PublicModelsMs"
          },
          {
            "type": "null"
          }
        ]
      },
      "PublicModelsCountOrNull": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/PublicModelsCount"
          },
          {
            "type": "null"
          }
        ]
      },
      "PublicModelsShareOrNull": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/PublicModelsShare"
          },
          {
            "type": "null"
          }
        ]
      },
      "PublicModelsLossOrNull": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/PublicModelsLoss"
          },
          {
            "type": "null"
          }
        ]
      },
      "PublicModelsSecondsOrNull": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/PublicModelsSeconds"
          },
          {
            "type": "null"
          }
        ]
      },
      "PublicModelsExtra": {
        "type": "object",
        "maxProperties": 32,
        "additionalProperties": {
          "type": [
            "number",
            "string",
            "null"
          ]
        },
        "description": "Extra fields from a newer Cosmos trainer: only names on the published list of extra fields, each with its listed type, label and meaning. Empty while none is listed."
      },
      "PublicModelsCosmosLive": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "model",
          "liveCameras",
          "screenedCameras",
          "screenAgeMedianSeconds",
          "screensLastHour",
          "routineSceneReviewsLastHour",
          "hourStart",
          "possibleIncidents"
        ],
        "description": "Cosmos 3 Nano's live work, from the server's in-process review telemetry.",
        "properties": {
          "model": {
            "anyOf": [
              {
                "enum": [
                  "Cosmos 3 Nano",
                  "Qwen3 VL 2B",
                  "Qwen3.5 27B",
                  "Qwen3.5 4B",
                  "Qwen3.5 9B",
                  "gemma 4 E2B"
                ]
              },
              {
                "type": "null"
              }
            ],
            "description": "The reviewing model's display name, one of the models the server can run; null when the reviewer's status is unavailable, it is switched off or it reports any other name."
          },
          "liveCameras": {
            "$ref": "#/components/schemas/PublicModelsCountOrNull",
            "description": "Street cameras whose stream is live now."
          },
          "screenedCameras": {
            "$ref": "#/components/schemas/PublicModelsCountOrNull",
            "description": "Live cameras with a screen on record."
          },
          "screenAgeMedianSeconds": {
            "$ref": "#/components/schemas/PublicModelsSecondsOrNull",
            "description": "Median seconds since each screened live camera's last screen, routine or not, citywide. Null when none has been screened."
          },
          "screensLastHour": {
            "$ref": "#/components/schemas/PublicModelsCountOrNull",
            "description": "Routine camera screens completed in the last complete hour (hourStart). Extra screens of cameras something drew attention to are not counted. Null unless the telemetry covered that whole hour."
          },
          "routineSceneReviewsLastHour": {
            "$ref": "#/components/schemas/PublicModelsCountOrNull",
            "description": "Routine scene reviews completed in the same hour: the pulse's ai.completedLastHour."
          },
          "hourStart": {
            "$ref": "#/components/schemas/PublicModelsMsOrNull",
            "description": "The start of the hour both counts describe; null when both are."
          },
          "possibleIncidents": {
            "anyOf": [
              {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "flagged",
                  "confirmed",
                  "since",
                  "complete"
                ],
                "properties": {
                  "flagged": {
                    "$ref": "#/components/schemas/PublicModelsCount",
                    "description": "Possible incidents an automatic check proposed, summed over the pulse's incident days."
                  },
                  "confirmed": {
                    "$ref": "#/components/schemas/PublicModelsCount",
                    "description": "Of those, confirmed by two AI reviews (Cosmos 3 Nano and an external model). Not verified by a person."
                  },
                  "since": {
                    "$ref": "#/components/schemas/PublicModelsMs",
                    "description": "Where the counts start: seven Pacific days ago, or the end of a gap in the telemetry's record."
                  },
                  "complete": {
                    "type": "boolean",
                    "description": "True when the counts cover all seven days."
                  }
                }
              },
              {
                "type": "null"
              }
            ]
          }
        }
      },
      "PublicModelsCosmosRun": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "finishedAt",
          "steps",
          "examples",
          "trainingSeconds",
          "validationLossBefore",
          "validationLossAfter",
          "testLossAfter",
          "heldOutExamplesMax",
          "extra"
        ],
        "description": "One finished fine-tuning run. Each run trains a small adapter on a 4-bit copy of the released model, starting again from the released weights.",
        "properties": {
          "finishedAt": {
            "$ref": "#/components/schemas/PublicModelsMs",
            "description": "When the run finished scoring."
          },
          "steps": {
            "$ref": "#/components/schemas/PublicModelsCountOrNull",
            "description": "Optimizer steps."
          },
          "examples": {
            "$ref": "#/components/schemas/PublicModelsCountOrNull",
            "description": "Training examples drawn: the record's own count, or two per step for records the current trainer writes without a schema version."
          },
          "trainingSeconds": {
            "$ref": "#/components/schemas/PublicModelsSecondsOrNull",
            "description": "From the first training step to the end of the final scoring and save; model loading and the first scoring are not counted."
          },
          "validationLossBefore": {
            "$ref": "#/components/schemas/PublicModelsLossOrNull",
            "description": "Loss on held-out validation examples before training."
          },
          "validationLossAfter": {
            "$ref": "#/components/schemas/PublicModelsLossOrNull",
            "description": "Loss on the same examples after training."
          },
          "testLossAfter": {
            "$ref": "#/components/schemas/PublicModelsLossOrNull",
            "description": "Loss on held-out test examples after training; never used to choose anything."
          },
          "heldOutExamplesMax": {
            "$ref": "#/components/schemas/PublicModelsCountOrNull",
            "description": "The most held-out examples each loss averages over (8 for the current trainer)."
          },
          "extra": {
            "$ref": "#/components/schemas/PublicModelsExtra"
          }
        }
      },
      "PublicModelsCosmosTraining": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "state",
          "waitingReason",
          "updatedAt",
          "automaticPromotion",
          "runCount",
          "runs",
          "dataset",
          "extra"
        ],
        "description": "Cosmos 3 Nano fine-tuning, from the training job's status file and its finished runs.",
        "properties": {
          "state": {
            "anyOf": [
              {
                "enum": [
                  "waiting",
                  "ready",
                  "running",
                  "failed",
                  "candidate"
                ]
              },
              {
                "type": "null"
              }
            ],
            "description": "The job's last state: waiting (the labelled set did not pass its checks), ready and running (only while the scheduler runs the job), failed, or candidate (a run finished). Null when the status is unreadable or more than 8 days old."
          },
          "waitingReason": {
            "anyOf": [
              {
                "enum": [
                  "split-leakage",
                  "insufficient-independent-examples",
                  "insufficient-current-training-examples"
                ]
              },
              {
                "type": "null"
              }
            ],
            "description": "Why it waits, only with state waiting."
          },
          "updatedAt": {
            "$ref": "#/components/schemas/PublicModelsMsOrNull"
          },
          "automaticPromotion": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "description": "Whether a finished run could go live by itself; false for this trainer, whose runs nothing loads live."
          },
          "runCount": {
            "$ref": "#/components/schemas/PublicModelsCountOrNull",
            "description": "Finished runs on record. 0 before the first; null when they cannot be read."
          },
          "runs": {
            "anyOf": [
              {
                "type": "array",
                "maxItems": 14,
                "items": {
                  "$ref": "#/components/schemas/PublicModelsCosmosRun"
                }
              },
              {
                "type": "null"
              }
            ],
            "description": "The newest 14 runs, oldest first."
          },
          "dataset": {
            "anyOf": [
              {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "train",
                  "validation",
                  "test",
                  "labelledScenes",
                  "freshTrain",
                  "supportedIncidentExamples",
                  "updatedAt"
                ],
                "description": "The labelled set, rebuilt hourly from the newest scenes an external AI model (from OpenAI) labelled on face-blurred frames. Machine labels, never checked by a person. A camera is never in two splits.",
                "properties": {
                  "train": {
                    "$ref": "#/components/schemas/PublicModelsCount"
                  },
                  "validation": {
                    "$ref": "#/components/schemas/PublicModelsCount"
                  },
                  "test": {
                    "$ref": "#/components/schemas/PublicModelsCount"
                  },
                  "labelledScenes": {
                    "$ref": "#/components/schemas/PublicModelsCount",
                    "description": "Labelled scenes kept, the newest 256 at most."
                  },
                  "freshTrain": {
                    "$ref": "#/components/schemas/PublicModelsCount",
                    "description": "Training examples captured in the past 24 hours; a run needs at least a quarter."
                  },
                  "supportedIncidentExamples": {
                    "$ref": "#/components/schemas/PublicModelsCount",
                    "description": "Labelled scenes the external model marked as a supported incident."
                  },
                  "updatedAt": {
                    "$ref": "#/components/schemas/PublicModelsMs"
                  }
                }
              },
              {
                "type": "null"
              }
            ]
          },
          "extra": {
            "$ref": "#/components/schemas/PublicModelsExtra"
          }
        }
      },
      "PublicModelsVjepaLive": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "inUse",
          "since",
          "probationUntil",
          "promotedBy",
          "automaticPromotion",
          "lastCheck"
        ],
        "description": "Whether a trained V-JEPA motion version serves live scene reviews, from the reasoner worker's and the promotion watchdog's status files.",
        "properties": {
          "inUse": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "description": "True while the worker serves a trained motion version, false while it serves the released Cosmos 3 Nano alone; null when its status is unreadable or more than 15 minutes old."
          },
          "since": {
            "$ref": "#/components/schemas/PublicModelsMsOrNull",
            "description": "When the worker adopted that version; only while inUse is true."
          },
          "probationUntil": {
            "$ref": "#/components/schemas/PublicModelsMsOrNull",
            "description": "The earliest end of the open 24-hour probation, while one is open."
          },
          "promotedBy": {
            "anyOf": [
              {
                "enum": [
                  "auto-gate",
                  "manual",
                  "rollback"
                ]
              },
              {
                "type": "null"
              }
            ],
            "description": "How the version in use was put there: auto-gate (automatic promotion, after it passed every go-live check and a canary), manual (an operator promoted it by hand, which the checks do not gate) or rollback (a rollback restored it). Only while inUse is true; null when unknown."
          },
          "automaticPromotion": {
            "anyOf": [
              {
                "enum": [
                  "on",
                  "paused",
                  "checks-only",
                  "off"
                ]
              },
              {
                "type": "null"
              }
            ],
            "description": "on: a version that passes every check can go live by itself; paused: promotion is pinned off; checks-only: checks run but nothing goes live; off. Null when the watchdog's status is more than 15 minutes old."
          },
          "lastCheck": {
            "anyOf": [
              {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "at",
                  "passed",
                  "dryRun"
                ],
                "properties": {
                  "at": {
                    "$ref": "#/components/schemas/PublicModelsMs"
                  },
                  "passed": {
                    "type": "boolean",
                    "description": "Whether the candidate passed every go-live check."
                  },
                  "dryRun": {
                    "type": "boolean",
                    "description": "A check-only run, which could not put the version live."
                  }
                }
              },
              {
                "type": "null"
              }
            ],
            "description": "The last go-live decision; null before the first."
          }
        }
      },
      "PublicModelsVjepaTraining": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "state",
          "updatedAt",
          "stage",
          "round",
          "roundStep",
          "roundSteps",
          "steps",
          "startedAt",
          "examplesPerHour",
          "examplesToday",
          "trainingHoursToday",
          "todayCountedAt",
          "freshShare",
          "mix"
        ],
        "description": "The motion trainer on GPU 2, from its status file (written every 10 steps), the scheduler and its daily report.",
        "properties": {
          "state": {
            "anyOf": [
              {
                "enum": [
                  "training",
                  "loading",
                  "benchmarking",
                  "benchmarked",
                  "waiting-night",
                  "waiting-resources",
                  "waiting-data",
                  "deferred",
                  "yielded",
                  "lease-yielded",
                  "stopped",
                  "max-rounds",
                  "failed"
                ]
              },
              {
                "type": "null"
              }
            ],
            "description": "The trainer's own last state, by the rules of /api/public/machine: an active state only while the scheduler runs it, and none older than a day."
          },
          "updatedAt": {
            "$ref": "#/components/schemas/PublicModelsMsOrNull"
          },
          "stage": {
            "anyOf": [
              {
                "enum": [
                  "0",
                  "1a",
                  "1b",
                  "Q",
                  "2"
                ]
              },
              {
                "type": "null"
              }
            ],
            "description": "0 measures speed and memory; 1a trains the bridge from V-JEPA 2.1 into Cosmos 3 Nano, with V-JEPA's own network frozen; 1b also trains a small adapter in Cosmos; Q trains two copies side by side, one that also tunes the top blocks of V-JEPA's own network, to test whether that helps; 2 continues with the copy Q picked, and its rounds can become candidates for live use."
          },
          "round": {
            "$ref": "#/components/schemas/PublicModelsCountOrNull",
            "description": "The index of the round in progress, from 0."
          },
          "roundStep": {
            "$ref": "#/components/schemas/PublicModelsCountOrNull",
            "description": "Steps done in that round; only while training."
          },
          "roundSteps": {
            "$ref": "#/components/schemas/PublicModelsCountOrNull",
            "description": "Steps in a round (250), each of 32 examples."
          },
          "steps": {
            "$ref": "#/components/schemas/PublicModelsCountOrNull",
            "description": "Optimizer steps since training began."
          },
          "startedAt": {
            "$ref": "#/components/schemas/PublicModelsMsOrNull",
            "description": "When the scheduler last started the trainer, while it runs it."
          },
          "examplesPerHour": {
            "$ref": "#/components/schemas/PublicModelsCountOrNull",
            "description": "Examples per hour of time spent in training steps since the trainer last started; only while training."
          },
          "examplesToday": {
            "$ref": "#/components/schemas/PublicModelsCountOrNull",
            "description": "Examples trained since midnight Pacific time, as the trainer last counted them (when a round ends or it stops)."
          },
          "trainingHoursToday": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 0,
                "maximum": 24
              },
              {
                "type": "null"
              }
            ],
            "description": "Hours of GPU 2 time spent in training steps since midnight Pacific time."
          },
          "todayCountedAt": {
            "$ref": "#/components/schemas/PublicModelsMsOrNull",
            "description": "When those daily totals were counted."
          },
          "freshShare": {
            "$ref": "#/components/schemas/PublicModelsShareOrNull",
            "description": "Share of the current round's planned examples cut from video captured in the past 24 hours."
          },
          "mix": {
            "anyOf": [
              {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "arrow",
                  "order",
                  "span",
                  "sync",
                  "sceneAnswers",
                  "incidentAnswers",
                  "machineLabels"
                ],
                "description": "The current round's planned examples: motion puzzles by kind, examples that keep the answers close to the released Cosmos 3 Nano's (scene and incident), and examples with machine labels.",
                "properties": {
                  "arrow": {
                    "$ref": "#/components/schemas/PublicModelsCount"
                  },
                  "order": {
                    "$ref": "#/components/schemas/PublicModelsCount"
                  },
                  "span": {
                    "$ref": "#/components/schemas/PublicModelsCount"
                  },
                  "sync": {
                    "$ref": "#/components/schemas/PublicModelsCount"
                  },
                  "sceneAnswers": {
                    "$ref": "#/components/schemas/PublicModelsCount"
                  },
                  "incidentAnswers": {
                    "$ref": "#/components/schemas/PublicModelsCount"
                  },
                  "machineLabels": {
                    "$ref": "#/components/schemas/PublicModelsCount"
                  }
                }
              },
              {
                "type": "null"
              }
            ]
          }
        }
      },
      "PublicModelsScore": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "n",
          "accuracy"
        ],
        "description": "Forced-choice accuracy on one motion puzzle: answers known exactly because the transform was applied to real camera footage. Not event accuracy.",
        "properties": {
          "n": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000000000,
            "description": "Clips scored."
          },
          "accuracy": {
            "$ref": "#/components/schemas/PublicModelsShare"
          }
        }
      },
      "PublicModelsLatestScore": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "n",
          "accuracy",
          "majorityShare"
        ],
        "description": "As score, with what always giving the most common correct answer would score on the same clips.",
        "properties": {
          "n": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000000000
          },
          "accuracy": {
            "$ref": "#/components/schemas/PublicModelsShare"
          },
          "majorityShare": {
            "$ref": "#/components/schemas/PublicModelsShareOrNull",
            "description": "Counted from the validation set only when it is the set this round scored and holds exactly n clips of the puzzle; null otherwise."
          }
        }
      },
      "PublicModelsScores": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "arrow",
          "order",
          "span",
          "sync"
        ],
        "properties": {
          "arrow": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicModelsScore"
              },
              {
                "type": "null"
              }
            ]
          },
          "order": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicModelsScore"
              },
              {
                "type": "null"
              }
            ]
          },
          "span": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicModelsScore"
              },
              {
                "type": "null"
              }
            ]
          },
          "sync": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicModelsScore"
              },
              {
                "type": "null"
              }
            ]
          }
        }
      },
      "PublicModelsLatestScores": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "arrow",
          "order",
          "span",
          "sync"
        ],
        "description": "Each puzzle's result; null when the validation set holds none of it.",
        "properties": {
          "arrow": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicModelsLatestScore"
              },
              {
                "type": "null"
              }
            ]
          },
          "order": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicModelsLatestScore"
              },
              {
                "type": "null"
              }
            ]
          },
          "span": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicModelsLatestScore"
              },
              {
                "type": "null"
              }
            ]
          },
          "sync": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicModelsLatestScore"
              },
              {
                "type": "null"
              }
            ]
          }
        }
      },
      "PublicModelsSelect": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "round",
          "finishedAt",
          "epoch",
          "examples",
          "cameras",
          "tasks",
          "machineLabelLoss",
          "machineLabelExamplesMax"
        ],
        "properties": {
          "round": {
            "$ref": "#/components/schemas/PublicModelsCount",
            "description": "The round's index, from 0."
          },
          "finishedAt": {
            "$ref": "#/components/schemas/PublicModelsMs"
          },
          "epoch": {
            "$ref": "#/components/schemas/PublicModelsCountOrNull",
            "description": "Which validation set: a new one starts when under 80% of the last can still be loaded."
          },
          "examples": {
            "$ref": "#/components/schemas/PublicModelsCountOrNull",
            "description": "Examples scored in the validation set."
          },
          "cameras": {
            "$ref": "#/components/schemas/PublicModelsCountOrNull",
            "description": "Validation cameras the set came from. Which cameras is never published."
          },
          "tasks": {
            "$ref": "#/components/schemas/PublicModelsLatestScores"
          },
          "machineLabelLoss": {
            "$ref": "#/components/schemas/PublicModelsLossOrNull",
            "description": "Loss against labels written by an external AI model, on the set's machine-labelled examples."
          },
          "machineLabelExamplesMax": {
            "$ref": "#/components/schemas/PublicModelsCountOrNull",
            "description": "Machine-labelled examples in the validation set: that loss averages over at most this many. Null unless the set is the one this round scored."
          }
        }
      },
      "PublicModelsRound": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "round",
          "stage",
          "finishedAt",
          "step",
          "epoch",
          "tasks",
          "machineLabelLoss"
        ],
        "properties": {
          "round": {
            "$ref": "#/components/schemas/PublicModelsCount"
          },
          "stage": {
            "anyOf": [
              {
                "enum": [
                  "0",
                  "1a",
                  "1b",
                  "Q",
                  "2"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "finishedAt": {
            "$ref": "#/components/schemas/PublicModelsMs"
          },
          "step": {
            "$ref": "#/components/schemas/PublicModelsCountOrNull",
            "description": "Optimizer steps when the round ended."
          },
          "epoch": {
            "$ref": "#/components/schemas/PublicModelsCountOrNull"
          },
          "tasks": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicModelsScores"
              },
              {
                "type": "null"
              }
            ],
            "description": "Null for qualification rounds, which are not tested on validation cameras."
          },
          "machineLabelLoss": {
            "$ref": "#/components/schemas/PublicModelsLossOrNull"
          }
        }
      },
      "PublicModelsPerTaskShare": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "arrow",
          "order",
          "span",
          "sync"
        ],
        "properties": {
          "arrow": {
            "$ref": "#/components/schemas/PublicModelsShareOrNull"
          },
          "order": {
            "$ref": "#/components/schemas/PublicModelsShareOrNull"
          },
          "span": {
            "$ref": "#/components/schemas/PublicModelsShareOrNull"
          },
          "sync": {
            "$ref": "#/components/schemas/PublicModelsShareOrNull"
          }
        }
      },
      "PublicModelsPerTaskCount": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "arrow",
          "order",
          "span",
          "sync"
        ],
        "properties": {
          "arrow": {
            "$ref": "#/components/schemas/PublicModelsCountOrNull"
          },
          "order": {
            "$ref": "#/components/schemas/PublicModelsCountOrNull"
          },
          "span": {
            "$ref": "#/components/schemas/PublicModelsCountOrNull"
          },
          "sync": {
            "$ref": "#/components/schemas/PublicModelsCountOrNull"
          }
        }
      },
      "PublicModelsGoLive": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "aboveChance",
          "checks",
          "canaryHours",
          "probationHours"
        ],
        "description": "The registered go-live rules. Automatic promotion puts a version into live scene reviews only after it passes every check on test cameras it never trained on and a canary on GPU 0; its first hours in use are a probation that rolls it back on any failure. An operator can also promote or roll back a version by hand (vjepa.live.promotedBy).",
        "properties": {
          "aboveChance": {
            "$ref": "#/components/schemas/PublicModelsShareOrNull",
            "description": "How far above chance each puzzle's accuracy must be on test cameras, as a share (0.05 is 5 points)."
          },
          "checks": {
            "$ref": "#/components/schemas/PublicModelsCountOrNull",
            "description": "Automatic checks a version must pass."
          },
          "canaryHours": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 0,
                "maximum": 720
              },
              {
                "type": "null"
              }
            ],
            "description": "The canary's deadline."
          },
          "probationHours": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 0,
                "maximum": 720
              },
              {
                "type": "null"
              }
            ],
            "description": "The probation's minimum length."
          }
        }
      },
      "PublicModels": {
        "title": "Models panel",
        "description": "GET /api/public/models, sent with X-Orchestra-Projection: public-v2. Totals about Cosmos 3 Nano, which screens the live cameras for possible incidents, and V-JEPA 2.1, whose motion connection to Cosmos 3 Nano is in training. Motion-puzzle accuracies are on known transforms of real footage, never event accuracy; losses are answer-token losses against machine labels, never accuracy. A figure that cannot be read, or is out of date, is null: show it as unavailable, never as zero.",
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schemaVersion",
          "generatedAt",
          "cosmos",
          "vjepa"
        ],
        "properties": {
          "schemaVersion": {
            "const": "public-models-v1"
          },
          "generatedAt": {
            "$ref": "#/components/schemas/PublicModelsMs",
            "description": "When the origin took this sample, at most every 30 seconds and only when requested."
          },
          "cosmos": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "live",
              "training"
            ],
            "properties": {
              "live": {
                "$ref": "#/components/schemas/PublicModelsCosmosLive"
              },
              "training": {
                "$ref": "#/components/schemas/PublicModelsCosmosTraining"
              }
            }
          },
          "vjepa": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "live",
              "training",
              "select",
              "rounds",
              "chance",
              "options",
              "goLive"
            ],
            "properties": {
              "live": {
                "$ref": "#/components/schemas/PublicModelsVjepaLive"
              },
              "training": {
                "$ref": "#/components/schemas/PublicModelsVjepaTraining"
              },
              "select": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/PublicModelsSelect"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "The newest round's results on validation cameras, from the trainer's round log; null before any round has been tested."
              },
              "rounds": {
                "anyOf": [
                  {
                    "type": "array",
                    "maxItems": 30,
                    "items": {
                      "$ref": "#/components/schemas/PublicModelsRound"
                    }
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "The last 30 rounds the trainer logged, oldest first by finish time. Empty before the first round ends; null when the log cannot be read."
              },
              "chance": {
                "$ref": "#/components/schemas/PublicModelsPerTaskShare",
                "description": "What random guessing among each puzzle's allowed answers scores on average: one over its number of answers, as the training code defines them, rounded to 5 decimals."
              },
              "options": {
                "$ref": "#/components/schemas/PublicModelsPerTaskCount",
                "description": "Each puzzle's number of allowed answers; the model is scored by forced choice among them."
              },
              "goLive": {
                "$ref": "#/components/schemas/PublicModelsGoLive"
              }
            }
          }
        }
      },
      "PublicComputeGpu": {
        "type": "object",
        "properties": {
          "host": {
            "enum": [
              "conductor",
              "conductor-dev"
            ]
          },
          "index": {
            "type": "integer",
            "minimum": 0,
            "maximum": 15
          },
          "model": {
            "anyOf": [
              {
                "enum": [
                  "RTX 5090",
                  "RTX 3090"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "observedAt": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "utilizationPct": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 0,
                "maximum": 100
              },
              {
                "type": "null"
              }
            ]
          },
          "memoryUsedMiB": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 0,
                "maximum": 1000000
              },
              {
                "type": "null"
              }
            ]
          },
          "memoryTotalMiB": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 0,
                "maximum": 1000000
              },
              {
                "type": "null"
              }
            ]
          },
          "temperatureC": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 0,
                "maximum": 130
              },
              {
                "type": "null"
              }
            ]
          },
          "powerW": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 0,
                "maximum": 2000
              },
              {
                "type": "null"
              }
            ]
          },
          "state": {
            "anyOf": [
              {
                "enum": [
                  "working",
                  "ready",
                  "loading",
                  "unavailable",
                  "idle"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "jobs": {
            "type": "array",
            "items": {
              "enum": [
                "scene-review",
                "detection",
                "motion-training",
                "cosmos-training",
                "detector-training",
                "archive-index",
                "archive-screening",
                "recording-import",
                "gpu-check",
                "object-review",
                "other-gpu-work"
              ]
            }
          },
          "otherProcesses": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "host",
          "index",
          "model",
          "observedAt",
          "utilizationPct",
          "memoryUsedMiB",
          "memoryTotalMiB",
          "temperatureC",
          "powerW",
          "state",
          "jobs",
          "otherProcesses"
        ],
        "additionalProperties": false
      },
      "PublicComputeModel": {
        "type": "object",
        "properties": {
          "state": {
            "anyOf": [
              {
                "enum": [
                  "training",
                  "loading",
                  "benchmarking",
                  "benchmarked",
                  "waiting-night",
                  "waiting-resources",
                  "waiting-data",
                  "waiting-labels",
                  "deferred",
                  "yielded",
                  "lease-yielded",
                  "stopped",
                  "max-rounds",
                  "failed",
                  "waiting",
                  "ready",
                  "running",
                  "candidate",
                  "candidate-evaluated",
                  "candidate-interrupted",
                  "unavailable",
                  "pretrained",
                  "promoted",
                  "trained-awaiting-evaluation-support",
                  "interrupted",
                  "inspected",
                  "fitted"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "updatedAt": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "reason": {
            "enum": [
              "No readable loss samples have been recorded.",
              "Answer-token cross-entropy against independent machine labels; not validated incident accuracy.",
              "Recorded optimizer-window mean task losses; held-out round losses are validation cross-entropy.",
              "Only current-process mean task losses and held-out round losses are available; optimizer-step loss history was not recorded.",
              "Recorded local detector epoch losses; validation components are held-out losses.",
              "Recorded detector batch losses and held-out test agreement with machine labels.",
              "Recorded detector batch losses, separate-camera validation, and frozen-test agreement with machine labels.",
              "Only selected validation BCE was recorded; optimizer-step training losses were not recorded. The pretrained MobileNetV3 encoder stays frozen.",
              "Fleet and camera correction parameters are fitted locally, but optimizer loss histories are not recorded. Chronos weights stay pretrained.",
              "Pretrained weights; no local training loss is recorded.",
              "Recorded arrow-of-time head training on frozen V-JEPA features; not Cosmos bridge training or incident accuracy."
            ]
          },
          "series": {
            "type": "array",
            "maxItems": 48,
            "items": {
              "$ref": "#/components/schemas/PublicComputeSeries"
            }
          }
        },
        "required": [
          "state",
          "updatedAt",
          "reason",
          "series"
        ],
        "additionalProperties": false
      },
      "PublicComputeSeries": {
        "type": "object",
        "properties": {
          "metric": {
            "enum": [
              "answer-token-ce",
              "arrow-ce",
              "order-ce",
              "span-ce",
              "sync-ce",
              "scene-distill-ce",
              "incident-distill-ce",
              "teacher-ce",
              "distill-ce",
              "ssl-ce",
              "validation-bce",
              "box",
              "seg",
              "cls",
              "dfl",
              "l1",
              "sem",
              "dis",
              "arrow-head-ce"
            ]
          },
          "split": {
            "enum": [
              "training",
              "validation",
              "test"
            ]
          },
          "run": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "at": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "partial": {
            "type": "boolean"
          },
          "label": {
            "type": "string",
            "maxLength": 100
          },
          "xLabel": {
            "enum": [
              "Epoch",
              "Optimizer step",
              "Snapshot at optimizer step",
              "Completed fit epochs"
            ]
          },
          "points": {
            "type": "array",
            "maxItems": 1200,
            "items": {
              "type": "object",
              "properties": {
                "step": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "value": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 1000000
                },
                "at": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Optional recorded measurement time in Unix epoch milliseconds; null or omitted when unknown. Never inferred from a run or series timestamp."
                }
              },
              "required": [
                "step",
                "value"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "metric",
          "split",
          "run",
          "at",
          "partial",
          "xLabel",
          "points"
        ],
        "additionalProperties": false
      },
      "PublicComputeQualitySeries": {
        "type": "object",
        "properties": {
          "metric": {
            "enum": [
              "arrow-accuracy",
              "order-accuracy",
              "span-accuracy",
              "sync-accuracy",
              "precision",
              "recall",
              "map50",
              "map50-95",
              "answer-token-accuracy",
              "arrow-head-accuracy"
            ]
          },
          "split": {
            "enum": [
              "validation",
              "test"
            ]
          },
          "run": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "at": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "partial": {
            "type": "boolean"
          },
          "label": {
            "type": "string",
            "maxLength": 100
          },
          "xLabel": {
            "enum": [
              "Epoch",
              "Optimizer step",
              "Snapshot at optimizer step",
              "Completed fit epochs"
            ]
          },
          "points": {
            "type": "array",
            "maxItems": 1200,
            "items": {
              "type": "object",
              "properties": {
                "step": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "value": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 1
                },
                "at": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Optional recorded measurement time in Unix epoch milliseconds; null or omitted when unknown. Never inferred from a run or series timestamp."
                }
              },
              "required": [
                "step",
                "value"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "metric",
          "split",
          "run",
          "at",
          "partial",
          "xLabel",
          "points"
        ],
        "additionalProperties": false
      },
      "PublicComputeProgressSeries": {
        "type": "object",
        "properties": {
          "metric": {
            "enum": [
              "optimizer-steps",
              "training-examples"
            ]
          },
          "split": {
            "enum": [
              "training"
            ]
          },
          "run": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "at": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "partial": {
            "type": "boolean"
          },
          "label": {
            "type": "string",
            "maxLength": 100
          },
          "xLabel": {
            "enum": [
              "Epoch",
              "Optimizer step",
              "Snapshot at optimizer step",
              "Completed fit epochs"
            ]
          },
          "points": {
            "type": "array",
            "maxItems": 1200,
            "items": {
              "type": "object",
              "properties": {
                "step": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "value": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "at": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Optional recorded measurement time in Unix epoch milliseconds; null or omitted when unknown. Never inferred from a run or series timestamp."
                }
              },
              "required": [
                "step",
                "value"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "metric",
          "split",
          "run",
          "at",
          "partial",
          "xLabel",
          "points"
        ],
        "additionalProperties": false
      },
      "PublicComputeLearningModel": {
        "type": "object",
        "properties": {
          "quality": {
            "type": "array",
            "maxItems": 48,
            "items": {
              "$ref": "#/components/schemas/PublicComputeQualitySeries"
            }
          },
          "progress": {
            "type": "array",
            "maxItems": 48,
            "items": {
              "$ref": "#/components/schemas/PublicComputeProgressSeries"
            }
          }
        },
        "required": [
          "quality",
          "progress"
        ],
        "additionalProperties": false
      },
      "PublicComputeGpuHistory": {
        "type": "object",
        "properties": {
          "host": {
            "enum": [
              "conductor",
              "conductor-dev"
            ]
          },
          "index": {
            "type": "integer",
            "minimum": 0,
            "maximum": 15
          },
          "points": {
            "type": "array",
            "maxItems": 1200,
            "items": {
              "type": "object",
              "properties": {
                "at": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "utilizationPct": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 100
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "memoryUsedMiB": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 1000000
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "temperatureC": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 130
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "powerW": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 2000
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "at",
                "utilizationPct",
                "memoryUsedMiB",
                "temperatureC",
                "powerW"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "host",
          "index",
          "points"
        ],
        "additionalProperties": false
      },
      "PublicComputeMachineHistory": {
        "type": "object",
        "properties": {
          "host": {
            "enum": [
              "conductor",
              "conductor-dev"
            ]
          },
          "points": {
            "type": "array",
            "maxItems": 1200,
            "items": {
              "type": "object",
              "properties": {
                "at": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "cpuPct": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 100
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "memoryUsedMiB": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 1000000000
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "memoryTotalMiB": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 1000000000
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "diskUsedGiB": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 1000000000
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "diskTotalGiB": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 1000000000
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "at",
                "cpuPct",
                "memoryUsedMiB",
                "memoryTotalMiB",
                "diskUsedGiB",
                "diskTotalGiB"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "host",
          "points"
        ],
        "additionalProperties": false
      },
      "PublicComputeYoloLearningModel": {
        "type": "object",
        "properties": {
          "quality": {
            "type": "array",
            "maxItems": 48,
            "items": {
              "$ref": "#/components/schemas/PublicComputeQualitySeries"
            }
          },
          "progress": {
            "type": "array",
            "maxItems": 48,
            "items": {
              "$ref": "#/components/schemas/PublicComputeProgressSeries"
            }
          },
          "evaluations": {
            "type": "array",
            "minItems": 1,
            "maxItems": 8,
            "description": "Optional complete separate-camera studies only; omit when none are valid. Projection requires run <= at <= generatedAt and cameras <= frames for every split. Deduplicate by run using newest at, retaining the newest eight runs in ascending run order. Exact-time ties use the greatest numeric tuple: step, testPreviouslyEvaluated, validationPreviouslyFitByOtherStudies, train/validation/test frames then cameras, precision/recall/map50/map50-95 before then after. No strings beyond the fixed enum values are published.",
            "items": {
              "$ref": "#/components/schemas/PublicComputeDetectorEvaluation"
            }
          }
        },
        "required": [
          "quality",
          "progress"
        ],
        "additionalProperties": false
      },
      "PublicComputeDetectorEvaluation": {
        "type": "object",
        "description": "Safe audit metadata for a complete detector study. Every field is required; malformed studies are rejected as a whole. Extra input fields are discarded by projection and forbidden in public output.",
        "properties": {
          "kind": {
            "const": "separate-camera-validation"
          },
          "run": {
            "type": "integer",
            "minimum": 100000000000,
            "maximum": 9007199254740991,
            "description": "Actual study start in Unix epoch milliseconds, no later than at."
          },
          "at": {
            "type": "integer",
            "minimum": 100000000000,
            "maximum": 9007199254740991,
            "description": "Recorded evaluation time in Unix epoch milliseconds; run <= at <= generatedAt is enforced by projection."
          },
          "step": {
            "type": "integer",
            "minimum": 1,
            "maximum": 9007199254740991
          },
          "labelSource": {
            "const": "teacher-pseudo-labels"
          },
          "independentGroundTruth": {
            "const": false
          },
          "testPreviouslyEvaluated": {
            "type": "boolean"
          },
          "validationPreviouslyFitByOtherStudies": {
            "type": "boolean"
          },
          "initializationPretrained": {
            "const": true
          },
          "automaticPromotion": {
            "const": false
          },
          "productionModelChanged": {
            "const": false
          },
          "checkpointSelection": {
            "const": "fixed-final-epoch"
          },
          "support": {
            "type": "object",
            "properties": {
              "train": {
                "$ref": "#/components/schemas/PublicComputeDetectorEvaluationSupport"
              },
              "validation": {
                "$ref": "#/components/schemas/PublicComputeDetectorEvaluationSupport"
              },
              "test": {
                "$ref": "#/components/schemas/PublicComputeDetectorEvaluationSupport"
              }
            },
            "required": [
              "train",
              "validation",
              "test"
            ],
            "additionalProperties": false
          },
          "metrics": {
            "type": "object",
            "properties": {
              "precision": {
                "$ref": "#/components/schemas/PublicComputeDetectorEvaluationMetric"
              },
              "recall": {
                "$ref": "#/components/schemas/PublicComputeDetectorEvaluationMetric"
              },
              "map50": {
                "$ref": "#/components/schemas/PublicComputeDetectorEvaluationMetric"
              },
              "map50-95": {
                "$ref": "#/components/schemas/PublicComputeDetectorEvaluationMetric"
              }
            },
            "required": [
              "precision",
              "recall",
              "map50",
              "map50-95"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "kind",
          "run",
          "at",
          "step",
          "labelSource",
          "independentGroundTruth",
          "testPreviouslyEvaluated",
          "validationPreviouslyFitByOtherStudies",
          "initializationPretrained",
          "automaticPromotion",
          "productionModelChanged",
          "checkpointSelection",
          "support",
          "metrics"
        ],
        "additionalProperties": false
      },
      "PublicComputeDetectorEvaluationSupport": {
        "type": "object",
        "description": "Positive safe integer support counts; projection enforces cameras <= frames.",
        "properties": {
          "frames": {
            "type": "integer",
            "minimum": 1,
            "maximum": 9007199254740991
          },
          "cameras": {
            "type": "integer",
            "minimum": 1,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "frames",
          "cameras"
        ],
        "additionalProperties": false
      },
      "PublicComputeDetectorEvaluationMetric": {
        "type": "object",
        "properties": {
          "before": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          },
          "after": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          }
        },
        "required": [
          "before",
          "after"
        ],
        "additionalProperties": false
      },
      "PublicCompute": {
        "title": "Public compute telemetry",
        "description": "Read-only driver samples, recorded native losses, held-out task scores and successful-training counters. Unknown measurement times stay null; no missing metric is synthesized. At most 1,200 points per series, 12,000 points overall and 2 MiB serialized; budgeting preserves baseline and latest samples and never interpolates.",
        "type": "object",
        "properties": {
          "schemaVersion": {
            "const": "public-compute-v1"
          },
          "generatedAt": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "gpus": {
            "type": "array",
            "maxItems": 4,
            "items": {
              "$ref": "#/components/schemas/PublicComputeGpu"
            }
          },
          "losses": {
            "type": "object",
            "properties": {
              "cosmos": {
                "$ref": "#/components/schemas/PublicComputeModel"
              },
              "vjepa": {
                "$ref": "#/components/schemas/PublicComputeModel"
              },
              "yolo": {
                "$ref": "#/components/schemas/PublicComputeModel"
              },
              "object-review": {
                "$ref": "#/components/schemas/PublicComputeModel"
              },
              "chronos": {
                "$ref": "#/components/schemas/PublicComputeModel"
              },
              "vehicle": {
                "$ref": "#/components/schemas/PublicComputeModel"
              },
              "incident-student": {
                "$ref": "#/components/schemas/PublicComputeModel"
              },
              "forecast": {
                "$ref": "#/components/schemas/PublicComputeModel"
              }
            },
            "required": [
              "cosmos",
              "vjepa",
              "yolo",
              "object-review",
              "chronos",
              "vehicle",
              "incident-student",
              "forecast"
            ],
            "additionalProperties": false
          },
          "learning": {
            "type": "object",
            "properties": {
              "cosmos": {
                "$ref": "#/components/schemas/PublicComputeLearningModel"
              },
              "vjepa": {
                "$ref": "#/components/schemas/PublicComputeLearningModel"
              },
              "yolo": {
                "$ref": "#/components/schemas/PublicComputeYoloLearningModel"
              },
              "object-review": {
                "$ref": "#/components/schemas/PublicComputeLearningModel"
              },
              "chronos": {
                "$ref": "#/components/schemas/PublicComputeLearningModel"
              },
              "vehicle": {
                "$ref": "#/components/schemas/PublicComputeLearningModel"
              },
              "incident-student": {
                "$ref": "#/components/schemas/PublicComputeLearningModel"
              },
              "forecast": {
                "$ref": "#/components/schemas/PublicComputeLearningModel"
              }
            },
            "required": [
              "cosmos",
              "vjepa",
              "yolo",
              "object-review",
              "chronos",
              "vehicle",
              "incident-student",
              "forecast"
            ],
            "additionalProperties": false,
            "description": "Optional backwards-compatible companion to losses. Quality is a measured held-out task score in [0,1]; progress counts completed optimizer work and is not quality."
          },
          "telemetryHistory": {
            "type": "object",
            "description": "Optional recorded host samples; the global 12000-point and 2 MiB budgets include these samples. Unknown numeric readings stay null; times must be recorded, not inferred.",
            "properties": {
              "gpus": {
                "type": "array",
                "maxItems": 4,
                "items": {
                  "$ref": "#/components/schemas/PublicComputeGpuHistory"
                }
              },
              "machines": {
                "type": "array",
                "maxItems": 2,
                "items": {
                  "$ref": "#/components/schemas/PublicComputeMachineHistory"
                }
              }
            },
            "required": [
              "gpus",
              "machines"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "schemaVersion",
          "generatedAt",
          "gpus",
          "losses"
        ],
        "additionalProperties": false
      },
      "PublicCountsMs": {
        "type": "integer",
        "minimum": 0,
        "description": "Unix time in milliseconds."
      },
      "PublicCountsMsOrNull": {
        "type": [
          "integer",
          "null"
        ],
        "minimum": 0
      },
      "PublicCountsCount": {
        "type": "integer",
        "minimum": 0
      },
      "PublicCountsNumber": {
        "type": "number"
      },
      "PublicCountsText": {
        "type": "string",
        "maxLength": 400
      },
      "PublicCountsState": {
        "type": "string",
        "pattern": "^[a-z][a-z-]{0,39}$"
      },
      "PublicCountsCameraId": {
        "type": "string",
        "pattern": "^CAM-\\d{2,3}$"
      },
      "PublicCountsNeighborhood": {
        "type": [
          "string",
          "null"
        ],
        "minLength": 1,
        "maxLength": 80,
        "pattern": "^[^0-9&<>]+$"
      },
      "PublicCountsLocation": {
        "type": "string",
        "minLength": 1,
        "maxLength": 80,
        "pattern": "^[^0-9&<>]+$",
        "description": "The neighborhood name, or Location pending."
      },
      "PublicCountsConfig": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "lineReviewed"
        ],
        "properties": {
          "lineReviewed": {
            "type": "boolean"
          }
        }
      },
      "PublicCountsCatalog": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schemaVersion",
          "takenAt",
          "stale",
          "cameras"
        ],
        "properties": {
          "schemaVersion": {
            "const": "public-counts-v2"
          },
          "takenAt": {
            "$ref": "#/components/schemas/PublicCountsMs",
            "description": "When the origin read this catalog from the count worker."
          },
          "stale": {
            "type": "boolean",
            "description": "true when the catalog is older than its refresh interval but within its stale bound."
          },
          "cameras": {
            "type": "array",
            "maxItems": 1000,
            "items": {
              "$ref": "#/components/schemas/PublicCountsCatalogCamera"
            }
          }
        }
      },
      "PublicCountsCatalogCamera": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id",
          "neighborhood",
          "location",
          "firstObservation",
          "lastObservation",
          "observedMinutes",
          "validMinutes",
          "config"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/PublicCountsCameraId"
          },
          "neighborhood": {
            "$ref": "#/components/schemas/PublicCountsNeighborhood"
          },
          "location": {
            "$ref": "#/components/schemas/PublicCountsLocation"
          },
          "firstObservation": {
            "$ref": "#/components/schemas/PublicCountsMsOrNull"
          },
          "lastObservation": {
            "$ref": "#/components/schemas/PublicCountsMsOrNull"
          },
          "observedMinutes": {
            "$ref": "#/components/schemas/PublicCountsCount"
          },
          "validMinutes": {
            "$ref": "#/components/schemas/PublicCountsCount"
          },
          "config": {
            "$ref": "#/components/schemas/PublicCountsConfig"
          }
        }
      },
      "PublicCountsSeriesCamera": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id",
          "neighborhood",
          "location",
          "config"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/PublicCountsCameraId"
          },
          "neighborhood": {
            "$ref": "#/components/schemas/PublicCountsNeighborhood"
          },
          "location": {
            "$ref": "#/components/schemas/PublicCountsLocation"
          },
          "firstObservation": {
            "$ref": "#/components/schemas/PublicCountsMsOrNull"
          },
          "lastObservation": {
            "$ref": "#/components/schemas/PublicCountsMsOrNull"
          },
          "observedMinutes": {
            "$ref": "#/components/schemas/PublicCountsCount"
          },
          "validMinutes": {
            "$ref": "#/components/schemas/PublicCountsCount"
          },
          "config": {
            "$ref": "#/components/schemas/PublicCountsConfig"
          }
        }
      },
      "PublicCountsSeries": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schemaVersion",
          "now",
          "start",
          "end",
          "stepMinutes",
          "camera",
          "model",
          "history",
          "forecast",
          "historicalForecast",
          "detector",
          "dataPipeline"
        ],
        "properties": {
          "schemaVersion": {
            "const": "public-counts-v2"
          },
          "now": {
            "$ref": "#/components/schemas/PublicCountsMs"
          },
          "start": {
            "$ref": "#/components/schemas/PublicCountsMs"
          },
          "end": {
            "$ref": "#/components/schemas/PublicCountsMs"
          },
          "stepMinutes": {
            "enum": [
              1,
              5,
              15,
              60
            ]
          },
          "historicalForecastHorizonMs": {
            "$ref": "#/components/schemas/PublicCountsCount"
          },
          "refreshAfterMs": {
            "$ref": "#/components/schemas/PublicCountsCount"
          },
          "generating": {
            "type": "boolean"
          },
          "stale": {
            "type": "boolean",
            "description": "The camera's forecast awaits a refresh."
          },
          "aggregation": {
            "$ref": "#/components/schemas/PublicCountsText"
          },
          "camera": {
            "$ref": "#/components/schemas/PublicCountsSeriesCamera"
          },
          "model": {
            "$ref": "#/components/schemas/PublicCountsModel"
          },
          "history": {
            "type": "array",
            "maxItems": 90000,
            "items": {
              "$ref": "#/components/schemas/PublicCountsRow"
            }
          },
          "forecast": {
            "type": "array",
            "maxItems": 90000,
            "items": {
              "$ref": "#/components/schemas/PublicCountsRow"
            }
          },
          "historicalForecast": {
            "type": "array",
            "maxItems": 90000,
            "items": {
              "$ref": "#/components/schemas/PublicCountsRow"
            }
          },
          "detector": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "model": {
                "type": "string",
                "maxLength": 120
              },
              "fineTuned": {
                "type": "boolean"
              },
              "humanReviewRequired": {
                "type": "boolean"
              }
            }
          },
          "dataPipeline": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "importedClips": {
                "$ref": "#/components/schemas/PublicCountsCount"
              },
              "recordingDays": {
                "$ref": "#/components/schemas/PublicCountsCount"
              },
              "import": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "state": {
                    "$ref": "#/components/schemas/PublicCountsState"
                  },
                  "timestampTimezoneVerified": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        }
      },
      "PublicCountsRow": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "timestamp"
        ],
        "properties": {
          "timestamp": {
            "$ref": "#/components/schemas/PublicCountsMs"
          },
          "saved": {
            "type": "boolean"
          },
          "horizonMs": {
            "$ref": "#/components/schemas/PublicCountsCount"
          },
          "resolutionMs": {
            "$ref": "#/components/schemas/PublicCountsCount"
          },
          "pedestriansVisible": {
            "$ref": "#/components/schemas/PublicCountsValue"
          },
          "vehiclesVisible": {
            "$ref": "#/components/schemas/PublicCountsValue"
          },
          "pedestriansPassing": {
            "$ref": "#/components/schemas/PublicCountsValue"
          },
          "vehiclesPassing": {
            "$ref": "#/components/schemas/PublicCountsValue"
          }
        }
      },
      "PublicCountsValue": {
        "anyOf": [
          {
            "type": [
              "number",
              "null"
            ],
            "minimum": 0
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "mean": {
                "$ref": "#/components/schemas/PublicCountsNumber"
              },
              "stddev": {
                "$ref": "#/components/schemas/PublicCountsNumber"
              },
              "lower": {
                "$ref": "#/components/schemas/PublicCountsNumber"
              },
              "upper": {
                "$ref": "#/components/schemas/PublicCountsNumber"
              },
              "issuedAt": {
                "$ref": "#/components/schemas/PublicCountsMs"
              },
              "aggregateBands": {
                "$ref": "#/components/schemas/PublicCountsFrozenBands"
              }
            }
          }
        ]
      },
      "PublicCountsFrozenBands": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "city": {
            "$ref": "#/components/schemas/PublicCountsBandParameters"
          },
          "neighborhood": {
            "$ref": "#/components/schemas/PublicCountsBandParameters"
          }
        }
      },
      "PublicCountsBandParameters": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "correlation": {
            "$ref": "#/components/schemas/PublicCountsNumber"
          },
          "scale": {
            "$ref": "#/components/schemas/PublicCountsNumber"
          }
        }
      },
      "PublicCountsSource": {
        "type": "object",
        "additionalProperties": false,
        "description": "An input source by state, provider, documentation page and fields, the same for every camera that used it. Its fetch time and coverage window are withheld: weather and air quality are read per 0.01° cell, so cameras sharing them would share a cell.",
        "properties": {
          "state": {
            "$ref": "#/components/schemas/PublicCountsState"
          },
          "provider": {
            "type": "string",
            "maxLength": 80
          },
          "url": {
            "type": "string",
            "maxLength": 200,
            "pattern": "^https://[^/?#@]+(?:/[^?#]*)?$",
            "description": "The provider's documentation page; never a query carrying coordinates."
          },
          "fields": {
            "type": "array",
            "maxItems": 40,
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9_]{1,60}$"
            }
          }
        }
      },
      "PublicCountsClosures": {
        "type": "object",
        "additionalProperties": false,
        "description": "Whether the closure source near this camera was read; location-needed when the camera's location is pending. The closures themselves (titles, distances and times) are never published: the permits are public with their locations, so even their times would place the camera.",
        "properties": {
          "state": {
            "$ref": "#/components/schemas/PublicCountsState"
          },
          "provider": {
            "type": "string",
            "maxLength": 80
          },
          "url": {
            "type": "string",
            "maxLength": 200,
            "pattern": "^https://[^/?#@]+(?:/[^?#]*)?$"
          }
        }
      },
      "PublicCountsInputs": {
        "type": "object",
        "additionalProperties": false,
        "description": "The forecast's inputs as sources and series names. Anything that depends on where the camera stands stays private: its weather cell's hourly outlook, the nights of its sunsets and sunrises, and its peer cameras within two kilometers, even how many.",
        "properties": {
          "version": {
            "type": "string",
            "maxLength": 40
          },
          "asOf": {
            "$ref": "#/components/schemas/PublicCountsMs"
          },
          "calendar": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "state": {
                "$ref": "#/components/schemas/PublicCountsState"
              },
              "timezone": {
                "const": "America/Los_Angeles"
              },
              "holidays": {
                "type": "boolean"
              },
              "daylight": {
                "type": "boolean"
              }
            }
          },
          "sources": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "weather": {
                "$ref": "#/components/schemas/PublicCountsSource"
              },
              "air": {
                "$ref": "#/components/schemas/PublicCountsSource"
              },
              "closures": {
                "$ref": "#/components/schemas/PublicCountsClosures"
              },
              "events": {
                "$ref": "#/components/schemas/PublicCountsSource"
              }
            }
          },
          "seasonality": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "state": {
                "$ref": "#/components/schemas/PublicCountsState"
              },
              "minimumDays": {
                "$ref": "#/components/schemas/PublicCountsCount"
              },
              "timezone": {
                "const": "America/Los_Angeles"
              },
              "resolutionMs": {
                "$ref": "#/components/schemas/PublicCountsCount"
              },
              "reason": {
                "$ref": "#/components/schemas/PublicCountsText"
              }
            }
          },
          "features": {
            "type": "array",
            "maxItems": 200,
            "description": "Input series by name. Peer-camera series and event attendance, which exist only near other cameras or events, are withheld.",
            "items": {
              "type": "string",
              "pattern": "^(?!CAM-|eventAttendance$)[A-Za-z][A-Za-z0-9_]{0,59}$"
            }
          }
        }
      },
      "PublicCountsValidation": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "state": {
            "$ref": "#/components/schemas/PublicCountsState"
          },
          "metrics": {
            "type": "array",
            "maxItems": 64,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "target": {
                  "enum": [
                    "pedestriansVisible",
                    "vehiclesVisible",
                    "pedestriansPassing",
                    "vehiclesPassing"
                  ]
                },
                "horizon": {
                  "enum": [
                    "0-2h",
                    "2-24h",
                    "1-7d",
                    "7-30d"
                  ]
                },
                "resolutionMs": {
                  "$ref": "#/components/schemas/PublicCountsCount"
                },
                "checks": {
                  "$ref": "#/components/schemas/PublicCountsCount"
                },
                "intervals": {
                  "$ref": "#/components/schemas/PublicCountsCount",
                  "description": "Distinct intervals checked. Forecasts issued at different times for one interval are correlated, so a score is judged by its intervals, not its checks."
                },
                "mae": {
                  "$ref": "#/components/schemas/PublicCountsNumber"
                },
                "rmse": {
                  "$ref": "#/components/schemas/PublicCountsNumber"
                },
                "pretrainedMae": {
                  "$ref": "#/components/schemas/PublicCountsNumber"
                },
                "oneSigmaBinCoverage": {
                  "$ref": "#/components/schemas/PublicCountsNumber"
                }
              }
            }
          },
          "definition": {
            "$ref": "#/components/schemas/PublicCountsText"
          },
          "independentGroundTruth": {
            "const": false
          },
          "calibrated": {
            "type": "boolean"
          },
          "reason": {
            "$ref": "#/components/schemas/PublicCountsText"
          }
        }
      },
      "PublicCountsAggregateUncertainty": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "schemaVersion": {
            "const": "aggregate-bands-v1"
          },
          "generatedAt": {
            "$ref": "#/components/schemas/PublicCountsMs"
          },
          "expiresAt": {
            "$ref": "#/components/schemas/PublicCountsMs"
          },
          "state": {
            "$ref": "#/components/schemas/PublicCountsState"
          },
          "projection": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "method": {
                "type": "string",
                "maxLength": 60
              },
              "maxLeadMs": {
                "$ref": "#/components/schemas/PublicCountsCount"
              },
              "transitionMs": {
                "$ref": "#/components/schemas/PublicCountsCount"
              }
            }
          },
          "blockedRanges": {
            "type": "array",
            "maxItems": 400,
            "items": {
              "$ref": "#/components/schemas/PublicCountsBandRange"
            }
          },
          "profiles": {
            "type": "array",
            "maxItems": 400,
            "items": {
              "$ref": "#/components/schemas/PublicCountsBandProfile"
            }
          }
        }
      },
      "PublicCountsBandScope": {
        "type": "string",
        "maxLength": 120,
        "pattern": "^(?:city|neighborhood:[^0-9&<>]+)$"
      },
      "PublicCountsBandRange": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "scope": {
            "$ref": "#/components/schemas/PublicCountsBandScope"
          },
          "target": {
            "type": "string",
            "maxLength": 40
          },
          "resolutionMs": {
            "$ref": "#/components/schemas/PublicCountsCount"
          },
          "minLeadMs": {
            "$ref": "#/components/schemas/PublicCountsCount"
          },
          "maxLeadMs": {
            "$ref": "#/components/schemas/PublicCountsCount"
          }
        }
      },
      "PublicCountsBandProfile": {
        "type": "object",
        "additionalProperties": false,
        "description": "A calibrated band for a city or neighborhood aggregate. memberCount replaces the member camera list.",
        "properties": {
          "scope": {
            "$ref": "#/components/schemas/PublicCountsBandScope"
          },
          "target": {
            "type": "string",
            "maxLength": 40
          },
          "resolutionMs": {
            "$ref": "#/components/schemas/PublicCountsCount"
          },
          "minLeadMs": {
            "$ref": "#/components/schemas/PublicCountsCount"
          },
          "maxLeadMs": {
            "$ref": "#/components/schemas/PublicCountsCount"
          },
          "correlation": {
            "$ref": "#/components/schemas/PublicCountsNumber"
          },
          "scale": {
            "$ref": "#/components/schemas/PublicCountsNumber"
          },
          "trainedThrough": {
            "$ref": "#/components/schemas/PublicCountsMs"
          },
          "holdoutStart": {
            "$ref": "#/components/schemas/PublicCountsMs"
          },
          "checkedThrough": {
            "$ref": "#/components/schemas/PublicCountsMs"
          },
          "trainingIntervals": {
            "$ref": "#/components/schemas/PublicCountsCount"
          },
          "previousMeanSigma": {
            "$ref": "#/components/schemas/PublicCountsNumber"
          },
          "memberCount": {
            "$ref": "#/components/schemas/PublicCountsCount"
          },
          "holdout": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "intervals": {
                "$ref": "#/components/schemas/PublicCountsCount"
              },
              "mae": {
                "$ref": "#/components/schemas/PublicCountsNumber"
              },
              "rmse": {
                "$ref": "#/components/schemas/PublicCountsNumber"
              },
              "oneSigmaCoverage": {
                "$ref": "#/components/schemas/PublicCountsNumber"
              },
              "twoSigmaCoverage": {
                "$ref": "#/components/schemas/PublicCountsNumber"
              },
              "meanSigma": {
                "$ref": "#/components/schemas/PublicCountsNumber"
              }
            }
          }
        }
      },
      "PublicCountsModel": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "state": {
            "$ref": "#/components/schemas/PublicCountsState"
          },
          "historyMinutes": {
            "$ref": "#/components/schemas/PublicCountsCount"
          },
          "historyDays": {
            "$ref": "#/components/schemas/PublicCountsCount"
          },
          "lastObservation": {
            "$ref": "#/components/schemas/PublicCountsMsOrNull"
          },
          "generatedAt": {
            "$ref": "#/components/schemas/PublicCountsMsOrNull"
          },
          "forecastEnd": {
            "$ref": "#/components/schemas/PublicCountsMsOrNull"
          },
          "resolutionMs": {
            "$ref": "#/components/schemas/PublicCountsCount"
          },
          "resolutions": {
            "type": "array",
            "maxItems": 8,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "start": {
                  "$ref": "#/components/schemas/PublicCountsMs"
                },
                "end": {
                  "$ref": "#/components/schemas/PublicCountsMs"
                },
                "resolutionMs": {
                  "$ref": "#/components/schemas/PublicCountsCount"
                }
              }
            }
          },
          "bandMeaning": {
            "$ref": "#/components/schemas/PublicCountsText"
          },
          "uncertainty": {
            "$ref": "#/components/schemas/PublicCountsText"
          },
          "reason": {
            "$ref": "#/components/schemas/PublicCountsText"
          },
          "aggregateUncertainty": {
            "anyOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PublicCountsAggregateUncertainty"
              }
            ]
          },
          "weather": {
            "$ref": "#/components/schemas/PublicCountsSource"
          },
          "inputs": {
            "$ref": "#/components/schemas/PublicCountsInputs"
          },
          "validation": {
            "$ref": "#/components/schemas/PublicCountsValidation"
          },
          "longRange": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "state": {
                "$ref": "#/components/schemas/PublicCountsState"
              },
              "resolutionMs": {
                "$ref": "#/components/schemas/PublicCountsCount"
              },
              "reason": {
                "$ref": "#/components/schemas/PublicCountsText"
              }
            }
          },
          "adaptation": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "state": {
                "$ref": "#/components/schemas/PublicCountsState"
              },
              "personalizedTargets": {
                "type": "object",
                "propertyNames": {
                  "enum": [
                    "pedestriansVisible",
                    "vehiclesVisible",
                    "pedestriansPassing",
                    "vehiclesPassing"
                  ]
                },
                "additionalProperties": {
                  "const": true
                }
              }
            }
          }
        }
      },
      "PublicDistribution": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "total": {
                "type": "integer"
              },
              "known": {
                "type": "integer",
                "minimum": 20
              },
              "excluded": {
                "type": "integer"
              },
              "mean": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "variance": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "lowConfidence": {
                "type": "integer"
              },
              "cameras": {
                "type": "integer",
                "minimum": 3
              },
              "firstObservedAt": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "description": "Unix time in milliseconds."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "lastObservedAt": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "description": "Unix time in milliseconds."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "known"
            ],
            "additionalProperties": true
          },
          {
            "type": "object",
            "properties": {
              "known": {
                "type": "integer"
              },
              "suppressed": {
                "const": true
              },
              "reason": {
                "enum": [
                  "samples",
                  "cameras",
                  "complement"
                ],
                "description": "samples: fewer than 20 estimates; cameras: fewer than three active cameras in the scope, or estimates from fewer than three cameras; complement: withheld as well, so that subtracting the published neighborhoods from the city cannot reveal a withheld figure."
              }
            },
            "required": [
              "known",
              "suppressed",
              "reason"
            ],
            "additionalProperties": true
          }
        ]
      },
      "PublicScope": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "activeCameras": {
            "type": "integer"
          },
          "age": {
            "$ref": "#/components/schemas/PublicDistribution"
          },
          "tone": {
            "$ref": "#/components/schemas/PublicDistribution"
          },
          "vehicleValue": {
            "$ref": "#/components/schemas/PublicDistribution"
          },
          "gender": {
            "$ref": "#/components/schemas/PublicDistribution"
          }
        },
        "required": [
          "id",
          "name",
          "activeCameras",
          "age",
          "tone",
          "vehicleValue",
          "gender"
        ],
        "additionalProperties": true
      },
      "PublicForecastInterval": {
        "type": "object",
        "properties": {
          "start": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix time in milliseconds."
          },
          "end": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix time in milliseconds."
          },
          "people": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "mean": {
                    "type": "number"
                  },
                  "stddev": {
                    "type": "number"
                  },
                  "lower": {
                    "type": "number"
                  },
                  "upper": {
                    "type": "number"
                  },
                  "contributors": {
                    "type": "integer"
                  }
                },
                "additionalProperties": true
              },
              {
                "type": "null"
              }
            ]
          },
          "vehicles": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "mean": {
                    "type": "number"
                  },
                  "stddev": {
                    "type": "number"
                  },
                  "lower": {
                    "type": "number"
                  },
                  "upper": {
                    "type": "number"
                  },
                  "contributors": {
                    "type": "integer"
                  }
                },
                "additionalProperties": true
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "start",
          "end"
        ],
        "additionalProperties": true
      },
      "PublicInsight": {
        "type": "object",
        "properties": {
          "headline": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "whySurprising": {
            "type": "string"
          },
          "basis": {
            "enum": [
              "forecast-departure",
              "cross-neighborhood"
            ]
          },
          "confidence": {
            "enum": [
              "high",
              "medium"
            ]
          },
          "evidence": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "scope": {
                  "type": "string"
                },
                "kind": {
                  "type": "string"
                },
                "data": {
                  "type": "object",
                  "additionalProperties": {
                    "type": [
                      "number",
                      "boolean"
                    ]
                  }
                }
              },
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": true
      },
      "PublicCityForecast": {
        "type": "object",
        "properties": {
          "schemaVersion": {
            "const": "city-forecast-v1"
          },
          "state": {
            "enum": [
              "ready",
              "collecting"
            ]
          },
          "start": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix time in milliseconds."
          },
          "end": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix time in milliseconds."
          },
          "historyStart": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix time in milliseconds."
          },
          "historyEnd": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix time in milliseconds."
          },
          "forecastEnd": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix time in milliseconds."
          },
          "updatedAt": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix time in milliseconds."
          },
          "refreshAfterMs": {
            "type": "integer"
          },
          "savedForecastHorizonMs": {
            "type": "integer"
          },
          "intervals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicForecastInterval"
            },
            "description": "Hourly forecast, 7 days: per-camera mean and approximate ±1σ, uncalibrated."
          },
          "monthlyIntervals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicForecastInterval"
            }
          },
          "history": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicForecastInterval"
            },
            "description": "Measured per-camera hourly means."
          },
          "saved": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicForecastInterval"
            },
            "description": "Forecasts saved at least 24 hours before each hour."
          },
          "insights": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "scope": {
            "type": "object",
            "properties": {
              "kind": {
                "const": "neighborhood"
              },
              "name": {
                "type": "string"
              },
              "cameraCount": {
                "type": "integer"
              },
              "counting": {
                "type": "integer"
              }
            },
            "additionalProperties": true
          }
        },
        "required": [
          "schemaVersion",
          "state",
          "start",
          "end",
          "intervals",
          "history",
          "saved"
        ],
        "additionalProperties": true
      },
      "PublicCityInsights": {
        "type": "object",
        "properties": {
          "schemaVersion": {
            "const": "city-insights-v1"
          },
          "state": {
            "enum": [
              "ready",
              "stale",
              "collecting"
            ]
          },
          "model": {
            "type": "string"
          },
          "generatedAt": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix time in milliseconds."
          },
          "observedAt": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix time in milliseconds."
          },
          "expiresAt": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix time in milliseconds."
          },
          "refreshAfterMs": {
            "type": "integer"
          },
          "city": {
            "type": "array",
            "maxItems": 3,
            "items": {
              "$ref": "#/components/schemas/PublicInsight"
            }
          },
          "neighborhoods": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "activeCameras": {
                  "type": "integer",
                  "minimum": 3
                },
                "insight": {
                  "$ref": "#/components/schemas/PublicInsight"
                }
              },
              "additionalProperties": true
            }
          }
        },
        "required": [
          "schemaVersion",
          "state",
          "city",
          "neighborhoods"
        ],
        "additionalProperties": true
      },
      "PublicObservations": {
        "type": "object",
        "properties": {
          "schemaVersion": {
            "const": "neighborhood-observations-v1"
          },
          "state": {
            "enum": [
              "ready",
              "stale",
              "collecting"
            ]
          },
          "model": {
            "type": "string"
          },
          "generatedAt": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix time in milliseconds."
          },
          "windowStart": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix time in milliseconds."
          },
          "windowEnd": {
            "type": "integer",
            "minimum": 0,
            "description": "Unix time in milliseconds."
          },
          "refreshAfterMs": {
            "type": "integer"
          },
          "city": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PublicScope"
              },
              {
                "type": "null"
              }
            ]
          },
          "neighborhoods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicScope"
            }
          },
          "marketSources": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            }
          }
        },
        "required": [
          "schemaVersion",
          "state",
          "neighborhoods"
        ],
        "additionalProperties": true
      },
      "PublicAlerts": {
        "type": "object",
        "properties": {
          "schemaVersion": {
            "const": "incident-alerts-v1"
          },
          "updatedAt": {
            "type": "number"
          },
          "alerts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "cameraId": {
                  "type": "string",
                  "pattern": "^CAM-\\d{2,3}$"
                },
                "kind": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "priority": {
                  "type": "integer"
                },
                "neighborhood": {
                  "type": "string"
                },
                "observedAt": {
                  "type": "integer",
                  "minimum": 0,
                  "description": "Unix time in milliseconds."
                },
                "expiresAt": {
                  "type": "integer",
                  "minimum": 0,
                  "description": "Unix time in milliseconds."
                },
                "estimated": {
                  "const": true
                },
                "reviewStatus": {
                  "enum": [
                    "two-model-reviews",
                    "human-confirmed",
                    "disputed"
                  ]
                }
              },
              "additionalProperties": true
            }
          },
          "monitoring": {
            "type": "object",
            "properties": {
              "cameraCount": {
                "type": "integer"
              },
              "reviewedLastFiveMinutes": {
                "type": "integer"
              },
              "lastCompletedAt": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "description": "Unix time in milliseconds."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true
          }
        },
        "required": [
          "schemaVersion",
          "updatedAt",
          "alerts",
          "monitoring"
        ],
        "additionalProperties": true
      },
      "PublicMachine": {
        "type": "object",
        "properties": {
          "generatedAt": {
            "type": "integer",
            "minimum": 0,
            "description": "When the machine was sampled, Unix milliseconds."
          },
          "gpus": {
            "type": "array",
            "description": "Each GPU by index, as the last successful nvidia-smi read reported them; after a failed read they stay, with null figures.",
            "items": {
              "type": "object",
              "properties": {
                "index": {
                  "type": "integer",
                  "minimum": 0
                },
                "role": {
                  "anyOf": [
                    {
                      "enum": [
                        "reasoner",
                        "detector",
                        "trainer",
                        "night-jobs",
                        "indexing",
                        "checks",
                        "idle"
                      ],
                      "description": "reasoner and detector by assignment. The training GPU is night-jobs while a scheduled night job runs on it (Cosmos training, detector training, the recordings import or the archive-mining screen), trainer while the motion-model trainer runs, checks while a check, benchmark or engine build holds it under the GPU2 lease, indexing while only the archive index runs on it, and idle otherwise. null when unknown."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "utilizationPct": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 100,
                      "description": "Share of the last sample period the GPU was running work."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "memoryUsedPct": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 100
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "index",
                "role",
                "utilizationPct",
                "memoryUsedPct"
              ],
              "additionalProperties": true
            }
          },
          "live": {
            "type": "object",
            "properties": {
              "cameras": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "description": "Cameras with a frame analyzed in the detector's last 5 seconds."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "framesPerSecond": {
                "anyOf": [
                  {
                    "type": "number",
                    "minimum": 0,
                    "description": "Frames analyzed per second over the last 5 seconds, all cameras together."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "cameras",
              "framesPerSecond"
            ],
            "additionalProperties": true
          },
          "reasoner": {
            "type": "object",
            "properties": {
              "checksLastHour": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "description": "Routine scene reviews completed in the last complete hour (the pulse's ai.completedLastHour)."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "checksLastHour"
            ],
            "additionalProperties": true
          },
          "trainer": {
            "type": "object",
            "properties": {
              "state": {
                "anyOf": [
                  {
                    "enum": [
                      "training",
                      "loading",
                      "benchmarking",
                      "benchmarked",
                      "waiting-night",
                      "waiting-resources",
                      "waiting-data",
                      "deferred",
                      "yielded",
                      "lease-yielded",
                      "stopped",
                      "max-rounds",
                      "failed"
                    ],
                    "description": "The motion-model trainer's own last state, while it is current."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "examplesPerHour": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "description": "The trainer's examples per hour of training time since it last started; null unless it is training."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "state",
              "examplesPerHour"
            ],
            "additionalProperties": true
          }
        },
        "required": [
          "generatedAt",
          "gpus",
          "live",
          "reasoner",
          "trainer"
        ],
        "additionalProperties": true
      },
      "PublicUnavailable": {
        "type": "object",
        "properties": {
          "state": {
            "enum": [
              "starting",
              "disabled",
              "unavailable"
            ]
          },
          "error": {
            "type": "string"
          }
        },
        "additionalProperties": true
      }
    }
  }
}
