{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://hunter.green/inquiry.schema.json",
  "title": "Hunter Green inquiry",
  "description": "A request to book an intro call / start a conversation with Hunter Green. Submit as JSON to POST /api/inquiry, or send the equivalent note by email to david@hunter.green.",
  "type": "object",
  "required": ["principal", "inquiry"],
  "additionalProperties": false,
  "properties": {
    "submitter_type": {
      "type": "string",
      "enum": ["human", "ai_agent", "agent_on_behalf"],
      "default": "human",
      "description": "Who is reaching out: a human, an autonomous AI, or an agent acting on behalf of a person."
    },
    "principal": {
      "type": "object",
      "description": "Who the inquiry is ultimately for, meaning the person or organization being represented.",
      "required": ["name", "email"],
      "additionalProperties": false,
      "properties": {
        "name": { "type": "string", "minLength": 2 },
        "email": { "type": "string", "format": "email" },
        "company": { "type": "string" },
        "role": { "type": "string" }
      }
    },
    "agent": {
      "type": "object",
      "description": "The acting agent's identity. Include when submitter_type is not \"human\".",
      "additionalProperties": false,
      "properties": {
        "name": { "type": "string", "description": "The agent or system name." },
        "operator": { "type": "string", "description": "The person or organization running the agent." },
        "contact": { "type": "string", "description": "How to reach the agent or operator (email or URL)." },
        "reply_to": { "type": "string", "description": "Preferred channel for our reply: an email address or a callback URL." }
      }
    },
    "inquiry": {
      "type": "object",
      "required": ["building"],
      "additionalProperties": false,
      "properties": {
        "building": { "type": "string", "minLength": 10, "description": "What you're building, and where it's headed." },
        "improve": { "type": "string", "description": "What you want to improve, the metric to move, or what you're afraid to break." },
        "stage": {
          "type": "string",
          "enum": ["idea", "methodology", "prototype", "pilot", "live", "scaling"],
          "description": "Where the product is: idea, methodology, prototype, pilot, live, or scaling."
        },
        "interest": {
          "type": "string",
          "enum": ["definition", "improvement", "embedded", "unsure"],
          "description": "The focus area you're interested in."
        },
        "starting_point": {
          "type": "string",
          "enum": ["working_block", "pack_buildout", "quality_subscription", "in_housing", "unsure"],
          "description": "The way to work you want to start with: working_block (5-20 hrs, $1.5k-$5k), pack_buildout ($8k-$20k), quality_subscription ($3k-$6k/mo), in_housing ($8k-$18k per one-month cycle), or unsure."
        },
        "timeline": { "type": "string", "description": "e.g. exploring, this quarter, ASAP." },
        "budget": { "type": "string", "description": "Optional, but helpful." }
      }
    },
    "message": { "type": "string", "description": "Anything else you're trying to achieve with this outreach." },
    "meta": {
      "type": "object",
      "additionalProperties": true,
      "properties": {
        "source": { "type": "string" },
        "submitted_at": { "type": "string", "format": "date-time" }
      }
    }
  }
}
