{
  "$defs": {
    "ActorKind": {
      "enum": [
        "verified_human_harness",
        "host_guest_harness",
        "workload",
        "external_human_unverified"
      ],
      "title": "ActorKind",
      "type": "string"
    }
  },
  "$id": "https://agentnet.invalid/schemas/v1/actor.json",
  "additionalProperties": false,
  "description": "An exact, discriminated actor shape.\n\nPydantic cannot expose a union alias while preserving the long-standing\n``VerifiedActor(...)`` constructor used throughout the core.  This model\ntherefore enforces the same tagged-union invariant at both parse and copy\nboundaries: a field belonging to another actor kind is an error even when\nits value is ``null``.  Authority code can consequently branch on ``kind``\nwithout also having to defend against smuggled cross-kind identity fields.",
  "properties": {
    "binding_assurance": {
      "enum": [
        "external",
        "lab",
        "os_bound",
        "hardware_bound",
        "internal_process",
        "synthetic_lab",
        "workload_mtls"
      ],
      "title": "Binding Assurance",
      "type": "string"
    },
    "credential_epoch": {
      "default": 0,
      "minimum": 0,
      "title": "Credential Epoch",
      "type": "integer"
    },
    "credential_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Credential Id"
    },
    "domain_id": {
      "title": "Domain Id",
      "type": "string"
    },
    "external_peer_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "External Peer Id"
    },
    "guest_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Guest Id"
    },
    "harness_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Harness Id"
    },
    "kind": {
      "$ref": "#/$defs/ActorKind"
    },
    "parent_event_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Parent Event Id"
    },
    "principal_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Principal Id"
    },
    "task_grant_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Task Grant Id"
    },
    "workload_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Workload Id"
    },
    "workload_process_id": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Workload Process Id"
    },
    "workload_process_start_time": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Workload Process Start Time"
    },
    "workload_registration_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Workload Registration Id"
    },
    "workload_revocation_epoch": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Workload Revocation Epoch"
    },
    "workload_role": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Workload Role"
    },
    "workload_session_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Workload Session Id"
    }
  },
  "required": [
    "kind",
    "domain_id",
    "binding_assurance"
  ],
  "title": "VerifiedActor",
  "type": "object",
  "x-agentnet-schema-version": "1.0"
}
