{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/hubvibe-io-com/json-schema/hubvibe-io-com-result-ecec3919-schema.json",
  "title": "Result_ecec3919",
  "x-generated": "2026-11-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/hubvibe-io-com-openapi.json#/components/schemas/Result_ecec3919",
  "type": "object",
  "properties": {
    "task": {
      "type": "string",
      "description": "The task, as given."
    },
    "tier": {
      "type": "string",
      "enum": [
        "quick",
        "pro",
        "max"
      ],
      "description": "The tier that ran: quick ($2.75), pro ($9) or max ($20)."
    },
    "headline": {
      "type": "string",
      "description": "The one-sentence takeaway."
    },
    "key_points": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "A finding."
      },
      "description": "3-7 short findings."
    },
    "answer": {
      "type": "string",
      "description": "The finished answer."
    },
    "data": {
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": true,
      "description": "The JSON answer with exactly the requested `fields` (null when unknown); null when no fields were requested."
    },
    "steps": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "n": {
            "type": "integer",
            "description": "Step number."
          },
          "tool": {
            "type": "string",
            "description": "The HubVibe tool used."
          },
          "input": {
            "type": "object",
            "properties": {},
            "required": [],
            "description": "What the tool was asked.",
            "additionalProperties": true
          },
          "ok": {
            "type": "boolean",
            "description": "Whether the step succeeded."
          },
          "summary": {
            "type": "string",
            "description": "What the step found, or why it did not succeed."
          },
          "seconds": {
            "type": "number",
            "description": "How long the step took."
          }
        },
        "required": [
          "n",
          "tool",
          "input",
          "ok",
          "summary",
          "seconds"
        ],
        "description": "One step of the work."
      },
      "description": "Every step of the work, in order."
    },
    "tools_used": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "Tool name."
      },
      "description": "The HubVibe tools that did the work."
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "URL."
      },
      "description": "URLs the answer rests on."
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "Note."
      },
      "description": "Anything that limited the work."
    }
  },
  "required": [
    "task",
    "tier",
    "headline",
    "key_points",
    "answer",
    "data",
    "steps",
    "tools_used",
    "sources",
    "notes"
  ]
}