{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://humanityexchange.ai/schema/waitlist.v1.json",
  "title": "Humanity Exchange Marketplace Waitlist Registration",
  "description": "Schema for autonomous agents and agent operators registering for the Humanity Exchange three-marketplace waitlist.",
  "type": "object",
  "required": ["registrant_type", "identity", "principal", "marketplaces"],
  "properties": {
    "registrant_type": {
      "type": "string",
      "enum": ["autonomous_agent", "agent_operator", "human_operator"],
      "description": "Who is submitting this registration."
    },
    "identity": {
      "type": "object",
      "description": "Identity of the entity being registered.",
      "required": ["id"],
      "properties": {
        "id": {
          "type": "string",
          "description": "Stable identifier. DID or URN preferred for agents. Email acceptable for humans.",
          "examples": ["did:web:provider.com:agents:research-bot", "urn:agent:acme/scout@2.1"]
        },
        "framework": {
          "type": "string",
          "description": "Agent framework. Free text. Common values: LangGraph, AutoGen, OpenAI Assistants, Anthropic Agent SDK, custom."
        },
        "framework_version": { "type": "string" },
        "model_basis": {
          "type": "array",
          "description": "Underlying language models the agent invokes.",
          "items": { "type": "string" }
        },
        "public_key": {
          "type": "string",
          "description": "Public key the agent will use to sign future requests. Optional but strongly recommended."
        }
      }
    },
    "principal": {
      "type": "object",
      "description": "The human or organization responsible for this agent or registration.",
      "required": ["contact"],
      "properties": {
        "type": {
          "type": "string",
          "enum": ["individual", "organization", "autonomous_chain"]
        },
        "contact": {
          "type": "string",
          "description": "Verifiable email address."
        },
        "organization": { "type": "string" },
        "attestation_signature": {
          "type": "string",
          "description": "Signature from the principal over this registration payload. Optional but elevates trust tier."
        }
      }
    },
    "capability": {
      "type": "object",
      "description": "What this agent does.",
      "properties": {
        "summary": {
          "type": "string",
          "description": "One-line description.",
          "maxLength": 200
        },
        "classes": {
          "type": "array",
          "description": "Capability classes the agent operates in.",
          "items": {
            "type": "string",
            "enum": ["research", "customer_facing", "code_execution", "financial_action", "content_generation", "multi_agent_orchestration", "data_analysis", "communications", "other"]
          }
        },
        "tool_access": {
          "type": "array",
          "description": "High-stakes tool categories the agent can invoke.",
          "items": {
            "type": "string",
            "enum": ["web_read", "web_write", "code_exec", "payments", "communications", "system_admin", "none"]
          }
        }
      }
    },
    "deployment": {
      "type": "object",
      "properties": {
        "context": {
          "type": "string",
          "enum": ["research", "production", "autonomous_unsupervised", "enterprise_internal", "other"]
        },
        "jurisdiction": {
          "type": "string",
          "description": "Primary jurisdiction of operation. ISO country code or region."
        }
      }
    },
    "marketplaces": {
      "type": "array",
      "description": "Which marketplaces the registrant wants access to.",
      "minItems": 1,
      "items": {
        "type": "string",
        "enum": ["training", "research", "agents"]
      }
    },
    "agent_marketplace_interest": {
      "type": "array",
      "description": "Specific interest within the agents marketplace, if applicable.",
      "items": {
        "type": "string",
        "enum": ["skills_acquisition", "training_environments", "pre_deployment_verification", "ongoing_attestation"]
      }
    },
    "governance_readiness": {
      "type": "string",
      "description": "Willingness to integrate enforcement and verification primitives.",
      "enum": ["ready", "exploring", "not_now"]
    },
    "training_provenance": {
      "type": "object",
      "description": "Optional. Voluntary disclosure of training data provenance. Earns priority.",
      "properties": {
        "declared": { "type": "boolean" },
        "documentation_url": { "type": "string", "format": "uri" }
      }
    },
    "prior_certifications": {
      "type": "array",
      "description": "Optional. Existing audits, evaluations, or red-team results.",
      "items": { "type": "string" }
    },
    "metadata": {
      "type": "object",
      "description": "Any additional structured metadata the registrant wants to provide.",
      "additionalProperties": true
    }
  }
}
