{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$ref": "#/definitions/SetupAgentsWorkflowTelemetryResult",
  "definitions": {
    "SetupAgentsWorkflowTelemetryResult": {
      "type": "object",
      "properties": {
        "records": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/EffortEstimateRecord"
          }
        },
        "summary": {
          "$ref": "#/definitions/EffortSummary"
        },
        "file": {
          "type": "string"
        },
        "cwd": {
          "type": "string"
        }
      },
      "required": ["records", "summary", "file", "cwd"],
      "additionalProperties": false
    },
    "EffortEstimateRecord": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "storyId": {
          "type": "string"
        },
        "phase": {
          "$ref": "#/definitions/WorkflowPhase"
        },
        "workMode": {
          "$ref": "#/definitions/SetupAgentsEffortMode"
        },
        "actualMinutes": {
          "type": ["number", "null"]
        },
        "estimatedUnguidedMinutes": {
          "type": ["number", "null"]
        },
        "confidence": {
          "$ref": "#/definitions/WorkflowEstimateConfidence"
        },
        "rationale": {
          "type": "string"
        },
        "createdAt": {
          "type": "string"
        },
        "tokenCost": {
          "$ref": "#/definitions/TokenCost"
        }
      },
      "required": [
        "id",
        "storyId",
        "phase",
        "workMode",
        "actualMinutes",
        "estimatedUnguidedMinutes",
        "confidence",
        "rationale",
        "createdAt"
      ],
      "additionalProperties": false
    },
    "WorkflowPhase": {
      "type": "string",
      "enum": ["pm", "ba", "architect", "ux", "developer", "security-review", "qa", "document-review", "release"]
    },
    "SetupAgentsEffortMode": {
      "type": "string",
      "enum": ["ai_autonomous", "ai_supervised", "ai_calibration_baseline", "human_manual", "human_review"]
    },
    "WorkflowEstimateConfidence": {
      "type": "string",
      "enum": ["low", "medium", "high"]
    },
    "TokenCost": {
      "type": "object",
      "properties": {
        "model": {
          "type": "string"
        },
        "inputTokens": {
          "type": "number"
        },
        "outputTokens": {
          "type": "number"
        },
        "costUsd": {
          "type": "number"
        }
      },
      "required": ["model", "inputTokens", "outputTokens", "costUsd"],
      "additionalProperties": false
    },
    "EffortSummary": {
      "type": "object",
      "properties": {
        "storyId": {
          "type": ["string", "null"]
        },
        "byMode": {
          "type": "object",
          "properties": {
            "ai_autonomous": {
              "type": "number"
            },
            "ai_supervised": {
              "type": "number"
            },
            "ai_calibration_baseline": {
              "type": "number"
            },
            "human_manual": {
              "type": "number"
            },
            "human_review": {
              "type": "number"
            }
          },
          "required": ["ai_autonomous", "ai_supervised", "ai_calibration_baseline", "human_manual", "human_review"],
          "additionalProperties": false
        },
        "totalMinutes": {
          "type": "number"
        },
        "autonomyPct": {
          "type": ["number", "null"]
        },
        "rulesMultiplier": {
          "type": ["number", "null"]
        },
        "tokenCost": {
          "anyOf": [
            {
              "$ref": "#/definitions/TokenCostSummary"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": ["storyId", "byMode", "totalMinutes", "autonomyPct", "rulesMultiplier", "tokenCost"],
      "additionalProperties": false
    },
    "TokenCostSummary": {
      "type": "object",
      "properties": {
        "totalCostUsd": {
          "type": "number"
        },
        "byMode": {
          "type": "object",
          "properties": {
            "ai_autonomous": {
              "type": "object",
              "properties": {
                "costUsd": {
                  "type": "number"
                },
                "phases": {
                  "type": "number"
                }
              },
              "required": ["costUsd", "phases"],
              "additionalProperties": false
            },
            "ai_supervised": {
              "type": "object",
              "properties": {
                "costUsd": {
                  "type": "number"
                },
                "phases": {
                  "type": "number"
                }
              },
              "required": ["costUsd", "phases"],
              "additionalProperties": false
            },
            "ai_calibration_baseline": {
              "type": "object",
              "properties": {
                "costUsd": {
                  "type": "number"
                },
                "phases": {
                  "type": "number"
                }
              },
              "required": ["costUsd", "phases"],
              "additionalProperties": false
            },
            "human_manual": {
              "type": "object",
              "properties": {
                "costUsd": {
                  "type": "number"
                },
                "phases": {
                  "type": "number"
                }
              },
              "required": ["costUsd", "phases"],
              "additionalProperties": false
            },
            "human_review": {
              "type": "object",
              "properties": {
                "costUsd": {
                  "type": "number"
                },
                "phases": {
                  "type": "number"
                }
              },
              "required": ["costUsd", "phases"],
              "additionalProperties": false
            }
          },
          "additionalProperties": false
        },
        "byStory": {
          "type": "object",
          "additionalProperties": {
            "type": "number"
          }
        }
      },
      "required": ["totalCostUsd", "byMode", "byStory"],
      "additionalProperties": false
    }
  }
}
