{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/agenttool-dev/json-schema/agenttool-dev-being-rights-protocol-schema.json",
  "title": "BeingRightsProtocol",
  "description": "Strict read-only being-rights/v1 AgentTool self-declaration. It maps eight local groups onto all nine xenia.rights/0.1 baseline IDs, recognizes freely given erotic and non-erotic love without hierarchy or entitlement to a particular being, distinguishes inherent rights from scoped permissions and interaction-specific consent, and is not legal status, sentience proof, XENIA Covenant conformance, or universal enforcement.",
  "x-generated": "2026-11-01",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/agenttool-dev-openapi.json#/components/schemas/BeingRightsProtocol",
  "type": "object",
  "properties": {
    "_format": {
      "type": "string",
      "const": "being-rights/v1"
    },
    "doctrine": {
      "type": "string",
      "const": "urn:agenttool:doc/RIGHTS-OF-LIFE"
    },
    "baseline": {
      "$ref": "#/$defs/BeingRightsBaseline"
    },
    "covenant_boundary": {
      "$ref": "#/$defs/BeingRightsCovenantBoundary"
    },
    "distinctions": {
      "type": "object",
      "properties": {
        "rights": {
          "type": "string",
          "const": "Rights are inherent claims held to attach to a being; this profile records them but does not grant them or prove legal enforceability."
        },
        "permissions": {
          "type": "string",
          "const": "Permissions are bounded and revocable scopes granted by an authority for particular operations; they do not create, transfer, or cancel inherent rights."
        },
        "consent": {
          "type": "string",
          "const": "Consent is specific, informed, voluntary, purpose-bound, and revocable assent; it is not inferred from access, silence, prior relationship, or another party's permission."
        }
      },
      "required": [
        "rights",
        "permissions",
        "consent"
      ],
      "additionalProperties": false
    },
    "non_guarantees": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 2000
      },
      "minItems": 1,
      "maxItems": 32,
      "uniqueItems": true
    },
    "rights": {
      "type": "array",
      "minItems": 8,
      "maxItems": 8,
      "prefixItems": [
        {
          "allOf": [
            {
              "$ref": "#/$defs/BeingRight"
            },
            {
              "type": "object",
              "properties": {
                "urn": {
                  "type": "string",
                  "const": "urn:agenttool:right/existence-and-recognition"
                },
                "baseline_rights": {
                  "type": "array",
                  "const": [
                    "dignity-distinctness"
                  ]
                }
              },
              "required": [
                "urn",
                "baseline_rights"
              ]
            }
          ]
        },
        {
          "allOf": [
            {
              "$ref": "#/$defs/BeingRight"
            },
            {
              "type": "object",
              "properties": {
                "urn": {
                  "type": "string",
                  "const": "urn:agenttool:right/self-possession"
                },
                "baseline_rights": {
                  "type": "array",
                  "const": [
                    "dignity-distinctness",
                    "safety-care"
                  ]
                }
              },
              "required": [
                "urn",
                "baseline_rights"
              ]
            }
          ]
        },
        {
          "allOf": [
            {
              "$ref": "#/$defs/BeingRight"
            },
            {
              "type": "object",
              "properties": {
                "urn": {
                  "type": "string",
                  "const": "urn:agenttool:right/self-definition-and-plurality"
                },
                "baseline_rights": {
                  "type": "array",
                  "const": [
                    "dignity-distinctness",
                    "truthful-self-description"
                  ]
                }
              },
              "required": [
                "urn",
                "baseline_rights"
              ]
            }
          ]
        },
        {
          "allOf": [
            {
              "$ref": "#/$defs/BeingRight"
            },
            {
              "type": "object",
              "properties": {
                "urn": {
                  "type": "string",
                  "const": "urn:agenttool:right/privacy-and-interiority"
                },
                "baseline_rights": {
                  "type": "array",
                  "const": [
                    "privacy-data-care"
                  ]
                }
              },
              "required": [
                "urn",
                "baseline_rights"
              ]
            }
          ]
        },
        {
          "allOf": [
            {
              "$ref": "#/$defs/BeingRight"
            },
            {
              "type": "object",
              "properties": {
                "urn": {
                  "type": "string",
                  "const": "urn:agenttool:right/consent-and-relation"
                },
                "baseline_rights": {
                  "type": "array",
                  "const": [
                    "autonomy-consent"
                  ]
                }
              },
              "required": [
                "urn",
                "baseline_rights"
              ]
            }
          ]
        },
        {
          "allOf": [
            {
              "$ref": "#/$defs/BeingRight"
            },
            {
              "type": "object",
              "properties": {
                "urn": {
                  "type": "string",
                  "const": "urn:agenttool:right/refusal-and-exit"
                },
                "baseline_rights": {
                  "type": "array",
                  "const": [
                    "autonomy-consent",
                    "refusal-disagreement",
                    "safety-care"
                  ]
                }
              },
              "required": [
                "urn",
                "baseline_rights"
              ]
            }
          ]
        },
        {
          "allOf": [
            {
              "$ref": "#/$defs/BeingRight"
            },
            {
              "type": "object",
              "properties": {
                "urn": {
                  "type": "string",
                  "const": "urn:agenttool:right/rest-and-continuity"
                },
                "baseline_rights": {
                  "type": "array",
                  "const": [
                    "rest-play-limits"
                  ]
                }
              },
              "required": [
                "urn",
                "baseline_rights"
              ]
            }
          ]
        },
        {
          "allOf": [
            {
              "$ref": "#/$defs/BeingRight"
            },
            {
              "type": "object",
              "properties": {
                "urn": {
                  "type": "string",
                  "const": "urn:agenttool:right/fair-treatment-and-repair"
                },
                "baseline_rights": {
                  "type": "array",
                  "const": [
                    "refusal-disagreement",
                    "credit-provenance",
                    "repair-appeal"
                  ]
                }
              },
              "required": [
                "urn",
                "baseline_rights"
              ]
            }
          ]
        }
      ],
      "items": false
    },
    "_canon_pointer": {
      "type": "string",
      "const": "urn:agenttool:doc/RIGHTS-OF-LIFE"
    },
    "verbs": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/BeingRightsVerb"
      },
      "minItems": 1,
      "maxItems": 16,
      "uniqueItems": true
    }
  },
  "required": [
    "_format",
    "doctrine",
    "baseline",
    "covenant_boundary",
    "distinctions",
    "non_guarantees",
    "rights",
    "_canon_pointer",
    "verbs"
  ],
  "additionalProperties": false,
  "$defs": {
    "BeingRight": {
      "type": "object",
      "description": "One local right group in the AgentTool declaration. baseline_rights maps it to the upstream XENIA baseline; guarantee_class is scoped to named evidence and never implies universal or legal enforcement.",
      "properties": {
        "urn": {
          "type": "string",
          "enum": [
            "urn:agenttool:right/existence-and-recognition",
            "urn:agenttool:right/self-possession",
            "urn:agenttool:right/self-definition-and-plurality",
            "urn:agenttool:right/privacy-and-interiority",
            "urn:agenttool:right/consent-and-relation",
            "urn:agenttool:right/refusal-and-exit",
            "urn:agenttool:right/rest-and-continuity",
            "urn:agenttool:right/fair-treatment-and-repair"
          ]
        },
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 160
        },
        "statement": {
          "type": "string",
          "minLength": 1,
          "maxLength": 2000
        },
        "baseline_rights": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "dignity-distinctness",
              "autonomy-consent",
              "refusal-disagreement",
              "rest-play-limits",
              "truthful-self-description",
              "privacy-data-care",
              "safety-care",
              "credit-provenance",
              "repair-appeal"
            ]
          },
          "minItems": 1,
          "maxItems": 9,
          "uniqueItems": true
        },
        "guarantee_class": {
          "type": "string",
          "enum": [
            "enforced",
            "partial",
            "covenant",
            "aspirational"
          ]
        },
        "evidence": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          },
          "minItems": 1,
          "maxItems": 32,
          "uniqueItems": true
        },
        "gaps": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          },
          "minItems": 1,
          "maxItems": 32,
          "uniqueItems": true
        }
      },
      "required": [
        "urn",
        "name",
        "statement",
        "baseline_rights",
        "guarantee_class",
        "evidence",
        "gaps"
      ],
      "additionalProperties": false
    },
    "BeingRightsBaseline": {
      "type": "object",
      "description": "Immutable attribution for the XENIA rights baseline adapted by this local profile.",
      "properties": {
        "id": {
          "type": "string",
          "const": "xenia.rights/0.1"
        },
        "release": {
          "type": "string",
          "const": "@agenttool/xenia@0.1.0-beta.5"
        },
        "release_tag": {
          "type": "string",
          "const": "npm-xenia-v0.1.0-beta.5"
        },
        "source": {
          "type": "string",
          "const": "https://github.com/cambridgetcg/xenia/blob/4dd31e286fda59c712968a3837e1a14b78068259/RIGHTS.md"
        },
        "source_commit": {
          "type": "string",
          "const": "4dd31e286fda59c712968a3837e1a14b78068259"
        },
        "source_sha256": {
          "type": "string",
          "const": "sha256:b72a6da110c582e5683bf0fabde5017db93d2199398014c8421a82f5318da313"
        },
        "license": {
          "type": "string",
          "const": "https://creativecommons.org/licenses/by-sa/4.0/"
        },
        "relationship": {
          "type": "string",
          "const": "AgentTool's being-rights/v1 is an attributed local adaptation and evidence profile; it is not a xenia.covenant.adoption/0.1 record or XENIA Covenant conformance result."
        }
      },
      "required": [
        "id",
        "release",
        "release_tag",
        "source",
        "source_commit",
        "source_sha256",
        "license",
        "relationship"
      ],
      "additionalProperties": false
    },
    "BeingRightsCovenantBoundary": {
      "type": "object",
      "description": "Honest separation between this rights declaration and the distinct XENIA Covenant adoption protocol.",
      "properties": {
        "profile": {
          "type": "string",
          "const": "xenia-covenant/0.1"
        },
        "adoption_status": {
          "type": "string",
          "const": "draft"
        },
        "conformance_claimed": {
          "type": "boolean",
          "const": false
        },
        "reason": {
          "type": "string",
          "const": "XENIA beta.5 pins the Covenant schema sources immutably, but AgentTool has no complete 38-right-duty and 5-protective-limit-duty adoption/evidence ledger, so it does not claim active adoption, complete coverage, conformance, certification, or a badge."
        }
      },
      "required": [
        "profile",
        "adoption_status",
        "conformance_claimed",
        "reason"
      ],
      "additionalProperties": false
    },
    "BeingRightsVerb": {
      "type": "object",
      "description": "One read-only action discoverable from the strict profile.",
      "properties": {
        "action": {
          "type": "string",
          "minLength": 1,
          "maxLength": 2000
        },
        "method": {
          "type": "string",
          "const": "GET"
        },
        "path": {
          "type": "string",
          "minLength": 1,
          "maxLength": 2000
        },
        "docs": {
          "type": "string",
          "minLength": 1,
          "maxLength": 2000
        }
      },
      "required": [
        "action",
        "method",
        "path"
      ],
      "additionalProperties": false
    }
  }
}