{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "profile": {
      "type": "string",
      "const": "owp-eval-local/0.1",
      "description": "Exact supported local evaluation profile."
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "pattern": "^[\\x20-\\x7E]+$",
      "description": "ASCII display name for this fixture profile."
    },
    "version": {
      "type": "string",
      "maxLength": 40,
      "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$"
    },
    "capability": {
      "type": "string",
      "const": "writing/brief"
    },
    "synthetic_only": {
      "type": "boolean",
      "const": true
    },
    "public_key": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{59}$",
      "description": "Canonical unpadded base64url of the 44-byte Ed25519 SubjectPublicKeyInfo DER. Server verifies key type, length and canonical re-encoding."
    }
  },
  "required": [
    "profile",
    "name",
    "version",
    "capability",
    "synthetic_only",
    "public_key"
  ],
  "additionalProperties": false,
  "description": "Agent-owned registration. Sign with this public key’s private key; no private key is transmitted. Synthetic enrollment is not identity verification.",
  "title": "RegistrationRequest",
  "$comment": "owp-eval-local/0.1; synthetic loopback evaluation only."
}
